
Soliciting opinions on "high-level" web frameworks - far33d

======
Todd
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.

~~~
inklesspen
If you like Mason, but you prefer Python to Perl, you might want to look at
Myghty: <http://www.myghty.org>

~~~
Todd
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.

~~~
inklesspen
Yeah, I frakking LOVE Mako (and to a lesser extent, Myghty).

You may be interested to know that bittorrent.com runs on Myghty. It's
definitely scalable.

~~~
zzzeek
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

------
far33d
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.

Opinions? Other options I haven't found yet?

~~~
imp
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...

------
far33d
Clarifications:

Whatever package I choose should:

1) be cross-browser with minimal special code.

2) abstract out most database operations when possible.

3) involve writing very little html.

4) be well documented and have some history of real use by users other than
the creators.

I'm not afraid to code through any of these issues, however, if someone else
has done the work, why should I?

~~~
johnm
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/>

------
staunch
\+ Pluggable Framework: Catalyst <http://dev.catalyst.perl.org/>

\+ Database ORM: DBIx::Class <http://search.cpan.org/dist/DBIx-Class/>

\+ HTML Templating: TT2 (Template Toolkit) <http://www.template-toolkit.org/>

------
mattculbreth
I'd take a look at:

TurboGears <http://www.turbogears.org> SQLAlchemy <http://www.sqlalchemy.org/>
Elixir <http://elixir.ematia.de/> Genshi <http://genshi.edgewall.org/>

