One of the biggest problems with the web platform is that we've spent the last 20 years trying to shim applications into a document framework. HTML was designed to help academics share research papers, not to replace native thick-client applications, yet that's the direction it's been evolving towards.
I'm really happy to see Web Components (inc. Polymer, Angular, x-tags, and React) landing into HTML. If we accept that web apps != web pages at a spec level, hopefully we can build an awesome platform on which to create tools that leverage all the great parts of the web (linkable, available, auto-updating, device-agnostic) without the mess that we've made trying to make the web do something it wasn't designed for.
The current fad of quasi declarative web components looks like early Ext to me, and I think everyone knows how that turned out.
I really wish we took it back to a document approach. True REST, everywhere! That's new and novel. Frameworks that build in behaviors with static html - that's just a poor mans gui toolkit. I suppose the web will have go through the task of figuring out its just another in a long line of mistakes. It's like people want to rebuild xslt but badly.
I've also used Ext and FB React certainly reminds me of it. The biggest problem with ExtJS is that it wanted to be my class system, my service layer, my UI, my CSS, my everything. The APIs were convoluted. Then they switched to MVC when that was cool, but it was kind of a kludge.
Surprisingly, Angular seems to get functional modularity. Directives and filters are easily sharable, very good examples of modular components that can just be simple functions. The other part I really like in Angular is that a model is just data. Got an array? Sure, that can be a model.
I keep waiting for the point where I feel like those dirty Angular devs tricked me into using their framework, but it hasn't happened.
+1. You phrased a lot of exactly how I feel about AngularJS. I went through the React tutorial in order to compare the resulting code to AngularJS side by side. I'm holding back my thoughts until I have a chance to learn more about it, but in the mean time, a comparison of the code required to make the same app is a good start.
While SenchaTouch is definetly the best for mobile web-apps, Their framework is definetly too heavy, and becomes less and less practical espcially without their IDE. AngularJS has a better take on the problem indeed.
web apps === web pages , no matter how people try to spin it , and it will always be that way , not matter how much layers we can pile on html and javascript.
It was never intended for anything else and the fact that one has to navigate between html documents proves it.
Try to create a "webapp" without an html page -> doesnt work.
the whole web model is about documents and links.
THAT SAID
it doesnt mean one cant do awesome stuffs with it.
But sometimes developpers forget the basic of HTML when developping javascript heavy products. I myself am working on a big modeling app for CS students with angularJS ( MV* ) and jquery (+ a ton of plugin). AngularJS makes it very easy and clean.
I'm really happy to see Web Components (inc. Polymer, Angular, x-tags, and React) landing into HTML. If we accept that web apps != web pages at a spec level, hopefully we can build an awesome platform on which to create tools that leverage all the great parts of the web (linkable, available, auto-updating, device-agnostic) without the mess that we've made trying to make the web do something it wasn't designed for.