- web2py
-
web2py Entwickler Massimo Di Pierro Aktuelle Version 1.99.2
(26. September 2011)Betriebssystem plattformunabhängig Programmiersprache Python Kategorie Web Application Framework Lizenz LGPLv3 (Freie Software) www.web2py.com web2py ist ein Open-Source-Framework für die agile Entwicklung von datenbankbasierten Webanwendungen. Es ist in Python geschrieben und nutzt Python auch zum Programmieren.
Ein Fokus von web2py liegt auf Datensicherheit, indem es standardmäßig Mechanismen zur Validierung von Nutzereingaben und Maskierung von Ausgaben einsetzt und so die meisten gängigen Angriffspunkte wie SQL-Injections, Cross-Site Scripting und unsichere direkte Referenzierung von Objekten verhindert. Weiterhin ermutigt es die Entwickler dazu, saubere Praktiken der Software-Entwicklung einzusetzen, beispielsweise das Model-View-Controller-Architekturmuster, Affenformulare, serverseitige Sitzungen oder die sichere Handhabung von hochgeladenen Dateien.
web2py ist ein vollständiges Framework, da es Komponenten für alle gängigen Hauptfunktionen seines Einsatzzweckes enthält: Einige Beispiele:
- Handhabung von Cookies, Sessions, HTTP-Anfragen und -Antworten
- konfigurierbares Caching in Arbeitsspeicher und auf Massenspeichern
- inhaltliche Mehrsprachigkeit
- automatisches Protokollieren von Fehlern einschließlich ihres jeweiligen Kontextes.
- eine Abstraktionsschicht für Datenbanken, die dynamisch SQL erzeugt
- Templates ermöglichen die Nutzung von Python-Code eingebettet in HTML-Code, anders als etwa bei Django ist keine gesonderte Template-Sprache zu erlernen
- Kompatibilität zu vielen Datenbankmanagementsystemen (derzeit SQLite, MySQL, PostgreSQL, Oracle, Microsoft SQL Server, Firebird, IBM DB2, Informix, Ingres und Google App Engine (Datastore))
Ein Merkmal von web2py ergibt sich aus seiner Herkunft: Ursprünglich wurde es an der DePaul University als Lehr-/Lernwerkzeug entworfen und verfügt daher über eine sehr flache Lernkurve. So wurde auf eine einfache Installation geachtet, indem es auf den typischen Installationsprozess verzichtet. Es bietet weiterhin eine Web-Oberfläche, die das Entwickeln und Pflegen, Testen, Debugging sowie die Verwaltung der Datenbanken ohne gesonderte Tools ermöglicht.
web2py kommuniziert über die WSGI-Schnittstelle, derzeit die aktuelle Entwicklung für die Kommunikation zwischen Webserver und Webanwendungen im Python-Umfeld. Es enthält auch bereits den in nativem Python implementierten SSL-fähigen WSGI-Server Rocket (bis Version 1.76.5 CherryPy), bietet aber auch Zugriff über CGI und FastCGI.
Anwendungen
Basierend auf web2py werden von den gleichen Autoren zwei Anwendungen realisiert, welche einerseits die Möglichkeiten des Frameworks illustrieren, andererseits vollwertige, flexibel nutzbare os-Anwendungen darstellen:
- T3
- ist ein Wiki, das gegenüber üblichen Produkten dieser Kategorie a) die Einbindung von Datenbanken sowie b) von Python-Code in Wiki-Seiten erlaubt [1].
- KPAX
- ist ein Content-Management-System, das wesentliche Grundfunktionen wie Anhänge, Auto-Navigation und Benutzergruppen bietet und eine Ajax-Schnittstelle einsetzt [2].
Literatur
- Web programming with web2py, Python Magazine, Marco Tabini & Associates, Inc., Juni 2008
- Massimo Di Pierro: web2py Manual, Wiley Publishing, 2008, ISBN 978-0-470-43232-7
- Massimo Di Pierro, Web2py Enterprise Web Framework Manual, Auszug der Kapitel 3 und 9
Weblinks
- web2py-Entwickler-Website
- web2py-Download-Link
- Forum bei Google Groups
- web2py Enterprise Web Framework (Video)
- web2py on the Google appengine (Video)
- web2py "Shootout" Tutorial (Video)
Kategorien:- Freies Webframework
- Programmiersprache Python
Wikimedia Foundation.