Differences between revisions 3 and 122 (spanning 119 versions)
Revision 3 as of 2002-07-14 20:06:29
Size: 1345
Editor: pD9EB0537
Comment:
Revision 122 as of 2004-07-29 13:30:25
Size: 4309
Comment:
Deletions are marked like this. Additions are marked like this.
Line 1: Line 1:
This topic guide is a word by word copy of Paul Boddie's
[http://www.boddie.org.uk/python/web_frameworks.html Python Web Frameworks Overview]. Putting it into Wiki format hopefully allows more people to contribute.
#pragma section-numbers off
Line 4: Line 3:
The main purpose of this topic guide is to help in choosing a framework for web programming without having to learn each of them. In addition, information about different PresentationTechnologies is also provided, where appropriate, since this can be a major deciding factor in choosing a framework. '''or, more aptly put, Web ''Server'' Programming'''
Line 6: Line 5:
Although comments and clarifications by the framework authors are very much appreciated, adding a standard signature like InTheirOwnWords would help to bring words like 'easy' and 'intuitive' into context. See also:
 * WebClientProgramming
 * DatabaseProgramming (guidance on available DatabaseInterfaces and related tools)
 * ["PythonAndJ2EE"] (comparison of various frameworks to J2EE)

The main purpose of this topic guide is to help in choosing between the plethora of frameworks and templating systems for Web programming, without having to learn each of them. In addition, information about different PresentationTechnologies is also provided, where appropriate, since this can be a major deciding factor in choosing a framework.

==== Notes on Editing ====

Opinions based on experience are welcome, but framework or templating system authors should sign their comments with InTheirOwnWords to admit to a certain bias.
Line 10: Line 18:
Known frameworks: When adding new entries choose Web``Programming``Template when creating the page.

==== Other Guides ====

The listing is '''up-to-date as of 2003-02-11'''

The Web Framework Shootout (at http://colorstudy.com/docs/shootout.html) also covers several of these frameworks.

==== To Do ====
    * The templating systems should really get a different page layout, showing examples etc.
    * describe PHP and Java in the same format as quite a few will want to compare to them anyway
    * Is there any interest in a WebProgrammingShootOut?

Editor: DanielDittmar (this means only that I will adapt the entries to changes in the WebProgrammingTemplate and that I will try to keep the version entries current)

= Alternative Classification =

== Python-based ==

=== Application Frameworks ===

    * ["Albatross"]
    * CherryPy
    * ["Draco"]
    * [http://jotweb.tummy.com/ JOTWeb]
    * ["Karrigell"]
    * [http://pywork.sf.net PyWork]
    * SkunkWeb
    * [http://snakelets.sourceforge.net/ Snakelets]
    * ["Quixote"]
    * TwistedMatrix
    * [http://www.webtk.org/ WebTK]
    * ["Webware"]
Line 12: Line 52:
    * WebWare
    * SkunkWeb
    * TwistedMatrix
    * ["Quixote"]
    * ["Albatross"]
    * [http://snakelets.sourceforge.net/ Snakelets]

=== Variable Insertion-Replacement Templating Applications (Pre-processors) ===

    * ["Castalian"]
    * ["Cheetah"]
    * CubicTemp
Line 18: Line 60:
    * ["pso"]
Line 19: Line 62:
    * CherryPy
    * [http://www.methods.co.nz/asciidoc/ AsciiDoc]
    * [http://www.nthwave.net/elements/ Elements]
    * EmPy
    * [http://htmltmpl.sourceforge.net/ htmltmpl]
    * [http://www.entrian.com/PyMeld PyMeld]
    * [http://www.owlfish.com/software/simpleTAL/ SimpleTAL]
    * [http://www.execulink.com/~robin1/wasp/readme.html WASP]
    * [http://www.livinglogic.de/Python/xist/ XIST]
    * [http://aspn.activestate.com/ASPN/Cookbook/Python/Recipe/52305 YAPTU]

=== Embedding the Python Interpreter into HTTP (Web) Servers ===
    * ModPython for Apache
    * ["PyWX"] for AOLServer
    * [http://adullact.net/projects/pythml/ PythMl]

=== Web-based XML processing Engines ===
    * ["4Suite"]
Line 21: Line 81:

=== HTML Shorthand Processors ===

The libraries in this section implement simpler markup languages
that can be automatically converted to HTML. This lets you avoid having to write HTML
by hand.

    * [http://www.methods.co.nz/asciidoc/ AsciiDoc]
    * ReStructuredText
    * PyTextile

== Jython-accessible Java toolkits ==

=== Servlet-like Engines ===

   * [http://www.webmacro.org/ WebMacro]
   * [http://jakarta.apache.org/velocity/index.html Velocity]
 
=== Variable Insertion-Replacement Templating Applications (Pre-processors) ===

    * [http://java.sun.com/products/jsp Java Server Pages, JSP]
    * [http://freemarker.org/index.html FreeMarker] (with Jython data binding)

== Python-accessible C toolkits ==

=== HTML Templating ===
Line 22: Line 109:
    * ScriptFoundryModules
    * ["Slither"]
    * add new entries by using the code in the WebProgrammingTemplate
Line 26: Line 110:
Is there any interest in a WebProgrammingShootOut? == Object Persistence and Object Relational Layers ==
Line 28: Line 112:
Editor: DanielDittmar See

= Related Links =

This topic guide started out as a word by word copy of PaulBoddie's
[http://www.boddie.org.uk/python/web_frameworks.html Python Web Frameworks Overview].

OriginalWebProgrammingClassification is an older listing of Python-related web tools. Now only of historical interest.

or, more aptly put, Web Server Programming

See also:

The main purpose of this topic guide is to help in choosing between the plethora of frameworks and templating systems for Web programming, without having to learn each of them. In addition, information about different PresentationTechnologies is also provided, where appropriate, since this can be a major deciding factor in choosing a framework.

Notes on Editing

Opinions based on experience are welcome, but framework or templating system authors should sign their comments with InTheirOwnWords to admit to a certain bias.

The rather strict format of the main entries (described in WebProgrammingTemplateHelp) should not been seen as a limit. Feel free to add new pages containing examples, direct comparisons etc.

When adding new entries choose WebProgrammingTemplate when creating the page.

The listing is up-to-date as of 2003-02-11

The Web Framework Shootout (at http://colorstudy.com/docs/shootout.html) also covers several of these frameworks.

To Do

  • The templating systems should really get a different page layout, showing examples etc.
  • describe PHP and Java in the same format as quite a few will want to compare to them anyway
  • Is there any interest in a WebProgrammingShootOut?

Editor: DanielDittmar (this means only that I will adapt the entries to changes in the WebProgrammingTemplate and that I will try to keep the version entries current)

Alternative Classification

Python-based

Application Frameworks

Variable Insertion-Replacement Templating Applications (Pre-processors)

Embedding the Python Interpreter into HTTP (Web) Servers

Web-based XML processing Engines

  • ["4Suite"]
  • ["maki"]

HTML Shorthand Processors

The libraries in this section implement simpler markup languages that can be automatically converted to HTML. This lets you avoid having to write HTML by hand.

Jython-accessible Java toolkits

Servlet-like Engines

Variable Insertion-Replacement Templating Applications (Pre-processors)

Python-accessible C toolkits

HTML Templating

Object Persistence and Object Relational Layers

See

Related Links

This topic guide started out as a word by word copy of PaulBoddie's [http://www.boddie.org.uk/python/web_frameworks.html Python Web Frameworks Overview].

OriginalWebProgrammingClassification is an older listing of Python-related web tools. Now only of historical interest.

WebProgramming (last edited 2008-11-15 13:59:44 by localhost)

Unable to edit the page? See the FrontPage for instructions.