web2py
web2py ist ein freies Webframework für die agile Entwicklung von datenbankbasierten Webanwendungen. Es ist in der Programmiersprache Python geschrieben.
web2py
| |
---|---|
Basisdaten
| |
Entwickler | Massimo Di Pierro |
Aktuelle Version | 2.27.1[1] (16. November 2023) |
Betriebssystem | plattformübergreifend |
Programmiersprache | Python |
Kategorie | Webframework |
Lizenz | LGPLv3 (Freie Software) |
www.web2py.com |
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 steile 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. Eine Besonderheit von web2py ist die Abwärtskompatibilität, d. h. alle Websites, die mit web2py entwickelt wurden, werden auch mit zukünftigen Versionen laufen.
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
BearbeitenBasierend 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.[2]
- KPAX
- ist ein Content-Management-System, das wesentliche Grundfunktionen wie Anhänge, Auto-Navigation und Benutzergruppen bietet und eine Ajax-Schnittstelle einsetzt.[3]
Literatur
Bearbeiten- 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 ( vom 11. Mai 2010 im Internet Archive)
Weblinks
Bearbeiten- 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)
Einzelnachweise
Bearbeiten- ↑ web2py Web Framework.
- ↑ http://tecton10.appspot.com (Seite nicht mehr abrufbar, festgestellt im Mai 2019. Suche in Webarchiven) Info: Der Link wurde automatisch als defekt markiert. Bitte prüfe den Link gemäß Anleitung und entferne dann diesen Hinweis.
- ↑ mdipierro: KPAX CMS on Vimeo. In: vimeo.com. 31. Mai 2008, abgerufen am 16. März 2024.