Move to data-driven decision making with my new NPS survey software.
All my readers receive 10% off for life with code: ian
February 22, 2012
Last November ('11), I ran across a relatively new PHP framework called Laravel. At the time I was researching the various PHP frameworks in order to get a clear picture on the current state of things. I've always used CodeIgniter in the past and was generally very happy with it so I hadn't bothered to keep pace with frameworks over the last few years.
I've used CodeIgniter in several back office systems, but HelpSpot (our main product) doesn't use a framework at all. It was created before any of the major PHP frameworks (crazy!).
However, I was researching what's out there because I wanted to move us onto a framework if it made sense to do so. For HelpSpot, but also for other products we may create in the future (as all entrepreneurs do, I have a mighty list of ideas close at hand).
I went through the usual suspects: CodeIgniter, Zend, Symfony 2, Fuel, Slim, Silex, etc etc. All have their pluses and minuses, none really captured my imagination. Only a few make really great use of PHP 5.3+'s capabilities and those are the ones I liked the least both aesthetically and conceptually for our particular use cases.
Then one day I ran across Laravel. Instantly I was hooked. It had just the right combination of simplicity, power and elegance that I was hoping for. It was young for sure and missing some key elements, but still the core was there. More impressively, there was already a budding and enthusiastic community around it.
Now, at the time I was researching frameworks I was also in the process of trying to find and hire our first full time developers at UserScape (besides me). As I researched further, I found out that Laravel was the work of just one person, Taylor Otwell. He was working on it nights and weekends after his day job.
I've come to since find out that Taylor wasn't really a PHP guy, working primarily in .NET before deciding to pickup PHP a few years back. I think a great deal of why Laravel is so unique is due to that fact. He learned PHP at 5.3+. Most people you see working on PHP frameworks have been around since 4 and before.
That rather unique trait (along with those other useful traits like ingenuity, hard work, a knack for making complex things simple) to me is the key. It's why he was able to come at the problem from a new direction with a clean slate. Not just the simple thing of not supporting PHP < 5.3, but not knowing PHP < 5.3 means he was unencumbered by all that mental debt :)
Now even though I'm not that bright, I can put two and two together. What if I tried contacting this fellow and see if he might be interested in joining UserScape where we could continue to develop Laravel and flesh it out for enterprise level development while also working on all the new hotness we have planned for the coming few years. And so he did!
Laravel at UserScape
So for the past few months we've let Taylor have at it working full time on Laravel to add all sorts of nifty new things that you'll be finding in Laravel 3. Our other new dev, Eric Barnes has also been working on Laravel, building out the Laravel Bundles application for sharing all your cool bundles and doing the design implementation for the new Laravel.com website.
It's been an amazing experience working with these two extremely talented guys for the last few months. I'm really proud of all they've accomplished in such a short time.
Our work on Laravel and in building on top of Laravel is also going to provide a mechanism for us to give back to the software development community in a much larger way than we've ever been able to do in the past. I personally find this aspect the most satisfying and am really looking forward to what I consider a whole new chapter in UserScape's evolution.
Laravel 3 is only the beginning.....
Laravel Version 3
I'm sure many of you have checked out Laravel 3 already, but if you haven't here's some of the highlights:
- Create compartmentalized bits of functionality for your own applications and when appropriate even share them on the bundle site
- Database Schema Builder
- Command Line Interface
- IoC container
- Integrated Unit Testing