[hcs-d] Recommendations for minimal web app framework

Keito Uchiyama keito at hcs.harvard.edu
Wed Dec 16 18:03:17 EST 2009

Hi Konstantin,

So I was actually in the same boat you were, as I was contemplating
various frameworks for the new Adams House website. First I considered
rolling my own framework, which I gave up after I realized would be
hard to maintain for somebody else down the line; I then tried using
Zend Framework, which was great but still needed a fair bit of coding,
then I finally switched to Drupal, after I realized that most of the
things I wanted to implement were implemented already and people's
general familiarity with Drupal.

I was wary of Drupal at first because older versions had been heavy
and unwieldy. However, I was pleasantly surprised at the speed at
which things ran in Drupal 6, and it seemed that a lot of work had
been put into optimizing things. I then started making my own
modifications and even writing my own modules, which I dreaded at
first. However, I realized that it was all very easy—hacking Drupal is
pretty easy. I did also find out, though, that a lot of the code, even
the standard modules, were written using various hacks that irked me,
and the Drupal support community (at least the people on IRC) seemed
not to care about such things, or didn't understand them.

So in your case, I'd first see if Drupal is right for you. But if it's
the case that the whole point of your project is your ability to write
your own code (rather than write it in the specific—and often
hacky—way that Drupal demands), then I would consider using Zend
Framework. ZF is a framework maintained by Zend, the company that
produces various PHP-related products (and the scripting engine
itself), and it's gaining popularity very fast.

The reason I suggest it for you is that while it's a framework, you
needn't use all of it; you can pick what you want to use from it. For
example, if you're interested in ZF's Google data-related APIs, you
can just use that; if you like ZF's MVC framework, you can use that;
you can see a list of all the components on the right sidebar of the
reference manual: http://framework.zend.com/manual/en/

In particular, many of your requirements can be handled by ZF; for
example, user account handling and sessions can be done by Zend_Auth
(and if you want, Zend_Acl). Slightly unfortunate is that ZF doesn't
have great documentation (the reference manual seemed rather terse to
me), but there are a lot of examples online, and many books on ZF that
you can get through the library's Networked Resources.

I've heard good things about Code Igniter and Symfony, but I haven't
used either. I've seen CakePHP code in action once, and I wasn't too
turned on but it, but I didn't actually try writing any code in it
myself. Maybe other people on this list have had experiences with
these frameworks?


On Wed, Dec 16, 2009 at 17:36, Konstantin Pozin <pozin at fas.harvard.edu> wrote:
> Hi,
> I'm working on a simple experimental web app, for which the technical
> requirements include:
> user account creation, with some profile data
> user email address confirmation
> login and maintaining sessions
> basic form handling
> and not much else. I don't want to reinvent the wheel, and I'm sure that if
> I were to implement this from scratch, I'd mess up one thing or another in
> terms of security. I don't need an MVC implementation, or content management
> -- my app's interface will probably just have a handful of custom-coded
> pages.
> So I'm looking for a web application framework (probably using PHP) that
> would provide me with those minimal requirements. I briefly considered
> Drupal, which I'm quite familiar with, but realized that it would be total
> overkill for what I'm trying to do, and some things might be harder to hack
> onto Drupal than even to start from scratch.
> Do you guys have any suggestions for an existing lightweight open-source
> framework that I could use? Some names I've come across are CakePHP, Code
> Igniter, and Symfony, but I haven't been able to figure out how well they
> would match my requirements.
> Thanks!
> Konstantin
> _______________________________________________
> hcs-discuss mailing list
> hcs-discuss at lists.hcs.harvard.edu
> http://lists.hcs.harvard.edu/mailman/listinfo/hcs-discuss

More information about the hcs-discuss mailing list