Is it done yet? what about now? Faster development frameworks

Posted by andu
Wed, 2006-02-01 23:38

Via Martin:

Alex and I have been talking a long time (since May of last year) about doing some "cool stuff" for the Romanian web but because of other commitments, the time just seems to have drifted away...but no longer...decisions have to made, action taken or heads will roll...we've chosen a development framework!

The requirements
~ rapid application development both for work and play
~ build stuff based on data structures but assume that the data structure and business logic will change (it always does)
~ if the data or logic changes, rebuild from scratch if you have to
~ put all the clever stuff into modules separate from the logic and the data that you can just plug in to the new data structure...
~ there should exist both documentation and a large community which actually responds both to newbie questions and esoteric or advanced problems
~ depth of knowledge pool in Romania
~ cool ajaxy plugins would be nice but not at the expense of the above

How we evaluated
~ we read blogs and other reviews on the internet and believed everything we saw - well - it's on the web so must be true...
~ we gave extra points to frameworks with cool videos of full enterprise applications being developed in a lunchbreak
~ the number of lines of code is really important (apparently)
~ if we really really thought it was important to actually try the framework to get a feel of its capabilities then obviously the videos/screencasts were not cool enough so it lost points...

The caveats
~ This is not a technical review...because I would sound oh so stupid if I tried... I won't go into CRUD, MVC (Model View Controller) frameworks, scaffolding, agile development or all the other technical terms - there are brighter people than me who have explained it better...
~ this is not an exaustive list
~ most of this is from memory so I have probably confused a couple of the frameworks - my apologies to all concerned - I will fill in later with links to comments/reviews I bookmarked at the time)
~ I haven't said what we want to build so this quick overview is not going to help anyone else very much and is more something for me to look at in 6 months time and say "Oh, so that's where we went wrong"
...that being said, here's what we looked at (you can skip to the end to find what we chose:

Cakephp (php4/php5)
The strongest vote in favour was that it works with php4 so could be put alongside all the other php stuff we run on the server work - there is some documentation but not enough, there is some community but somehow not enough...

Symfony (php5)
- really, really pretty looking framework with a growing community and excellent videos...what turned me on was Askeet - try it out, then look at the licence for the application - and the "advent calendar" set of 24 tutorials leading up to Christmas 2005. Anyway, for those people with the ability to install php5 on a development server and php is a MUST, then try it. We will keep an eye on this. [doing a quick search on romanian sites that mention symfony last week I only found one - from this very good bookmark collection by a different alex}.

Qcodo/Qforms (php5)
Looks stable, what looked very good to me was the automatic form building based on the data structure - really more of a code generator than a framework but with real possibilities to build rapidly - a good 15 minute video of developing something real can be seen on the site.

Prado(php5)
Apparently the code for this has been around for a while so is stable - looks nice and stable. Some romanian developers seem to be active on the forums. Some documentation was missing. Event driven. Some very big sites have been built with Prado.

Zoop (php5)
new, maybe nice, hard to tell, no documentation, some questions on the very sparse forum were open for months (sorry if I am being harsh)

Ruby on Rails (RoR)
The much hyped and perhaps rightly so platform that is inspiring new MVC frameworks and the growth of ajax libraries for just about anything.
~ Few developers on Romania as far as I know, but this will change (I know of one project in the pipeline).
~ Really took off in 2005, very enthusiatic community especially in the US, 37signals and Basecamp just can't be wrong, can they?
~ I was trying to persuade some developers to look at a project last year but they were very uninspired.
~ I like it but could not find anyone who had built something with RoR (sorry - there was a guy in Timisoara - I will find the link and put it here).
~ version 1.0 came out in December

asp.NET (Microsoft)
Obvious choice to consider - not strictly in the same category as the others but extremely well supported by community and huge depth of talent in Romania. Lots of solid libraries available - mostly commercial. Very solid, licences required, great for GUI...but...it's just..., I don't know,...not cool, is it?

Zope (Python)
~ Steep learning curve, good for enterprise portals as far as I understand, lots of libraries,
~ I read Zope3 is supposed to solve many of the issues that Zope1/2 had, but still their sqlobject treatment causes frustration - yes you caught me - I am bullshitting here....apparently there is a "Zope way" of doing things which, if you know is great, but there seem to be lots of python programmers who find it irritating - can't have that can we?

Turbogears (Python)
Apparently cool Python MVC framework - perhaps cooler than Django (see below). Maybe some problems with installing on Apache. Not sure why I have so little to say here.

and finally our choice...

Django (Python)
a dangerous choice from some perspectives - the BAD:
~ very small romanian community (if you google.ro "Django" without "Reinhardt" there is virtually nothing)
~ it is a framework that has not reached 1.0 and promises major API changes before it gets there...
BUT the GOOD
~ it is python so the huge number of stable python libraries out there are usable (I hope)
~ the video of the presentation from Snakes and Rubies was cool
~ it is under very active development
~ the building blocks have been used in the real world for some years
~ it is object oriented so apparently not a big hurdle for java programmers to get started
~ some big names are choosing it and making it known that they are using it (I shall run through some of these in another post)

So we will see what happens...Alex has installed it and started playing...I have a python guru joining the team shortly...it's a start.

Trackback URL for this post:

http://www.voidberg.org/trackback/51

Comments

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.
Anonymous (not verified) - Sun, 2006-02-05 09:08

comentariu de test

andu - Sun, 2006-02-05 09:58

Dupa cum poti vedea, merge.

Post new comment

  • Allowed HTML tags: <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd>
  • Lines and paragraphs break automatically.
  • You can enable syntax highlighting of source code with the following tags: <code>, <blockcode>. Beside the tag style "<foo>" it is also possible to use "[foo]".

More information about formatting options

CAPTCHA
This question is for testing whether you are a human visitor and to prevent automated spam submissions.