Get in Touch with Free Air

info at facollective.com

(308) 380 5740

10 ways to Rapid Development

By Robert on May 28th, 2009

Often times when you think about rapid development you think about what frameworks you are using to make the development process fast. While frameworks help a great deal, it doesn’t stop there when you need to push out products quickly - especially prototypes.

At FACollective we primarily use Ruby on Rails for our web development framework as well as jQuery - we also use Erlang and other languages. These two frameworks aid in rapid development, however we can’t push things out as fast as we do if we stopped there.

Here are a 10 quick tips to expedite your development time:

1. When developing anything/everything always think about code reuse. If you can reuse that piece in other parts of your current application or in other applications, take the time to make it into either a plugin or a gem.

2. Rails Generators. A lot of people will tell you you’re doing it wrong if you are using the scaffold generator or any generator. They’re full of it and it is simply not DRY. Write your own generators that covers the 80% of what you’d normally add to any project and use it. It is better to have a good starting point immediately then spend that time rewriting the same setup for every app you work on.

3. Rails Templates. At the end of 2005 I wrote a Gem that would setup your rails apps with the normal things you’d always add to your apps: testing, authentication, users, etc. As of this year, Rails has added Templates which makes this pretty easy. Use them. We employ a few templates that will build out accounts, plans, user management, authentication, ecommerce, blogs, etc. From there, we customize it to suit the application’s needs.

4. jQuery Plugins. You’ll find that you will write the same JavaScript code over and over for applications: flash messaging that shows up and then fades out, hover animations, ajax forms, ajax links, etc. Make them all plugins with options that you can easily pass in to change certain behaviors.

5. Tools. We find that we create a ton of gems for things and we like our gems setup a certain way. So, we created our own gem to create them how we like them. Bash scripts and gems are awesome for taking care of those little things that you repeat often. We use Bash scripts for aliasing ‘rails’ to create a new rails application using a template which pulls from a local version of rails 2.3.2 - which is always kept current. We also use Shell Scripts for various build processes.

6. Deployment. Capistrano or Vlad are great for deployments to various servers. Add your generic recipes to your Templates so when you create a new rails app you have your recipes to get started.

7. Freeze Everything. When collaborating with others, freezing your gems and rails to specific version in your application is a huge time saver for them and for you. Do it.

8. Form Builders. This has been a huge time saver for us. We have settled on specific HTML blocks for all of our forms which provides a lot of flexibility via CSS. So, we created a Form Builder for this and use it everywhere. Since most applications are just a bunch of forms, this has saved us a ton of time.

9. Extend Rails when needed. There are times when you need specific functionality in various areas of rails, that rails does not include. Take the time to extend rails in a plugin that you can reuse in other applications. Not only can you reuse this in other applications, but you will have saved a lot of time in maintaining that piece of code, especially if you are using it in various areas of the applications.

10. Experiment. Experimentation is vital for any programmer or designer, IMHO. It breeds creativity, motivation, and is a nice break from the mundane. People will tell you that you need to keep yourself focused when working on project, which is true, but if your mind has already wandered off on an idea, you’ve already lost focus. I’ve found that it is best to follow that idea for a small bit of time because you won’t ever have that same insight and motivation for that idea again. Experiment with it to keep yourself motivated in your craft and you might possibly learn something that you didn’t know, which ultimately makes you better at what you are doing anyways.

What development practices do you employ to build applications rapidly?

Categories: Development, Free Air Collective

Comments: 5 comments


5 Responses to '10 ways to Rapid Development'

Subscribe to comments with RSS or TrackBack to '10 ways to Rapid Development'.

  • Kelly Brown said:

    The article is ver good. Write please more

    on 12 Jun 09 at 10:20 am

  • JaneRadriges said:

    I really like your post. Does it copyright protected?

    on 13 Jun 09 at 1:26 pm

  • KattyBlackyard said:

    The article is ver good. Write please more

    on 14 Jun 09 at 5:05 pm

  • KonstantinMiller said:

    I have been looking looking around for this kind of information. Will you post some more in future? I’ll be grateful if you will.

    on 6 Jul 09 at 10:14 am

  • CrisBetewsky said:

    It’s a masterpiece. I have never thought people can have such ideas and thoughts. You are great.

    on 6 Jul 09 at 10:58 am

  • Leave your remarks