I spent the last 2 days attending the No Fluff Just Stuff Symposium here in Austin. I had a great time. Yesterday I spent the whole day listening to Dave Thomas, author of various Ruby and Rails books. Good content and presentation by Dave.
While I had read about Ruby and Rails in the past, Dave presentation opened my eyes – Ruby on Rails rocks, wow. I grabbed a photo (using my cellphone) of Dave's Ruby for Java Developers presentation, where he was comparing Java (web) vs. Ruby and Rails – I thought it was an interesting slide:
Later in the evening I saw Stuart Halloway introduce their Streamlined Ruby Studio – pretty slick tool that helps developers create an initial end-to-end base web application; I was pretty impressed with Streamlined.
The day before I also saw presentations by David Geary on JavaServer Faces (JSF). JSF seems finally mature-enough to be used, and it is an improvement over Struts. Moving forward I will be looking at JSF and possibly leveraging it in lieu of Struts.
I will be experimenting with Ruby on Rails very very soon, and will use Ruby and Rails on an upcoming project that I have. While Ruby on Rails was the “wow” for me this weekend, it might not be for everyone. Rails is heavy on naming conventions and assumptions (which is the power behind it's simplicity), and some people will feel uncomfortable with such assumptions. At the same time, it is all very flexible, and behavior that you don't like, you can override. I do still have a number of questions related to performance and security that I will try to research in the near future.
Last but not least, some words on Ruby and Rails from the mobility perspective… Ruby and Rails seems like a great tool for the web/server side of mobile (browser-based, hybrid, or standalone) applications, and/or services. The ability to quickly create a functional web-based server application and/or service, complete with standard web-services, or AJAX-like (partial data snippets) XML requests web-services, or plain old HTTP get/post resource retrieval, with back-end (relational DB) persistence, dynamic markup language generation, and a decent-looking (via Streamlined) administration web interface, again, all very quickly created with minimal coding, is just too good to ignore… The simplicity of Ruby and Rails and Streamlined is not only about quickly creating web/server-based applications, or services, but also about reducing the developer's learning curves, and about simplifying the maintenance part of the web application/service, which also are big wins.
ceo