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.
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.
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.
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.
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.
Maybe design snobbery isn't as important as designers think it is.
And yes, the web is definitely something to be proud of.
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.
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".
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.
web sites are content centric and made for consuming it.
web apps are interaction centric and made to "do" something.
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.
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).
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..
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.