Immersing into JavaScript Frameworks

During the last month my colleagues and I were immersing into the world of modern JavaScript frameworks. We didn’t start from scratch though. My business partners spent the first 5 years of this century porting PowerBuilder, a used-to-be-popular client server tool, to a JavaScript framework. That product was called XMLSP and you can still find its 5-year old version online. The word AJAX was not even invented back then. In 2006, a killer UI framework Adobe Flex 2 was released and we started using it. It was clearly better than any AJAX offering, and I was not shy in publishing blogs and articles explaining its superiority to any AJAX solution available at the time.

Flex remains a great solution for developing UI for the enterprise Web applications, and our company,Farata Systems, is committed to support any client who decides to hire us for any Flex/AIR Web/Desktop/Mobile project. But the world of software and hardware is hugely different in 2012 comparing to 2006. And we are stepping into the same JavaScript river once again.

Well, it’s not exactly the same river. It was renamed. The authorities replaced the old road sign AJAX with HTML5, but let’s not get fooled. It was DHTML ten years ago, and it remains DHTML now: HTML, JavaScript, XMLHttpReuest object, and CSS. But the modern Web browsers employ faster JavaScript engines, CSS is a lot more flexible, smart phones come with dual core CPUs, the speed of WAN is faster too (ok, just a little bit).

More and more enterprises are adopting HTML5/JavaScript, but software architects and developers are still looking for the features available only in the VM-based clients. Will an XYZ JavaScript framework manage client state, support atomic transactions and provide server-side push? Will it offer declarative UI programming, flexible layouts, rich component library, good event model? How many extra kilobytes has to go over the wire to the client if you use this framework? Will the XYZ step up to MVC, modularity, and reliable communications? What are the requirements for the developers’ skills? Is the learning curve steep?

Sounds familiar, isn’t it? We had to solve these issues in the past, and we’ll do it again. Promise. After spending some time trying to pick THE JavaScript framework that can address all these demands of serious Web applications, I can report that you won’t be able to find THE framework. But the good news is that by combining more than one framework you’ll be able to create a well performing and reliable Web application.

Based on on the research conducted in the underground labs of Farata Systems, I can report that our JavaScript framework of choice is Ext JS by Sencha. This framework can serve as a solid foundation for any serious JavaScript development. We’ll also use a couple of more lighter frameworks on as needed basis.

I’m also happy to report that we’ve created an alpha version of our Clear Data Builder (CDB) tool that will offer automatic code generation for JavaScript/Java CRUD applications with transactional support and other goodies that will substantially increase the productivity of JavaScript developers. CDB won’t be an alternative, but rather a compliment to any JavaScript framework.

In a couple of months we’ll publish the first demo that will show an automated generation of a CRUD application using use Ext JS, CDB, MyBatis, and Java. Why MyBatis? Because we like writing SQL, but the demo that uses Hibernate will come shortly after. We already started a new consulting project to prove that we can eat our own dog food, and this food has a good taste.

Yakov Fain

13 thoughts on “Immersing into JavaScript Frameworks

  1. Thanks for the post Yakov. A lot of shops are at the same situation, specially seasoned Flex shops like yours (and mine). We are also in the midst of looking back at JS in lieu of recent Flex announcements. We are still committed to the Flex right now, but the future sure looks a bit iffy.

    Now a quick question, “why ExtJS and not JQuery?”, not expecting a lengthy comparison, just a short answer, if that is possible. We’ve looked at both and could not really pick a winner, so I wonder why did you choose ExtJS.

    cheers,
    julio

  2. I followed farata system and other blogger (jamesward) and both are moving away from a flex platform. It is not like flex as a framework has issues but adobe is sourced of all problems. I feel how AOL and Netflix kill themselves rather rival did something. I am not sure. What’s wrong with corporate culture in general in IT sector (Yahoo is another prime example of same)

    I hate JS some moved to flex thinking it is good option for RIA (still it is but not sure how long). Now back to days when I was looking at Ext_JS as new and upcoming framework to mature and leader (wish I had stick with that)…

    • We are not moving away from Flex, but because of Adobe’s poor PR, pretty soon we’ll become the only Flex shop in town. We are just adding more tools to our toolbox.

  3. News: Farata picks bloated javascript framework from large corp because of its similarities to Flex. *yawn*

  4. Rather than Sencha, I’d love to see Farata throw its weight behind up-and-coming stacks, like Node.js + Express + Mongodb.

  5. Hi Yakov,

    Thank you for sharing your thoughts.
    I am assuming you have looked at YUI.
    From what I know, YUI is on par with what Ext JS offers at least from the UI scope but I am sure that
    there are other differences that made Farata to lean towards Ext JS.
    So I was wondering if you could share your thoughts on that?

    Again thank you!

  6. Yakov, it is kind of ironic considering the very first blog entry on this site in 6 years ago: http://flexblog.faratasystems.com/2005/12 .

    ash, there is no need to develop anything over light libraries or say we adopt them – you just use them when necessary – but low level libraries solve the problems they are created for and should not be used for anything else unless it is natural fit.
    Sincerely,
    Anatole

Comments are closed.