I listened to a great presentation by Larry The Liquid on REST last night at the Orlando Ruby Users Group meeting. Along with getting me hyped up about RSpec (and then leading to my lack of sleep last night working with it), Larry got me thinking about the future of web applications. DHH, in his Railconf 2007 keynote, discussed the further inclusion of REST in Rails 2.0. For Rails developers, RESTful coding means that we code once and have an instant API, able to be utillized by third-party applications via urls. REST, at least in the Rails world, is becoming the preferred method of creating an API. At ADS, more of our clients are asking us to add an API to their app to allow third-party access. Along with that, the REST style of coding is good practice, promoting the fat model/skinny controller philosophy.
In the 90’s, the ASP (application service provider) model sounded good, however, high-speed Internet was cost-prohibitive for most consumers. This has changed. According to a study performed by Parks Associates, high-speed Internet penetration is now at 50% and growing. This is good news for those of us creating web-based applications, and the folks that make their livelihood online.
During his keynote at Railsconf last week, Ze Frank informed us that people are authoring more content than ever before. Sure there is a lot of garbage out there, and services are emerging to help us wade through it to get to what we want, however let’s not get caught up in labeling the content, but rather look at it for what it is – expression and communication. People are expressing themselves through their creations, and communicating that expression using the Internet as their medium. One of the main points I glossed from Ze’s talk was that facilitating that communication is what it is all about. That is where success lies. Why else are social networking sites springing up left and right? We sit in front of our computers for more hours than we spend with our families. With IM, VoIP, email, online chat and more, the barriers to communication have been destroyed, as long as you have a computer to sit in front of that is. I regularly chat with developers from Canada, Poland, South Africa, Australia, and other parts of the world. It’s fabulous. But I digress. Let’s get back to the subject: the future.
While most of my Rails compatriots may not like hearing me say it, JRuby is very exciting, and I believe a jump in the right direction. It will help Ruby and Rails get more of a foothold in the enterprise space, and it demonstrates the convergence of programming languages. Frankly, I think language wars and continuous bickering are pointless. What does a CEO care about what language their apps are written in? What they want to know is how much will it cost, how fast can they get it, and is there support for it when it breaks? With Rails we can answer those questions with confidence. On a similar note, ThoughtWorks is addressing these issues with JRuby support. One other thought crosses my mind here too – large companies like Google don’t stick with one language, rather they use a combination of languages, using each for what it is best suited.
With more applications adding APIs, and the convergence of programming languages, the future looks good. I hope to see more languages working together to create truly awesome applications that I can easily tie into using Rails and Ruby. How do you all see it shaking out? Let me know. I look forward to your thoughts.




