Why we use Rails for Client Projects.

Posted by Floyd Price Tue, 06 Jul 2010 17:44:00 GMT

At least 50% of the time a client will want us to use a specific technology (.NET or Java), this makes perfect sense as a lot of our clients are corperates who have invested a lot of time and money in a particular technology.

The great news for us, and the other 50% of our clients is that we choose to use Ruby On Rails whenever possible. The reasons are many, but a few of the more profound ones are:

Productivity

Thats right, we are about 2 (maybe 3) times more productive with Rails than .NET or Java, now this isn't because we are primarily Rails guys in fact I have spent many more years working with both .NET and Java than I have with Rails, the simple fact is that Rails gives us a head start as we get so much for Free.

This is profound in two ways, firstly and most obviously it costs the client less, and enables us to create better relationships. But this productivity gain also allows us to get functionality in front of the user quicker and as such we can identify requirement changes and fix bugs sooner, meaning we deliver better quality code first time.

Agile

We work in an Agile manor and while we can do this regardless of the technology we use, Rails lends itself to an Agile process perfectly.

Solid Design Patterns

Rails encourages the developer to employ consistant design patterns, the rails guys call this Convention over Configuration which promotes maintainable well tested code.

Separation of Concerns

Rails goes beyond Separation of Concerns by removing Concerns, Object Relational Mappers take out 1000's of lines of code that would take up 50% to 80% of the developers time, simple Routing patterns eliminate tones of boiler plate code.

The baked in support for Model View Controller means makes its easy to keep things in the right place.

Open

Over a 10 year contacting career I hit so many hurdles using web frameworks from commercial vendors, from the ASP.NET framework to JSF I found that whenever I wanted to bend these frameworks, they snapped! And the closed source meant that I was back to the drawing board having to invent an ingenues hack, Rails however is open source and the code (especially the rails 3 code) is well written and easy to extend (partly due to the Ruby language), I can easily bend it in any way I choose.

Database Agnostic

As I mentioned the Object Relation Mapper reduces a tone of code and save you even more time, but the abstraction from the database goes even further than that, A rails application written against MYSQL will work against any Database in production, in fact we have an app that is running on SQL Server for one client and Oracle for another, while we host it for other clients on MYSQL.

 

Just a few reasons why we use Rails, I hope you will too.

 


MySQL DDL Commands

Posted by Adrian Wed, 20 May 2009 20:43:00 GMT

Here at Component Workshop, we like to automate the management of our database systems as much as possible. We especially like to write tools that can compare and upgrade schemas. To do this, we need to access special data-definition information that was used to create the objects in the first place. This article briefly lists the commands you can use to do this in MySQL

With Oracle there is a dedicated DDL package for this very job. Microsoft's SQL Server used have the SYS tables, and now has the much improved INFORMATION_SCHEMA views.

MySQL does it a slightly different way, and the following commands are extremely useful:

SHOW TABLES;

Lists all tables by name

SHOW TABLE STATUS;

Lists all tables with additional information – date created, number of rows etc.

SHOW CREATE TABLE table_name;

Shows the CREATE TABLE sql statement used to create the table

SHOW COLUMNS FROM table_name; and
DESCRIBE table_name;

The two commands are equivalent. They list the columns for a given table in a results set, with type information and other meta data. You do not put quotes around the table name.

Finally, there is a simple way to rename a table:

RENAME TABLE current_name TO new_name;

About

We are a small British company that produces business-oriented software and solutions. These articles are a product of our daily work - information that we think might be useful to share. We hope you find them useful.

Our Software

These are some of our products. Several are open source, some are web-based and others are proprietary:

Categories

Archives

Syndicate

ml> ._trackPageview(); } catch(err) {} ml> l> pageTracker._trackPageview(); } catch(err) {} ml> ._trackPageview(); } catch(err) {} ml> l>