Google Trends: Javascript Frameworks
google.com
google.com
Or maybe I'm dense.
I bet you we could fund a kickstarter with angry ex-Ext users.
It's nice to hear that someone else finds Ext's choices hard to understand at times, I'm the only guy around here who needs to work with it so it can be hard to know when it is me and when it is something fishy.
Don't get me started about the almost completely undocumented "Sencha Architect" which overwrites any changes you make to code in another editor when you re open a project....
Just look at here: http://docs.sencha.com/extjs/4.2.0/
And they also have samples: http://www.sencha.com/products/extjs/examples/
I spent 2 years writing against the latest stable ExtJS. At about 3 months, I stopped using their docs for anything but cursory information: what methods does this class have of its own, what does it inherit, what is its class hierarchy, etc. That information is dynamically generated and typically spot on. The rest is generated by doc comments, and it's very hit or miss.
Instead, if I needed to know ANY details of a function, I clicked on the '.js' link on the right side of the page in the class hierarchy to load the .js file in the browser, then a quick cmd+f would show me what I needed to know, because I can parse consistently formatted JS faster than I can grok their vertically challenged documentation. JSDuck pulls inherited docs if function-level docs are omitted in a subclass, too, and sometimes they're just plain wrong because of that.
After about 6 months, I had committed to memory about 60% of Ext (all but the graphing bits, mainly, which I never used). I believe a good library is one that you don't need to worry about, ever. So naturally, being required to delve into Ext's source so often to me is unacceptable of something that is a paid product.
I would've been fine to fix so much in Ext, but it isn't developed in public via something like github, even though it's dual licensed, which meant the only way to do that was to post on their forums. No thanks. 4.x came a long way in rendering performance, but there were still critical paths that were untouched, including layout logic that determined when to perform layouts. They aren't required almost ever, but are used liberally, so while making the process faster is a benefit, the fundamental problem remains. A 200ms (for us, YMMV) layout problem was fixed (down to < 1ms) by a +5-0 change that added heuristics to determine when a layout was actually needed. This is a trivial change, and could be thrown in a PR at no cost. I'm not going to copy my code on the forums and hope someone at Sencha will manually merge that into whatever bleeding-edge version they have.
Note, this is all anecdotal- My adventures with direct proxies and nested layouts had me doing a lot of trial and error coding, this may not be a representative experience.
Basically I built a dal access layer based on promises for delegating to from my viewmodels. I also built a view transition manager into my app shell also, part of my core SPA framework.
I also added a bespoke option piece for hydrating routes. I have this api for my SPA called /public/routing and user/{id}/routing which returns the json config for API's for either anonymous or authenticated users. it is key on the Sammy Hash intercepts and provides me with the glue, i.e. what external view template should I transition too, what view Model should I load for this, also what API and Verbs are supported for the users role! its great, because my site admin can added routes on the fly, and its totally modular from a dev point of view, so if a new route can not be found, I just load the Empty View Template Placeholder (in development environment of course ).
Compare to category
Makes everything normalised to the searches related to the category "Computers and Electronics".http://www.google.com/trends/explore#cat=0-5-31&q=scala,...
Then go and check by city instead of region
I find it overwhelmingly eye opening
Google Trends graphs without substantial analysis are just noise.
But I agree, extjs needs a considerable amount of investment in time and mindshare, because of the way it is built. I actually like it very much. Hey I built my product based on it.
But lately I have seen extjs as old, and in need of love. AngularJs for example is easily lovable and easy to learn.
But yes, I use it for corporate software, since my company pays the license. Also it's strong in the table and charting parts, which are the butter and bread of many corporate devs.
But I guess it also includes people looking for the Japanese green tea https://en.wikipedia.org/wiki/Sencha
So the keyword still applies. Search for sencha might be mixed with other frameworks they have.
On the other hand, it started to rise in 2007 when ext.js 2.0 was released.
Now these trends focus on a world wide searches. If you look closely at the detail, the number of search for extJs in China, pretty much take the 90% of the searches. And in the U.S. extJs has practically no prescence.
If you look at the detail for AngularJS, most of the searches are in California, New York and India.
So it is really not the best trend analysis, but it does put the power of China into perspective.
Next to Extjs there is AngularJS , well known for it's dependency injection features and it's directives , and after that there is of couse Backbone.
But most of front-end devs dont use frameworks at all , it might not make sense for every project.
I never knew that Ext was as popular as the trend graphs suggest. Then reading through the comments there seem to be a number of people using them and enjoy using them (of course there are people on the other side, commenting against it).
Posts about JS frameworks on HB appear quite frequent and each time there is a healthy does of people saying that they LOVE it and then another group saying they don't like it.
Though some tools receives lots of hype, it just goes to show that there is no one solution here. At the very high level, all the frameworks are trying to achieve the same thing.
Ask the end-user if they are what frameworks are used - of course they don't! There's definitely more than one way to skin the cat.
I've tried a number of frameworks purely out of the hype and though learning them is useful, I think it makes sense to pick the right tool for you and not worry too much about what other people are doing.
My company has been transitioning away from Flex, and first we tried ExtJS. It worked well as a good direct translation from Flex, but none of us were fans of the heavily generated HTML. It felt to me very much like a plugin, built for dumping thick-app designs into a web framework. Our designers hated it.
AngularJS seems to give the best of both worlds, freeing designers to write pure HTML, while allowing developers to work at a level of abstraction away from the DOM.
Then trend with Angular is quite amazing. http://www.google.com/trends/explore#cat=0-5-31&q=knocko...
Embers: USA
Angularjs: India
Extjs: Cuba, china and then India
Knockoutjs: India
Backbonejs: India
My hypothesis is that this graphs shows what people want to learn, perhaps not what they are using. Although, Cuba just looks out of place.
if these graphs were about to mean anything or be relevant, it could possibly that the rest of the world is not that keen on instantly jumping into the next hot technology of the day. usually it takes time until the silicon valley hotness gets abroad. not judging, just sayin'.