Brian began developing applications for the Internet in 1995, and has continued to architect, design and develop Internet software for the last 11 years, including projects for IHG, IBM, Brighthouse, and Cox Target Media (Valpak).

Brian now works in Ruby on Rails full time as part of the team developing the two official web sites for Miley Cyrus.

Ruby On Rails



Excellent Free Ruby on Rails Book - Limited Time

I have purchased and read five Ruby on Rails books. My favorite of all of them is SitePoint’s “Build Your Own Ruby On Rails Web Applications” by Patrick Lenz. It’s an excellent book for beginners to Rails and for the next two months, SitePoint is giving it away free as a PDF.

Get the Free Book Now!

Ruby on Rails - Terms and Concepts

Ruby On RailsLearning a new language and a new framework can sometimes be overwhelming simply because of not knowing where to start, and due to the large number of new terms and concepts. I hope to help ease the learning curve by presenting here a brief overview of the most common terms and concepts you will see as you begin your Rails learning adventure. I will then follow with another post called, How To Learn Rails, which will present the reader with some step-by-step suggestions for getting started.

Update: I do hope to get around to writing some helpful tutorials on Ruby on Rails, but currently I’m working on a web site specifically for the Rails community that I think will be even more beneficial than anything I could write here. So until that is done and released, I probably won’t get around to writing the tutorials.

This is not a complete list of every term and concept, but I believe it is the right size list with the most important initial definitions.

Overview of Ruby on Rails
Ruby on Rails consists of two components. The core component is Ruby which is an object-oriented interpreted scripting language. It was created by Yukihiro Matsumoto and released in 1995. Rails is a web development framework built with the Ruby language. The framework was created by David Heinemeier Hansson, while working for 37signals on their product Basecamp, and released in July 2004.

In order to become a proficient Rails developer, you will need to learn both the Ruby language and the Rails framework, but it is such a well integrated framework that initially, you will be unaware of where one ends and the other begins.

Rails Terminology
By becoming familiar with the list below before proceeding on with further study, you’ll be more comfortable as these terms present themselves to you.

Model/View/Controller pattern
Usually referred to as MVC, this is a pattern that goes back beyond web applications, but today is most commonly used in reference to a web application. The idea behind this pattern is to have a separation in the application between three distinct functionalities: the Model, the View, and the Controller. The Model represents information that you are using in your application. In an Object Oriented language this is commonly represented by classes. The View is the user interface that is used to interact with that data. This could be an interface written in HTML, Flash, or any other technology used for the interface. The Controller responds to user interactions and in turn, performs various operations on the Model, including causing it to persist (such as in a database), be redisplayed in a different format, or any of a number of other functionalities.

All modern web development frameworks are based on MVC and Rails is no exception.

full-stack framework
A framework means the foundational functionality or the “frame” for a web development platform. This frame is usually built on top of an existing language, such as Java, PHP, C#, and in our case Ruby. This frame provides the developer with the basic functionality needed to produce a web application. Rails is a framework for Ruby, thus the name Ruby on Rails.

The full-stack term is used by the Rails promoters and community to describe their belief that the Rails framework is complete and provides the normal functionality you will need while developing the majority of web applications. Many frameworks will not provide all the functionality needed, but only the core functionality. In many frameworks, you may spend a large amount of time getting, learning, and configuring third party libraries and solutions to fulfill very important elements of common web applications. But Rails’ goal is to provide functionality for the developer to eliminate the redundant development of the same web framework tasks over and over. This includes creating the user interface, dealing with business logic, persisting data into the database, and everything in between. All of it, already working together, without the need for the developer to figure out how to configure these elements.

Read the rest of this entry >>

Welcome to Ruby on Rails

Ruby On RailsFor the past six months I’ve had the pleasure of working with Rails in my spare time. I’ve read several books, and written several applications for personal use. Soon, I will begin to put most of my spare time toward a Rails application I hope to release to the general public. As well, I will begin to share more of my Rails experiences on my blog. (Watch for new posts on getting started with Rails, like Ruby on Rails - Terms and Concepts).
I remember well the early days of cgi programming when I wrote my first Perl web applications. Then I transitioned to some kind of Oracle web procedures (I forget the real name) for some larger applications for Fortune 500 companies first getting onto the web (ex. Lucent Technologies). Eventually I did Flash and Java applets as they first came out. I made the move to Java (beyond the little applets I’d done) when Sun released the first beta specs of JavaServer Pages, in late 1998. In fact, thanks to the beauty of Internet archives I found this post written by none other than myself while working at Cox Target Media in 1999. (Guess I don’t have to worry about proving I’ve been doing JSP since it first came out). I have been involved in Java web application development ever since. I didn’t take an interest in .NET, and didn’t pay much attention to ColdFusion. I’ve done some PHP, mostly for small solutions and to customize my WordPress blogs. But, for 99% of my web software development in the last 8 years, I have stayed committed to Java.

When I took my second look at Rails about six months ago, and this time, really tried to discover what it was all about, I was really hooked. It made simple so many of the common every day tasks I’ve been doing for years. Ruby really made sense as a language and Rails as a framework. I have a lot to compare to it, and so far I’ve been very impressed with how well thought out it is.

In this series of Rails posts, I’m not going to take time to bash Java or any other languages and frameworks. I still believe Java is a great development platform that fulfills real software development requirements. However, I don’t feel like Java is the solution in every case. I count myself as an Internet Software Developer, not as a Java Developer. I have experience with many tools, and I prefer to choose the right tool for the job at hand. I’ll leave when I would use Java vs Rails to another discussion, as the focus of these posts will be on sharing my Rails experiences, and hopefully helping some other interested Internet Software Developers get their first taste of Rails development. This will not be a discussion of which is the best development platform, but instead will simply be me sharing with you, this new exciting and beautiful web application framework. I truly haven’t had this much fun developing web applications in a long, long time.

Rails vs Java Video

Here is the first of four videos produced by Jason Hawkins, using the style of the famous Mac vs PC ads to humorously, and dare I say, oh so accurately, compare Rails to Java.

Note: Ok, its not completely accurate. If it were, there would be another tray full of jars stacked on top of the existing one, supported by the first layers of jars, such that if one were removed the entire stack would collapse.

Trawlr: A RESTful, Rails-powered online feed reader

Note: I haven’t touched on it much on my site, but I will in the coming weeks. I’ve become a huge fan of Ruby on Rails and have been doing a lot of coding in it during my spare time. It has brought back the fun I used to have developing Internet software from years ago.

Ruby Inside has posted an interview with the developer of Trawlr, Ben Smith. Some of my favorite highlights are:

Almost all the readers I looked at kept each feed separate and behaved like email where you had to keep marking items or feeds as read to prevent a huge, overwhelming backlog.

The way I use RSS is to subscribe to a large number of feeds (over 300) and then simply ‘dip in’ and read when I have time.

When I first discovered the REST features in Rails (via DHH’s “World of Resources” presentation) I didn’t really get it. Once I started to understand that REST is all about modeling ‘things’ and their relationships by creating rich associations it started to make sense.

The additional benefit of using the same code to respond according to the requesting user agent is a major bonus. Within trawlr I mainly use the REST features to keep the code DRY for different response types; rss and opml being two current examples. In the future I hope to add a mobile version.

Read the entire article at Ruby Inside.

« Previous PageNext Page »


Close
E-mail It