Please note, I mean no disrespect to anyone, anything. Whatever I said was my thinking from my view point. I don’t feel everyone should/will agree with me. Everyone view is based on multiple factors. This post is about my view, my thoughts and I’m not claiming my thought is correct but yes, they will not change soon.

Why I’m writing this? I recently posted a tweet, tweet was:

Worried about #codeIgniter future, one of my favorite frameworks. Let’s see how it goes ahead. Started learning #laravel for worse case.

While writing it my target audience was just few friends who follow me and occasionally reply. However I was surprised when my mailbox filled with quite a few mail like @xyz replied, @abc retweeted  etc. One reply was from Taylor Otwell. His reply was:

@kapilsharmainfo @CodeigniterCMS i think you mean best case? 😉

Those who don’t know him, he is author and lead developer of Laravel; One of the most popular and probably one of the best PHP frameworks right now. I follow Taylor, his site, blogs, twitter; I’m his fan and wanted to be like him. Still Taylor, sorry but it was not typo. I mean worse case. Please, let me explain.

There were few other replies as well, few of them were:

Learning Laravel is the best case scenario. I came from CI and Zend. Laravel is much better.

Coming from CI myself I must agree

 

worst case? That’s upgrading mate…

 

Yes I agree with everyone. Developer within me agrees. Professionally I’m Technical Architect in a software company, I as Technical architect agree. This month only, I’d taken few official sessions about Coding standards, Code Sniffer and Test driven development. Laravel, as I read at many places, is one of the best examples of TDD. How can I disagree with anyone of you? Yes, I agree with everyone.

But after office hours, I’ve one more personality. I’m weekend developer. As weekend developer, I work on quite a few personal client projects, some personal projects. These projects are not enterprise apps, but apps that are targeted to be finished during 1-3 weekends. Weekend developer within me does not agree with any of you.

Let me first point out what my requirements are. As weekend developer, I stole time from my wife and 16 month old daughter. Whatever time that I’m able steel, I’ve lot of things to do like some learning which is needed to fulfill official/professional responsibility, some personal clients, some personal/open source projects etc. So total time I have for these projects is approximately 10 hours/weekend.

Most of these projects have to be hosted on shared hosting. Well I’m not saying Laravel cannot be hosted on shared hosting but I’m also not sure. It might be but I didn’t have time (better say interest) to try that myself. I know it is negative thinking; I accept that but can’t help.

Code Igniter had served me greatly since last 4-5 years. Still not switching to other framework was not because I’m afraid of learning. If a person had learned Synfony and Zend, if a person is professionally working as technical architect on Zend based project, I guess he is not afraid of learning. Well reason is WIIIFM (What is in it for me?) The reason is lack of enthusiasm and high learning curve.

So Taylor, this might be interesting for you, if you want to target people like me which make more than 75% PHP community (Probably more than 95% in Indian sub-continent/Asia) in terms of headcount (well less than 10% in terms of $$$). Let me agree all these numbers are pure guess work; I don’t have any statistics, just personal experience depending upon people around me. However numbers are not important, what is important is that people like me are big part of PHP community, at least in head count. Despite of all the problems, there is a huge community behind Code Igniter (I know it is reducing) and most of them are people like me. Again by community, I mean users who use framework for real projects. People like me who work on enterprise project (and mostly use Zend/Symfony) as professional but on micro projects personally and mostly use CI, CakePHP etc. For middle level projects, people at least in India prefer Drupal/Joomla/Wordpress more than any framework.

So question is where Laravel and probably Yii do fit?

  • Enterprise projects: Well that decision is not in my hand but most enterprise clients/employers prefer Zend and few remaining prefer Symfony. What professional value will I get by learning Laravel?
  1. Small-medium projects: Well companies in Indian subcontinent user CI, Cake PHP, Laravel, Yii and many more frameworks but the companies work on such projects are not capable to sign the paycheck that I need.
  2. Medium-Large projects: They can pay me but they prefer CMS more than Framework and I personally hate CMS.

Laravel is great, laravel is using latest and best technology but still, at least in Asia, Laravel do not fit in financial market. I know there will be a strong opposition of this view but I’m speaking about Indian market, where I’ve to earn my bread and butter. Again there are exceptions everywhere but one cannot go with exceptions when his bread and butter are at stake.

So it is not about my like and dislike. A developer within me want to learn Laravel, Yii and all other frameworks, all technical material and knowledge available but a ‘Son’, ‘Husband’ and ‘Father’ with me stops me.

Still I said, “Started learning Laravel for worse case.” Here I’m not saying Laravel is worse case. By worse case, I just mean if there is no future development on Code Igniter, which is probable after latest post on CI site “CI is searching new home”. In that case, I’ll need some framework for my personal projects and if I’ve to learn new framework, Laravel is obvious choice. If there is no further development on CI, I’ll get a motive to learn laravel. Or if Laravel gets better documentation, I’ll not have any reason to avoid Laravel.

Again, why it is difficult right now? Everyone says laravel have good documentation but I personally do not feel that. Current form of documentation are fine for micro framework like CI but laravel is not micro framework. Just plan some open source project like jobeet in Laravel and then laravel documentation will be good for me. Long documentation without examples is always difficult for me.

To conclude, two main reason why I didn’t went through laravel till now are:

No motivation (WIIIFM). Specially due to time invested due to average documentation.

Not forced to learn it. (CI, Zend, Symfony are still serving my purpose, both personally and professionally)

Final thought, I know many will not agree with me but I’ve no preferred framework. For me, framework is just a tool to achieve business requirements. If someday Laravel proved to be best tool to achieve my business requirements, I’m sure it will take me 2-3 days max to learn laravel but with current motivation and documentation … I’m not sure.