I feel like these numbers may be skewed due to Ext's miserable documentation and inconsistent behavior. There simply isn't much good ext related info out there once you want to do anything complex (and thus one using Ext spends more time entering queries). I feel like >50% of my Ext related searches end up fruitless and I'm stuck banging on it till I can determine how it actually works (vs. how the docs might make you think it works).
It's not just you. Ext has grown into a gui toolkit unlike something like Smartclient which was born from gui toolkit experience. The Smartclient api makes WAY more sense in everyway and every method is where you expect it to be, unlike Ext which makes bizarre infruriating choices and results in you buying a cookbook in order to be anywhere near productive with it.
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....
ExtJs' documentation is amazing. I agree that the chart doesn't make that much sense compared to AngularJS or Backbone, but it is not about documentation.
Having lots of stuff in a doc page doesn't mean your docs are any good.
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.
Wow you think so? I think Ext is one of the more well documented libraries out there. When that fails, I can jump into the code directly and get even more info. And the code itself is very well documented.
I do. My experience has been that they are cryptic or just plain wrong on more than on occasion. I've seen a lot of places where there are comments correcting them or just pointing out that what they say is not what actually happens.
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.
KnockoutJS for me, its such a nice solution for the presentation view management. It also has some neat extension libraries, including external template engine, which loads rendering templates and caches them on demand.
I use Jquery dependent SammyJS for navigation management.
I have shell that manages loading view model/ views based on Sammy's intercepts...pretty happy, though I hear good things about angularJS, but it came along just a little too late for me to properly evaluate.
Second that. The recently updated Visual Studio Tools come with new MVC templates for single page apps using Durandal, which is based on Knockout and Sammy. There is also a node.js package and skeleton of Durandal. Durandal adds the missing parts to knockout and Sammy to make it compete in this field. If you add the "durandal" search term to the knockout chart line, it climbs above ember, deservedly.
I basically wrote a custom "durandal" to plug the missing infrastructure gap, however I must investigate durandal itself, i am sure it will add a little more sugar than my effort.
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 ).
Yeeeeaaah, this doesn't really indicate much of anything. All it reflects is number of searches for a specific term or combination of terms. Why do people do Google searches? They're looking for something or they're curious about something. One way to read the results is that Angular is difficult to learn--thus all the searches (for help, tutorials, documentation, etc.). Plus, if you add or subtract minor details like "js" or categories you get totally different results. And Backbone doesn't look remotely right. Relying on these trend graphs for anything is laughable at best. They're not even that interesting because they could literally mean anything depending on the framework. Some frameworks might incite a lot of curiousity but but easy to learn with great documentation (that reduces the need to Google for relevant material); Other frameworks might be difficult to use, difficult to learn, and have poor documentation...and thus require lots of Google usage.
Google Trends graphs without substantial analysis are just noise.
It is interesting that ExtJs is so much searched for than any other of the most popular frameworks. Specially since you don't hear much about ExtJs lately. AngulaJs though is getting close.
I hear a lot about ExtJs actually. I've been using their framework for complex Javascript systems for a while now and it keeps getting better and better. I can see they invest a lot of resources in it. Its not popular with the 'gimme it for free' crowd though. I agree its not for everyone though its a commercial project (albeit free with GPL licence for open source projects), but then again you do get what you pay for here - nothing else that I've seen so far (and I've seen a lot) even comes close in terms of polish. Another common extjs deterrent is that its a complete framework with all batteries included, and requires an investment in a new mindset as far as how to develop single page browser apps. I found it more similar to Java Swing apps or other Desktop tool kits than any other JavaScript framework.
Yes, I agree. I use extjs for our product (iKnode), but lately we have been moving towards AngularJs.
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.
Having programmed with extjs for 5 years my experience is that it is extremely popular in the corporate space, but never caught on in the open source space due to licensing. There are still many more corporate developers than open source developers, but they are far less vocal.
I heared they switched from LGPL to GPL suddently, which filled the devs with fear, I guess :\
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.
Note that they renamed the company from ExtJS to Sencha so some may be using that term instead (though adding Sencha doesn't make a huge difference: http://goo.gl/XXlnp)
I would argue all its momentum is from its initial beginnings as a truly open project. Notice it quickly loses that steam once the license changes start:
I think, from reading the chart, that ExtJs is pretty well stablished but loosing steam, and the new frameworks picking up steam, specially AngularJS.
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.
Extjs is extremely popular. It's a pain to debug and to learn , but it's kind of the most "enterprise" js framework out there. It's is "full stack" (as much as client side can be) and comes with it's own IDE ,etc ... People coming from java-x-entreprise solution and Flex are using quite a lot.
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.
It's exciting to see AngularJS's growth. I think there is a lot of hopefully merited hype out there for Angular as "the one we have been waiting for".
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.
Any idea why most of the world is completely blank on that map? Is there really nearly-zero javascript work done in South America, or do they just use a different search engine?
extjs seems to be very popular on Cuba compared to the rest of the world. huh?
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'.
Hopefully not. Knowing jQuery is no substitute for knowing Javascript, and you can see this problem with many developers who ask "How can I do x in jQuery" when all they need is JS. Bigger frameworks may hinder this development, because to use them, you need a better grasp of JS than for jquery. But I am already seeing "how can I do x in angular", so this may just be wishful thinking.
Or maybe I'm dense.