NOTE: I am not an engineer. I am very good with HTML/CSS and I love jQuery. The following is from that point of view.
I was wondering what the state of RIA Frameworks were these days. Have more competitors popped up? How easy are they? As a non-engineer, I wondered if any were easy for me to use. As a Designer, I wondered if any have some kickass interaction design baked in? What frameworks are out there now?
- ExtJS. We use this at Marketo. Built pretty much for engineers, not css web developers. The sub-classing system makes code reuse very easy. The samples are fantastic. The API browser is fun to use and excellently designed. ExtJS really understands the subtleties of interaction design. The CSS is very easy to manipulate so you can have your own look and feel. As a designer, building an RIA with ExtJS has been very fun. Marketo is a much better application thanks to it.
- jQuery UI. This is pretty new and built on top of the best general purpose JS Framework around, jQuery. This is absolutely usable by regular web/html/css developers. It has a ways to go in terms of product maturity (graphic design, interaction design, features) but it is off to a great start. Besides, it is open source and free and incredibly easy to use.
- Flex. I have a friend who uses Flex. He has gotten quite good at it. I haven’t tried Flex builder in a long time. It seems to be targeted at RIA applications and not casual use. The pricing can be alot depending on if you need server-side components that come with it. I wish they had a FLex-Lite which was targeted at CSS people like me. I would love to write something that looks like XHTML/CSS and have it render in Flex. I hate cross-browser testing.
- Silverlight. I have no idea how this works. Message to Microsoft: If you could make Silverlight easy enough for me to understand you would have a killer application. If not, it will get lost in the shuffle. Sorry. Message #2: Have a samples page with source. Give people an example of how it works. Wierd, I can’t seem to make it work in Google Chrome.
- OpenLazlo. This works alot like Flex, but is open source. The syntax reminds me alot of ZK Direct RIA (Below), except the output is Flash versus HTML. I wonder what the current state of SEO is for Flash pages.
- ZK Direct RIA. I just saw this today. The samples page was nice. Shows real examples with the source. It says that it is open source, but its unclear if there is any pricing. The source looked like XML, so it wasn’t that hard, but I couldn’t see easy ways to customize.
- Thinwire. It came up first in google. Open Source and free. Terrible (non-existant?) website, so I really can’t tell how it is used. Clearly targeted at programmers. Hmm, are there really alot of ecclipse engineers making RIA apps? Why haven’t I seen the actual products?
- Active Widgets. This has been around for a long time. The syntax looks really hard to me. A little pricey. Anyone using this?
- Backbase. Nice website. It took me a little while to find the hello world. Holy Crap! That is intensely difficult. Next!
- Dojo Toolkit. I am sure there are engineers who love Dojo, but the complexity is so hard for me to understand. It’s not as bad as Backbase, but it’s close. All of these are hard. It’s a pattern.
- Yahoo User Interface Library. We used to use this in the early early early days of Marketo. Has Yahoo been standardizing on this library for all internal sites? YUI is easily recognized by its insane use of namespacing. Some people love this. The interaction design on YUI is not bad. They liked big target buttons, which I enjoy too.
- SmartClient. UPDATE: I wrote up an individual review.
- Qooxdoo. Such a kooky name. Clearly targeted towards engineers. The Hello World made my head spin. I tried the demo browser. Very slow. And the interaction/graphic design is horrible. Look at the tree. Come on, put a little effort in.
- WaveMaker. I think this used to be called TurboWidgets. I can’t seem to find a Hello World example.
- Have a Hello World example ON THE HOMEPAGE! Why do I have to search for this? It’s the clearest, most simple advice I can give. Show what it is like to use the framework quickly. Don’t make me hunt around for it and then get confused when I just want a simple idea of what it is like to use your framework.
- Have an examples link on the homepage. Not complicated examples. Simple examples with source code. If I am shopping around for a framework, keep it simple and informative. Don’t try to WOW me with complexity. Wow me with simplicity.
- Have an API browser. Why isn’t this obvious? This is NOT a PDF file. Use your own framework to make an API browser. Eat your own dogfood.
- Make your website in your own framework. Eat your own dogfood!
- Differentiate. They all look the same, so you need to make sure you stand out somehow.
Whatya think?