Daniel
Daniel

Reputation: 4324

JavaScript: RIA toolkit

I'm looking for JavaScript RIA toolkit. My requirements are: good look, free license and sane API. Any ideas?

Thats what I've found so far:

ExtJS

pros

  1. perfect look
  2. lots of widgets
  3. support for mobile platforms
  4. modular system
  5. embraces HTML5 and CSS3

cons

  1. costs money, expensive ($500+)
  2. very flat lurning curve. no quickstart guide (but thats already doesn't matter because of point #1)

QooxDoo

cons

  1. just ugly. looks like something that survived 90s and didn't change at all

Dojo

pros

  1. good look (not much themes, but thundra looks good)
  2. free licensing

cons

  1. too asynchronous (their AMD stuff)
  2. very unusual and cumbersome API that i can hardly call sane
  3. messy docs (i've found out what is their AMD only from #dojo irc channel)

SproutCode

pros

  1. MVC
  2. generators
  3. docs

cons

  1. templating that i don't need
  2. didn't find the way to put it in production w/o lots of dependencies
  3. still can't figure out how to create RIA w/o writing own styles and layouting

Wijmo

pros

  1. jQuery-based

cons

  1. costs money
  2. doesn't have layouts

Upvotes: 3

Views: 2540

Answers (1)

If you and your team are not very experienced in JavaScript and you aren't interested in investing your and your team's time into front-end technologies then your best bet will be (prioritized order):

  1. Ext JS

    • it's declarative, has MVP
    • since it's GPL licensed you can use it free of charge as long as you do not distribute your application outside of your organization. If you're a contractor and you give away the code copyright to your client than you client will be able to use it inside his organization.
  2. jQuery UI + any jQuery Grid plugin (if you need it)

    • jQuery has a massive community
    • it's easier to find people familiar with jQuery
    • it's totally free
  3. Yahoo UI

    • good community
    • lots of widgets, styling via CSS
    • best Accessibly support (if you need it)
  4. GWT

    • Java-based (and many Java developers love it)
    • harder to debug and to build complex layouts

However, I strongly suggest you to gain some knowledge and experience with front-end technologies, especially CSS. CSS is easy as long as you research some basic rules and patterns. You don't need to become a CSS guru to be able to do styling and layout proficiently.

So if you wish to learn front-end a bit or you have some experience with it my list will be quite different. Before picking the widget library I suggest you start off with some MV* framework.

  1. Backbone
    • MVP
    • a current trend leader, big comminity
  2. Knockout
    • MVVM pattern, data bindings
    • suits bigger teams of people with different degree of proficiency
    • integration with Microsoft web stack
  3. There are many others but the all are very similar to Backbone or Knockout

Given you've picked a framework here are your best widget choices:

  1. jQuery UI

    • great integration with all MV* frameworks
  2. Yahoo UI

    • best accessibility

And these libraries are very undesirable:

  1. Ext JS

    • totally circumvent all normal web-development practices, doesn't respect CSS
    • extremely hard to customize
    • harder to debug
    • non-free in case you want to distribute your application
  2. GWT

    • edit-compile-deploy-test loop is very long. Hard to work on fast speed.
    • hard to debug some cross-browser issues

As you can see both Ext and GWT are somewhat controversial. Use Ext if you know what are you doing, i.e. when your team isn't good at webdev and if you don't need to customize it's look and feel. In most cases some education and jQuery UI is a much better bet.

Upvotes: 4

Related Questions