Developers around the world have flocked to Ruby on Rails for its simple-to-use framework. Now, a pair of open source efforts are aiming to make it easier to get started with Rails and to get Rails apps properly deployed.
On the installation side, using the open source RailsInstaller has been one of the easiest ways to get Rails onto a developer's machine. RailsInstaller had been available only for Windows until late last week when it expanded to include Apple's Mac OSX as well.
"RailsInstaller for OSX gives you everything you need so you're ready to build Rails apps," said Dr. Nic Williams, VP Developer Evangelism at Engine Yard and author of RailsInstaller. "Those items include Ruby, Rails, Git and SQLite."
While RailsInstaller had been available for nearly a year on Windows, making a Mac version was no easy task. Williams explained that his development team had to start from the beginning to build an OS X version. At the core of the Mac version is the RVM project, which enables developers to install and manage a Ruby environment via the command line. What Williams and his team have done is wrap professional development tools around RVM.
There is currently no Linux version of RailsInstaller, though one could be in the works.
"The technical skills of Linux people mean they are generally more competent at installing software," Williams said. "That said, we do think there is a use for the Linux version and a lot of the work we did for the Mac version is directly applicable. So, I wouldn't be surprised if we ship a Linux installer in short order."
App Scrolls for Easy Rails Deployment
A key challenge for Rails developers on all platforms is the issue of bootstrapping when it comes to app deployment. That's where the App Scrolls effort -- also led by Williams -- might be a help.
"The idea behind App Scrolls, is that when you have a new project, you want everything set up from the start," Williams said. "So if you know you're going to deploy to a certain cloud, do everything that is necessary to be set up so you can deploy to that cloud."
To build the "scroll" with App Scrolls, developers place templates that define the required components in a designated folder. App Scrolls offers a command line task for building new scrolls that leverages the Thor scripting framework system.
"App Scrolls is a tool that can create databases and external systems," Williams explained. "The only thing it doesn't do is set up continuous integration."
However, setting up continuous integration via Jenkins or another CI tool is on Williams' list of things to integrate with App Scrolls. The future roadmap of App Scrolls is still somewhat in the air as the community around the project begins to take shape.
"Ultimately, my priority isn't about what I want to add, it's about ensuring the health of the project from a developer's perspective," Williams said.