6 ms·
Don't throw the baby out with the bathwater. Sure JS frameworks are often unnecessary, that doesn't mean they aren't solving real problems. The scope of appli
by dasil003 12y ago
Don't throw the baby out with the bathwater. Sure JS frameworks are often unnecessary, that doesn't mean they aren't solving real problems.
The scope of applications and interactivity found in today's browser-based apps today dwarfs what we were doing even 10 years ago. The amount of experience and expertise that is being codified in (for example) Ember.js is fantastic and will allow you write much richer web apps in far less code than trying to achieve the same functionality with it.
Saying just use JS directly is sort of like saying don't bother with Rails, CGI.pm has everything you could ever need.
- forrestthewoods 12y agoI've been seeing the term "web app" a lot lately. Not exactly sure why. Is a web app different from a website? I guess so probably maybe? I'm not really sure.
- jfaucett 12y agoIn my understanding, a webapp is essentially a "desktop-like" application for the browser, i.e. something like gmail or an online paint program, something that is interaction driven, will probably use websockets for giving a realtime feeling, etc. A website is the traditional static content, like a blog or a news site. Obviously, these are just relative and its a scale so there cross-over and sometimes its hard to define in exactly which category an app/site falls.
- gsands 12y agoquite different-- Web app, think Google Docs/Sheets. Web site, think blog, information landing page, or even web store product page(s). Web app is highly interactive (may or may not be an SPA single page app), relying heavily on javascript for UI events, saving/fetching application state, remote datasets, and sometimes making use of modern HTML5 browser features. Web site is displaying information and is just augmented with some javascript mostly for improving the UX or attaching analytics/social plugins etc.
- growse 12y agoGiven that this distinction is entirely subjective (no-one will be able agree on what a test that pigeonholes pages as a 'site' or 'app'), how is it a useful distinction?
- gsands 12y agoI totally agree web site and web app are used interchangeably sometimes -- I was just answering the op as to how I and many people I know classify them and their differences as they relate to the topic of the article, javascript.
- fithisux 12y agoFor me a web app is an HTML5 web page, that has its interaction logic coded in JS and presentation is done by altering HTML5 DOM and where JS uses REST to send/receive data. In other words as someone else noted, it is a sandboxed application with sandbox execution environment == browser IO == REST UI = HTML5 DOM manipulation of the same page A website (or server app) is a series of HTML5 web apps or HTML5 static pages (JS-less web apps) with navigation logic and inter-app state living in a server app.
- woah 12y agoWhy the emphasis on REST? Websockets tend to be easier for complex applications.
- JanezStupar 12y agoIs a "simple website" and a "complex website" a better distinction in your opinion? Thus I am a complex website engineer. It sounds ridiculous. The webapp developer is domain knowledge wise closer to traditional "application development" than to traditional "website development".
- forrestthewoods 12y agoAre sites like vox or gawker considered websites or web apps? Their custom CMS is quite expansive. How bout NYTimes? Is YouTube a web app or a web site? I'd be curious to know some examples on either side. Preferably several closer to the line but on one side or the other rather than far away.
- arethuza 12y agoA while back there was a lot of chat about "single page web applications" - I suspect people have simply condensed that mouthful into "web app".
- digitalzombie 12y agoIt's been around for a long time now actually. Web App are application like website. So instead of traditional application/program such as Quicken we got Mint.com now. It makes application OS agnostic now too. Web sites are bunch of pages that are hot link or connected via URL. Think of the old days of geocities, xoom, tripod, etc..
- k__ 12y agoI'd say web sites are content centric and made for consuming it. web apps are interaction centric and made to "do" something.
- Turing_Machine 12y agoI agree. Consumption v. production is a good way of looking at it. Note that this definition means that certain pieces of software could be considered either "sites" or "apps", depending on how they're being used. For instance, blog software like Wordpress would be a "site" for the readers, but an "app" for the person who writes the posts.
- k__ 12y agoA "product" can consist of different parts. One part is an editing software/gui and one part is a reading software/gui. Both working on the same data. Since both are used by different kind of users, I would design them as different programs (one a site and one an app).
- abnormalbrains 12y ago> The scope of applications and interactivity found in today's browser-based apps today dwarfs what we were doing even 10 years ago. I'd dispute that. 10 years ago we had pretty brilliant browser based apps. They just happened to be using flash or Java applets whereas now they're using javascript.
- reitanqild 12y agoA few examples would come in handy. The only place I can remember using flash and enjoying it was youtube. (And then only because there wasn't a better/standard way of playing videos.)
- abnormalbrains 12y agoThere were some pretty good multi-user flash games around 1999/2000, when things were just getting going. I can't remember the names though at the moment. It's only recently that graphics / audio / video / networking in javascript is almost as good as flash/java was 15 years ago! Sometimes it's easy to think we're on the cutting edge. But we're really not.
- dasil003 12y agoI'm sorry but the UX on Flash and Java plugin-based apps was horseshit. They were sluggish and encapsulated clumsily within the plugin sandbox so the integration to the browser was terrible. Yeah people did some amazing work on those proprietary platform when they were the only game in town, but it really doesn't hold a candle to what we have today in terms of a fully open and native web tech stack. If you want to be reductionist why not just say we haven't been on the bleeding edge since Lisp was invented and declare everything else derivative tripe.
- mike_hearn 12y agoThey were faster than browsers were at the time, that's for sure. Especially Flash. At one point no serious design-focussed website worth its salt bothered with HTML because Flash was so much better and easier to author. Heck it's probably still easier to author. The "open and native web tech stack" is something that evolved messily over a long period of time in a piecemeal fashion with little overall design vision. It's hardly something to be proud of.
- joesmo 12y ago> Saying just use JS directly is sort of like saying don't bother with Rails, CGI.pm has everything you could ever need. That pretty much sums up the article's stance on frameworks. Even with reusable components, there will be a need for frameworks because just using JS/CSS/HTML directly, one would essentially be creating a framework with each application. There are standard things that a framework encapsulates in any language or target environment which will be unnecessarily repeated and sub-optimally created if one decided to start from scratch on every application. I think the author misses this part completely. While learning a framework enough to start making things in it may take a day or two, creating a new framework because one hate using frameworks will take days to weeks and still likely leave desiring functionality they had not thought of or had implemented badly.
- chipsy 12y agoThis is also going to vary depending on the domain problem. If you're aiming to make something large and comprehensive, it helps to start "a bit too crude" so that every assumption you make at the start is grounded in the understanding of where you want to go later. But if you're pumping out microsites, a framework automates the process and makes it easier to maintain a large body of them.