Differences between revisions 1 and 84 (spanning 83 versions)
Revision 1 as of 2002-07-12 22:29:49
Size: 1284
Editor: anonymous
Comment: missing edit-log entry for this revision
Revision 84 as of 2003-06-10 00:14:40
Size: 5992
Editor: proxy1
Comment: Albatross mis-classified.
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 #pragma section-numbers off
This topic guide is a word by word copy of PaulBoddie's
Line 4: Line 5:
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. 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.
Line 6: Line 7:
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. 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 8: Line 9:
The rather strict format of the main entries should not been seen as a limit. Feel free to add new pages containing examples, direct comparisons etc. 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.
Line 10: Line 11:
Known frameworks: When adding new entries choose Web``Programming``Template when creating the page.

There is an '''ALTERNATIVE''' classification of technologies below the one that follows immediately. The alternative classification section is '''up-to-date as of 2003-02-11'''

==== Multi Protocol Server ====
    * ["Crusader"]
    * TwistedMatrix
Line 12: Line 19:
    * WebWare     * SkunkWeb
    * [http://www.nightmare.com/medusa/index.html Medusa] (asyncore, asynchat)
    * ["4Suite"]

==== HTTP Server and CGI ====
    * ["Albatross"]
    * CherryPy
    * HpPythonBusinessLibraries
    * JonsPythonModules
    * ["Karrigell"]
    * ["maki"]
    * ModPython
    * ["MSS"]
    * ["PyWX"]
    * ["pso"]
    * ["Quixote"]
    * ScriptFoundryModules
    * ["Slither"]
    * ["Spyce"]
    * ["Wasp"]
    * ["Webware"]

==== Content Management Frameworks ====
    * [http://halfdans.net/index.py/apollo?c=show Apollo]
    * [http://www.plone.org Plone]

==== Templating Systems ====
    * [http://ahts.sourceforge.net/ AHTS]
    * [http://www.methods.co.nz/asciidoc/ AsciiDoc]
    * ["Castalian"]
    * ["Cheetah"]
    * CHTL and CGTL (CherryPy)
    * ClearSilver
    * CubicTemp
    * [http://www.twistedmatrix.com/documents/howto/domtemplate DOMTemplate]
    * ["Draco"]
    * dtml (["Zope"])
    * [http://www.nthwave.net/elements/ Elements]
    * [http://www.alcyone.com/pyos/empy/ EmPy] [http://pythonjournal.cognizor.com 'in Python Journal 3(1)]
    * [http://htmltmpl.sourceforge.net/ htmltmpl]
    * JonsPythonModules
    * ["pso"]
    * PSP in ["Webware"]
    * PTL (["Quixote"])
    * [http://www.entrian.com/PyMeld PyMeld]
    * Python Server Pages (SkunkWeb)
    * [http://docutils.sourceforge.net/rst.html reStructuredText]
    * STML (SkunkWeb)
    * [http://www.twistedmatrix.com/documents/howto/woven Woven] (TwistedMatrix)
    * [http://www.livinglogic.de/Python/xist/ XIST]
    * [http://aspn.activestate.com/ASPN/Cookbook/Python/Recipe/52305 YAPTU][http://pythonjournal.cognizor.com 'in Python Journal 3(1)]
    * [http://zebra.sourceforge.net/ Zebra]
    * ZPT (["Zope"])
    * Extended XSLT (["4Suite"])
    * [http://www.chrisarndt.de/en/software/python/index.html#PyEmb PyEmb] Embed Python code into any kind of text. Can be used as preprocessor or a CGI script for serving template files.

==== Web services ====
    * [http://pywebsvcs.sf.net Python Web Services] a SourceForge "meta-project" for Python web services programming

==== 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
    * ["Crusader"]
    * ["Draco"]
    * ["Karrigell"]
Line 16: Line 99:
    * ["Albatross"]     * ["Webware"]
    * ["Zope"]

=== Servlet-like Engines ===

    * ["Cheetah"]
    * ["Jaguar"]
    * [http://pyserv.sourceforge.net PyServ]
    * [http://snakelets.sourceforge.net/ Snakelets]

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

    * ["Castalian"]
    * CubicTemp
Line 18: Line 114:
    * ["pso"]
Line 19: Line 116:
    * CherryPy
    * ["maki"]

    * [http://www.methods.co.nz/asciidoc/ AsciiDoc]
    * [http://ahts.sourceforge.net/ AHTS]
    * [http://archive.dstc.edu.au/aspy/ ASPy]
    * [http://www.nthwave.net/elements/ Elements]
    * [http://www.alcyone.com/pyos/empy/ EmPy]
    * [http://htmltmpl.sourceforge.net/ htmltmpl]
    * [http://pmz.sourceforge.net Poor Man's Zope]
    * [http://www.ciobriefings.com/psp/ Python Server Pages]
    * [http://www.ccraig.org/software/pyhp/ PyHP]
    * [http://www.embl-heidelberg.de/~chenna/pythonpages/template.html Ramu's Python pages]
    * [http://www.entrian.com/PyMeld PyMeld]
    * [http://docutils.sourceforge.net/rst.html reStructuredText]
    * [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

=== Web-based XML processing Engines ===

    * ["4Suite"]

== Python-accessible ==

=== Servlet-like Engines ===

   * [http://www.webmacro.org/ WebMacro]
   * [http://jakarta.apache.org/velocity/index.html Velocity]
 
=== Variable Insertion-Replacement Templating Applications (Pre-processors) ===
Line 22: Line 152:
    * ScriptFoundryModules
    * add new entries by using the code in the WebProgrammingTemplate
    * [http://java.sun.com/products/jsp Java Server Pages, JSP]
    * [http://freemarker.org/index.html FreeMarker] (with Jython data binding)
Line 25: Line 155:
Is there any interest in a WebProgrammingShootOut?
Line 27: Line 156:
Editor: DanielDittmar

This topic guide is a word by word copy of PaulBoddie'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.

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.

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.

There is an ALTERNATIVE classification of technologies below the one that follows immediately. The alternative classification section is up-to-date as of 2003-02-11

Multi Protocol Server

HTTP Server and CGI

Content Management Frameworks

Templating Systems

Web services

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

Servlet-like Engines

Variable Insertion-Replacement Templating Applications (Pre-processors)

Embedding the Python Interpreter into HTTP (Web) Servers

Web-based XML processing Engines

  • ["4Suite"]

Python-accessible

Servlet-like Engines

Variable Insertion-Replacement Templating Applications (Pre-processors)

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

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