News for hackers. Stuff that matters.
Re:Choosing the Right JavaScript Framework by bsaul on Thursday August 21, 2014 @12:03PM (#8208007)
Another framework i barely hear about and surprised me a bit recently is sencha/ExtJS. They're growing a lot in the enterprise sector, but they managed to keep pretty up-to-date relative to web/open sources projects such as angular.Eg they added two-way data binding in their latest version in a not-to-ugly way.

Anyone here got a real try on sencha (the full package, including sencha architect) recently ?

Re:Choosing the Right JavaScript Framework by moriarty-s3a on Thursday August 21, 2014 @12:10PM (#8208065)
Don't bother. It is many times larger and slower than any of the frameworks listed. Their code is also broken in "interesting" ways and there are lots of undocumented and semi-documented gotchas.

It got enterprise traction because they were early to the game and promised MVC. They were pretty good for a while, but the other frameworks have passed them by.

Re:Choosing the Right JavaScript Framework by Joeri on Thursday August 21, 2014 @01:09PM (#8208400)
I've been developing on the sencha products for years. Primarily an ExtJS single page app developed by a large team since 2008 that's now well on its way to 200.000 lines of code. I also wrote a 5 kloc app in sencha touch.

The thing about sencha that makes them different is that they abstract away the html and css parts to a large degree, by constructing the dom programmatically behind an abstracted component api (e.g., a panel component has a title bar, several toolbars, and multiple child components laid out using border, anchor, column or any of the other layout systems). The upside is that the ui controls are richer than standard html controls and require fewer lines to do advanced things (like having a field with server-backed autocomplete). The downside is that html+css skills don't translate well, if at all. Instead of thinking in terms of dom updates, html templates and style rules, you think in terms of the component lifecycle, the container layout system and themes. The skillset required is extensive and specific, and the code is so deeply tied to extjs that no part of it can be reused outside of it.

Some people like it, some people don't. You can't fight the framework. You have to adopt sencha's architecture and component system completely, or you will have a painful time. We have had to invest extensively in training because the framework is so different from other js frameworks that new developers have a hard time learning it.

As for the whole she-bang, sencha cmd, sencha architect and so on. I tried those tools several times, but they always lacked maturity. The last time i looked at it is 2 years ago though, so they may have improved. Meanwhile we just use the frameworks.

Update: I realized I didn't actually say whether I would recommend it or not. I would not choose ExtJS again, but I would choose sencha touch again, despite the API's being so similar. I feel like the use-case of writing a mobile cross-platform app fits in well with the sencha architecture and api, better than other js frameworks. By contrast ExtJS isn't bad, but it's no better than the free alternatives like ember or angular for building traditional web apps, so I don't see the point in spending the money on a license if you're starting from scratch.

Re:Choosing the Right JavaScript Framework by carsongross on Thursday August 21, 2014 @12:23PM (#8208130)
I've worked on two big projects using ExtJS and both of them were/are nightmares: the code is complicated, tied very deeply to the ExtJS infrastructure, if there's a bug you wait on Sencha and you are probably going to have to pay for an expensive consultant at some point.

Now, I'm pretty negative on client-side MVC anyway (see intercooler.js) so I'm probably not a fair judge, but if I were starting a project today that had to have a large client-side footprint, I'd avoid ExtJS.

I will say that ExtJS looks great OOTB and comes with a ton of widget functionality when compared with other options, so if you want to get something done really quickly with, say, a tree UI, that might be a reason to look at them harder.

Re:Choosing the Right JavaScript Framework by colinramsay on Thursday August 21, 2014 @12:21PM (#8208122)
I'm actually writing a book on Ext JS 5 Application Architecture right now - but it's still a while off publication. In comparison to the projects mentioned in this article you're kind of looking at the difference between and framework and a library really.

Compare Ext JS with something like Backbone and in addition to the way in which Backbone/Underscore helps you implement an MVC structure you've now got a whole host of UI widgets, a class/dependency system, an optional build tool in Sencha Command.

The things that you'd say were feature-matches from Backbone would be stuff like Controllers (and in v5 ViewControllers), but there's a lot of stuff (like refs) to help that work with the UI components. I'd say that where ever there's an equivalent feature in Ext JS it's going to be a lot more complicated!

This is a burden and a curse. Like the config system that was brought in for v4. Initially seemed like overkill, can occasionally be a godsend but when you're working on complex class structures can be a massive PITA.

On top of that you have the licensing costs and indeed the licensing itself which was something that put people off of Ext JS a few years ago when they changed it. Plus I suspect "enterprise" shops will be interested in Sencha Architect too, which bumps up the cost.

Sencha Command does wind me up a little bit because it feels like an opaque mess built on top of ant. I just wish they could use something like gulp and have each part be a little clearer. In fact if they opened it up to the community on github that might be enough, they're not charging for it so I don't see the harm.

Re:Choosing the Right JavaScript Framework by lightblade on Thursday August 21, 2014 @12:29PM (#8208166)
I develop with Sencha frameworks full time. The learning curve is on the same level as Ember, while not easy but still manageable, unlike many people want you to believe.

ExtJS component life cycle changed a lot form 4.0 to 4.2 and they refactored the code to be more like Sencha Touch. I guess this is the preamble to ExtJS 5, and it confuses a lot of people.

Sencha delivers on cross browser compatibility, since their layouts are all done by JavaScript. Trying to add CSS layout on top of that will break a lot of things. This is the so called "fighting the framework" people in Sencha community calls it. ExtJS 5 lets you develop desktop/touch hybrid apps for touch laptops. With smooth scrolling driven by touch event and transition, they work on Android as well (where it doesn't have WebKit overflow scroll touch)

Re:Choosing the Right JavaScript Framework by nkg on Thursday August 21, 2014 @12:33PM (#8208186)
I do ExtJS allll-daaay long, because my company built every back-office we made upon that framework. Pro: It looks and feels like a desktop application. B2B loves that! (And that's why we use it) Cons: It requires you to write gigantic blocks of code to get something up and running. + Many times you will say to yourself "they can't have forgotten THAT feature", and well, they did and you have to DIY