Framework Frenzy | How we chose a development framework


30 Jan Framework Frenzy | How we chose a development framework

When Treeveo became a real company the first technical challenge we faced was turning the minimum viable product (MVP) we had into a fully working product. The MVP was following the so called Spaghetti Code architecture, meaning this challenge involved reprogramming the whole application and implement a robust framework. Read on to find out which framework we chose. 

PHP Framework

Original blog post posted on: www.p-martins.com

We knew that the MVC architecture was the way to go and we also knew we would keep on using PHP since it was the language we had the most experience with. With no particular personal favorite, after a bunch of opinion articles, user comments and discussions with other startups in Wayra BCN, we pre-selected three frameworks, Symfony, Codeigniter and Laravel. One might ask “Aren’t plenty more choices out there?” Yes, there are (Zend, Cake, Fuel, just to name a few), but you have to start somewhere, or else you find yourself choosing the best framework instead of developing the best product.

In this quest we found that the discussions on this matter follows the pattern of the Iphone/Android discussion… bottom line is “it depends”! The best is to try “all” of them and find out which one suits you the best… so we did, by dedicating a total of 6 days developing with each framework, 2 days each, in parallel with some deeper research online.

Symfony

01_symfony-table

After reading and trying Symfony, we can say it’s definitely future proof. This framework offers stability, PHP latest features, useful libraries, engaged community, conferences and professional support… all in the same package. Nowadays Symfony is a standard in the world of PHP frameworks, it supports you in every little aspect.

One thing that’s worth mentioning is how many reviews and users’ comments make reference to the loading performance of this framework, stating that it’s slower than others. If you’re interested, take a look at Is symfony too slow for real world usage? which comes up with some valid points on why most performance reviews don’t work that way.

Codeigniter

01_codeigniter-table

Despite that in the last few months it seems that people have been bashing Codeigniter since it’s not using the latest PHP 5.3 features and some other bits, it’s still a super mature and reliable framework, offering a smooth learning curve. Apart from that, the web is full of contributions that try to compensate the lack of some useful stuff that would make sense to be included by default, such as HMVC modularization, template engine, Doctrine (loved by many) and some kind of a package management.

Laravel

01_laravel-table

Laravel seems to be the “new kid around the block” of frameworks. It offers simplicity and great functionality at the same time. Its community is growing significantly and consists mainly of smart developers who contribute actively. Laravel was actually included in this review since there’s a lot of buzz around it. It’s definitely becoming a reference, however it’s still too early to say if it’s here to stay.

What we were looking for

Apart from being stable and secure, in Treeveo we were mainly worried with how productive we could be with the chosen framework. By the time we made the choice there was only one person developing and we weren’t considering hiring experienced developers in such an early stage of the company. To play it safe and extract the most from newcomers, the chosen framework would have to provide a smooth learning curve, be well documented and one should be able to find answers to common questions “in the first page of results from google”.

Conclusion

The selection of a framework should depend mostly on the project requirements, the team’s experience and keeping it lean, i.e., you don’t want a canon to shoot a fly. The three frameworks have their pros and cons, but one thing is for sure, any of them will do a great job! Taking that into account, we decided that Codeigniter was the one which would fit the best. We knew we wouldn’t miss PHP 5.3 features at this stage of development and we could still mod the framework a little bit to include HMVC architecture and a template engine (SMARTY). Its simplicity, flexibility and contributions were the key points on this decision.

Almost 6 months after choosing the framework, we can say we are quite happy with it. The application has been fully recoded and the development has never been faster.

Paulo Martins
paulo@treeveo.com
No Comments

Post A Comment