If you're a Perl programmer, there is HTML::Mason. It's what Schachter used for del.icio.us, IFAIK. I've been using it for some time. It has it's pros and cons. It's a little off the beaten path (as is Perl these days). None of the cool kids are using it. It's not sexy. But, damn, you can just get so much done with Perl. In spite of myself, I keep going back.
I must say, this was a revelation. It looks like the author has begun a new streamlined version called Mako: http://www.makotemplates.org/
The reason I tend to prefer this sort of thing to many of the other templating solutions is that it uses native code instead of custom tokens, which are limiting. It does make for less readable code and muddies the distinction between presentation and implementation. I think it works well, though, for startups building applications in which the majority of people building it are developers. It's just a very quick and powerful way to get the thing doing what you want. The designers can then be free to do more blue-sky design work (without templating code) that can be backported into the project. That being said, it can be very helpful to have a backing object in which to hide the majority of the heavy lifting. Then you can just sprinkle a little code in the template for the final polish.
This package is really interesting. I originally was drawn to django for a few reasons: it was really well documented, it had a good use history, is all python, and was basically full-stack and took care of the annoyances on the front end (templates) and back end (database).
But this suite of tools (pylons + mako + others) seem more flexible.. thanks for the advice.
I think I'll still investigate rails, but I have reservations.
yes and i think theyve migrated to Pylons (with Myghty). Pylons before version 0.9 used myghty as its interpretive backend as well (i.e. the framework part of myghty) before they reworked it to be its own thing. Pylons 0.9.5 will also feature Mako as the default template language.
- mike, interested to see links from ycombinator in his referrer logs
I'm a programmer, but not a "web programmer". I've written code in all kinds of languages in all kinds of styles for all kinds of purposes, but never for the web (beyond basic web stuff).
I'm wondering if people have strong opinions on higher level web packages. Here's the field as I see it:
- Java + GWT
- Python + Django
- Ruby on Rails
- PHP + raw javascript
- Flash (or Apollo?)
Since I'm a hacker, I don't really like hacking things other people have done already, so I'm leaning against the php route, but it seems to be the beaten path.
I made my first AJAX app with PHP/Javascript and a little help from Prototype/Scriptaculous for effects. Didn't have any major problems putting it together. I'm learning Rails now, and it seems incredible. It really does take most of the tedious work out of programming. I haven't had any experience with other frameworks though, so others might be just as good.
My advice is to spend a week on each of them and decide for yourself. Even if you you don't like them, it'll be a good learning experience. I'm tackling Django next...
I would argue that instead of Django, you want to look at Pylons (http://pylonshq.com/). If you use Django, chances are good that you'll find it does 75% of what you want, and makes the remaining 25% very difficult.
I'm confused. That doesn't sound very "high-level". No offense but that sounds like the usual-level of frameworkism. I.e., by high-level it sounded like you're looking for something much more domain specific.
ObUseful: The separation between view, model, and controller is a driver of simplicity. Check out: http://stringtemplate.org/