Differences between revisions 1 and 120 (spanning 119 versions)
Revision 1 as of 2002-07-12 22:29:49
Size: 1284
Editor: anonymous
Comment: missing edit-log entry for this revision
Revision 120 as of 2004-07-29 13:14:38
Size: 5172
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 #pragma section-numbers off

'''or, more aptly put, Web ''Server'' Programming'''

''(Client-side programming is hardly covered anywhere in this wiki so far :-(, see remark towards the bottom of this page)''

This topic guide started out as a word by word copy of PaulBoddie's
Line 4: Line 10:
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. Another topic guide, derived from PaulBoddie's [http://www.boddie.org.uk/python/web_modules_enterprise.html Python Frameworks and J2EE Standards] document is now available, too: ["PythonAndJ2EE"].
Line 6: Line 12:
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. 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 8: Line 14:
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. ==== Notes on Editing ====
Line 10: Line 16:
Known frameworks: 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 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 54:
    * WebWare
    * SkunkWeb
    * TwistedMatrix
    * ["Quixote"]
    * ["Albatross"]
    * [http://snakelets.sourceforge.net/ Snakelets]

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

    * ["Castalian"]
    * ["Cheetah"]
    * CubicTemp
Line 18: Line 62:
    * ["pso"]
Line 19: Line 64:
    * CherryPy
    * [http://www.methods.co.nz/asciidoc/ AsciiDoc]
    * [http://www.nthwave.net/elements/ Elements]
    * EmPy
    * [http://htmltmpl.sourceforge.net/ htmltmpl]
    * [http://www.embl-heidelberg.de/~chenna/pythonpages/template.html Ramu's Python pages]
    * [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 84:

=== HTML Shorthand Processors ===

I don't know what to really call these things. They're not templating systems. They're not variable substitution systems. They ''are'' something different.

What? I do not know. I will call them, "HTML Shorthand Processors." -- LionKimbro

    * 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) ===
Line 22: Line 104:
    * 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 107:
Is there any interest in a WebProgrammingShootOut? = Currently Hardly Considered =
Line 27: Line 109:
Editor: DanielDittmar == Python-based Web Client Programming ==

There is probably a huge amount of good stuff available from the people who are working actively with XML-RPC, Biztalk and other approaches to web services. More too from XML writers such as [http://uche.ogbuji.net/uche.ogbuji.net/ Uche Ogbuji], who has put much good stuff on IBM's developerworks site, among other things.

Sadly nobody has categorised or classified it in the Wiki, so at the moment we have to scratch around.

== Object Persistence and Object Relational Layers ==

See DatabaseProgramming for some guidance on available DatabaseInterfaces and related tools.

= Related Links =

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

or, more aptly put, Web Server Programming

(Client-side programming is hardly covered anywhere in this wiki so far :-(, see remark towards the bottom of this page)

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]. Putting it into Wiki format hopefully allows more people to contribute.

Another topic guide, derived from PaulBoddie's [http://www.boddie.org.uk/python/web_modules_enterprise.html Python Frameworks and J2EE Standards] document is now available, too: ["PythonAndJ2EE"].

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

I don't know what to really call these things. They're not templating systems. They're not variable substitution systems. They are something different.

What? I do not know. I will call them, "HTML Shorthand Processors." -- LionKimbro

Jython-accessible Java toolkits

Servlet-like Engines

Variable Insertion-Replacement Templating Applications (Pre-processors)

Currently Hardly Considered

Python-based Web Client Programming

There is probably a huge amount of good stuff available from the people who are working actively with XML-RPC, Biztalk and other approaches to web services. More too from XML writers such as [http://uche.ogbuji.net/uche.ogbuji.net/ Uche Ogbuji], who has put much good stuff on IBM's developerworks site, among other things.

Sadly nobody has categorised or classified it in the Wiki, so at the moment we have to scratch around.

Object Persistence and Object Relational Layers

See DatabaseProgramming for some guidance on available DatabaseInterfaces and related tools.

Related Links

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.