Entries Tagged 'code' ↓

Happy birthday symfony

symfony

The symfony web application framework project turned two years old yesterday. Based on timestamps on our servers, my experiences with symfony date back almost three months. At that time I decided again to look for an object-relational mapping solution for my PHP coding. I found the effort of trudging up the mountain of writing my own at the beginning of a project made me exhausted when I got to the good stuff, the code that gives a site its soul. I say look again because I had looked a couple of years ago and found nothing that impressed me.

My search was quickly and richly rewarded. I found lots of glowing references for the symfony framework. Symfony is so much more than what I was looking for, but exactly what I was yearning for. If you haven’t heard of symfony, take a few minutes and browse through their site, look through their extensive and well-written documentation, and skim through the abundant user community contributions.

If you are wavering on adopting symfony, keep in mind that Yahoo! currently uses symfony as the framework for their Bookmarks site which boasts a user population of over 20 million. Rapid application development is nice, but being able to scale for the real world is everything. Yahoo! is also rewriting del.icio.us using symfony. This level of adoption for a relatively young framework is rare and speaks volumes about the current state and long-term viability of symfony.

For my part, I keep thinking that I couldn’t be more excited about symfony, but after each new revelation, I get a little giddier. After three months of coding with it, I cannot imagine going back to the way things were. Symfony allows my web applications to become what they always wanted to be but couldn’t because I lacked the time or ability. I’ve yet to come upon the first thing that I would change about it. Here’s my list of characteristics that I adore in symfony that I think someone deciding on a web framework should consider:

  • Awesome documentation – there’s already a well-written book (both hardcopy
    and web-accessible) that will quickly teach you what you need to know to become a symfony superstar.
  • Approachable tutorials – the first tutorial is pure candy — nearly trivial to try and a great appetizer — I’ve gotten several people in the past week to try it. Just download a complete symfony sandbox and get to playing.. no database setup required (SQLite included), no web server configuration required.
  • Scalability – You can write the world’s best application, but if only two people can use it simultaneously, well, only two people will use it. Yahoo! … 20 million users… built-in caching… enough said.
  • PHP5 and nothing but PHP – If you or your code monkeys already know PHP, they won’t need to learn another programming language.
  • Stand on the shoulders of giants.. standing on the shoulders of giants – symfony is built around several other mature and popular components. It uses Propel for object-relational mapping and Creole for database abstraction, for example.
  • Plugin architecture – Still not sure about Symfony? Look at the plugins page. Prefer Doctrine over Propel? There is a plugin that lets you use Doctrine instead. Want to create or digest RSS feeds? Want to add CMS or forum functionality to your application? There are plugins to do 99% of the work for you.
  • Don’t code, configure – Many mundane coding tasks are accomlished by editing simple YAML configuration files (YAML: think human-readable XML). If you have ever coded form validation tasks, look at this example of form validation using a YAML file. I abhor writing very similar code over and over. Web forms may be the worst example of this. Writing web forms in symfony is fun.

My experiences with symfony this far have been extremely positive. I’ll write more about the specific projects that we are deploying with symfony as we get them farther along. In the mean time, do yourself a favor and take a look at symfony.

Happy birthday, symfony, and many happy returns!

Catch us at the Future of Web Development conference

Future of Web Development 2007

David and I are attending the conference day of the Future of Web Development meeting this year in New York City. I make no effort to conceal the fact that NYC is my favorite place, so I’m doubly looking forward to this meeting. If any of you will be there, too, drop us a comment and maybe we’ll see you there.

I’ve been deeply immersed in Symfony development for the last few months (talk about life altering!) spooling up for some new projects and I’d definitely be interested in chatting with some fellow Symfonyers.. Symfonyites? I’ve started writing some Symfony recipes and I’ll be blogging about my experiences with it more in the near future.

Hope to see you in the Big Apple!

MAMPStack at BitRock

While perusing the development downloads at Apple a few weeks ago, I noticed an offering from BitRock called MAMPStack. I hadn’t heard the term MAMP before, but was more than familiar with LAMP (Linux, Apache, MySQL, and PHP). Substitute Mac for Linux and you’ve got MAMP. The folks at BitRock have put together some essentially one-click install packages for both LAMP and MAMP (click on their Web Stacks link). I’d bookmarked the link back when I saw it since I was much too chicken to install it on my iBook and have been looking forward to trying it on the new MB Pro.

It installed very quickly and, after following a few post-install steps, everything works fine. They even have phpMyAdmin, one of my favorite web apps, preinstalled. During the install process it asks for just a bare minimum of information (admin passwords). It includes a little rc script to start and stop one or all processes. I’m impressed by their packaging.

They have other intruiging items at their site as well. When I get a chance, I’ll definitely look into their other products. One thing that caught my eye was their multi-platform InstallBuilder which offers text, gui, and unattended custom installers for a nice selection of platforms.

MAMPStack is a great quick-start package for a lot of folks who have compiler-itis. Anyone who needs to tweak their install will need to follow their own path, but if you want a generic test and development platform on your Mac in 5 minutes, you can’t beat it.