The Design of Software (CLOSED)

A public forum for discussing the design of software, from the user interface to the code architecture. Now closed.

The "Design of Software" discussion group has been merged with the main Joel on Software discussion group.

The archives will remain online indefinitely.

Open source web application frameworks?

I've been lucky enough (dubious) to be asked to develop a fairly standard web application with a portal storefront front-end, web services middle tier, and integration with lots of outside systems for payment process, catalogs, order management etc. "No problem" I say, until I see the requirement is to have the project mostly working in a month using only open-source freeware tools. Ugh, I'm not knocking open-source, but all my recent work has been on microsoft solutions and I'm not sure where to start. Also, another requirement was no PHP/CMS portal apps like Nuke or Mambo.

So my question is whether there is a LAMP-based equivalent to  ASP.NET / BizTalk / CMS that doen't require me to write the whole thing from scratch and comes reasonably close to equivalent functionality. Before I get flamed, I have done my google diligence to figure this out myself, but I have not found an open-source web application framework that I (the clueless) could configure and implement in such a short amount of time. In fact most of the material I read was on the nuts and bolts of Apache modules, PHP libraries, and integration using Perl scripts.

Is there such thing a mature web application framework for open-source that can be quickly implemented or am I in fairytale land?
Confused Send private email
Friday, February 25, 2005
oscommerce may be a decent start.  It's PHP and not particularly clean.  The presentation layer is completely mixed in with the business logic, for example.

But hey, you only have a month.  You don't really have time to write anything.  Heck, you are pretty much out of time for _design_ already.
Chris in Edmonton Send private email
Friday, February 25, 2005
If you leave out the possibility of using Java-based frameworks, you still have several good options. Frankly speaking, for a certain types of web applications ASP.NET is good, for others the alternatives are way better.

There are four languages that you might consider working with: PHP, Perl, Ruby and Python. Among these, PHP is strictly for web-development but the rest are more-or-less general purpose.

I personally don't like the PHP programming language. It's as stupid as VBScript. If you use Python or Ruby, you would probably not want to return to PHP. About Perl, I don't like it either. It's really weird - your operators and context decide how the type will be used.

Ruby on Rails is a fairly decent web framework. It's new and not mature enough though. It might not be able to do all you want it to do.

Python is a decent programming language (so is Ruby, btw). If you're being adventuroous, try Python or Ruby. Otherwise, stick to PHP or Java. Unfortunately Python community has not been able to standardize on a web framework and Ruby on Rails will not be able to meet your requirements.

I wrote all this, because you can either choose between a better programming or a better web framework. If I were you, I would either try Ruby on Rails or try a combination of Apache/Mod_python/Python/Clearsilver.
Pythonic Send private email
Friday, February 25, 2005
Check out zope (  It is a python built framework for building web applications.  It looks promising.
Mike Send private email
Friday, February 25, 2005
I totally second Pythonic's advice. You should go with Ruby on Rails as soon as possible. You will get more help than you expect from the mailing list and IRC channel, along with lots of documentation. It's totally open source and you should save some time with this setup to give the project the finish touches in the allocated time. #rubyonrails
Rails has lots of momentum right now, as you can see at this weblog:
Friday, February 25, 2005
I'm doing pretty much the same thing...

Look into exponent:  It's much more flexible than Nuke and is much more user friendly.

I'm using osCommerce.  I'm not happy with it - due to issues noted above, but it'll work for our purposes.

Then I'll likely be integrating it with Drupal and/or phpBB depending on the requirements...

The pieces are all there.
KC Send private email
Friday, February 25, 2005
I haven't used it, but I'm surprised nobody has mentioned using PHP with the Smarty Template Engine.  It's heavily used and I've heard a lot of good comments about it, good documentation, active user community.
Herbert Sitz Send private email
Friday, February 25, 2005
There is the Prado framework for PHP5 ( which is a very ASP.NET-like framework.  I've been some ideas in it for my own PHP5 framework.

I've been doing development in PHP5 alot lately (vs. PHP4) and I really recommend it.
Almost Anonymous Send private email
Friday, February 25, 2005
An alternative to the Python-based Zope application is CherryPy, which was based on the same philosophy but keeping source code out of the database (much easier than working off the ZODB.)

But I have no idea how much work would be involved for the whole backoffice part. Surely, they don't expect you to have an ecommerce site up and running in a month while you have no experience with non-MS tools?
Saturday, February 26, 2005
Hey guys,

Thanks for the pointers. I'll definitely check out Ruby on Rails.

Sadly, yes they are expecting an eCommerce site in a month. Mostly because we've had unrealistic expectations in the capabilities of available tools in open-source for an end-to-end eCommerce solution .

I'm a little curious how come we're all re-inventing the wheel building these kinds solutions, but hopefully that will change.

Thanks again!
Confused in Seattle Send private email
Saturday, February 26, 2005
Smarty is templating engine, not a framework.

Within dotproject, we're looking at converting everything over to Smarty, but it's just taking a while.

* Core dotProject developer here.
KC Send private email
Saturday, February 26, 2005
Have you checked out and and
Saturday, February 26, 2005
". . . but hopefully that will change."

Hmm, well, that's a nice thought.  ;)

You might check out a commercial solution that packages up functionality you need and sells it with source code.  Here's an example of an ecommerce site written for PHP using Smarty:

Relatively inexpensive even including source, and if it does something close to what you want saves you a boatload of development time.
Herbert Sitz Send private email
Saturday, February 26, 2005
Zope is huge and complicated, but not necessarily bad. Another Python possibility is Nevow (, which is much simpler to use but has less done for you.
Brendon Send private email
Saturday, February 26, 2005
What about arsdigita? Is it still going?

There is openacs which I believe is based on the above.

I've got 2 installations of x-cart and if you don't have to change any of their code, it seems fine. But delving into the code is a pain.

I use smarty with php with my own simple framework. I thought it great that x-cart used smarty but their PHP code is primarily procedural, relying on all kinds of includes all over the place and global variables and you can see the various different programmers who worked on it which means  you've just got to be real careful (too careful imho) when trying to change underlying code. It could be worse, I worked on Nuke once :) or even worse ...  home-grown projects.
Thursday, March 03, 2005

This topic is archived. No further replies will be accepted.

Other recent topics Other recent topics
Powered by FogBugz