Chapter 0: Vorwort
Das Projekt web2py wurde 2007 gestartet und, nach nunmehr 4 Jahren kontinuierlicher Entwicklung, haben wir eine sehr dringend benötigte vierte Auflage dieses Buches fertiggestellt. Während dieser Zeit hat es web2py geschafft, das Interesse von Tausenden von sachkundigen Anwendern und von mehr als hundert Entwicklern zu gewinnen. Unsere gemeinsame Anstrengung hat eines der umfangreichsten Open-Source-Web-Frameworks geschaffen.
Ich begann ursprünglich web2py als Lehrmittel zu entwickeln, weil ich glaube, dass die Fähigkeit qualitativ hochwertige Web-Anwendungen zu schaffen, von entscheidender Bedeutung für die Entwicklung einer freien und offenen Gesellschaft ist. Es verhindert eine Monopolisierung des Informationsflusses durch übermächtige Organisationen. Diese Motivation ist weiterhin gültig, und sie ist heute wichtiger denn je.
Im Allgemeinen ist der Zweck eines jeden Web-Frameworks jener, die Web-Entwicklung einfacher und schneller zu gestalten und dem Entwickler zu helfen, typische Fehler zu vermeiden, vor allem im Bereich Sicherheit. In web2py verfolgen wir diese drei Hauptziele:
1. Benutzerfreundlichkeit ist das primäre Ziel für web2py. Für uns bedeutet das eine Reduzierung der Lern-und Entwicklungs-Zeit. Deshalb ist web2py ein Full-Stack-Framework ohne Abhängigkeiten (Dependencies). Web2py benötigt keine Installation und keine Konfigurationsdateien. Alles funktioniert "out of the box", darunter ein eigener Web-Server, Datenbank und eine Web-basierte IDE, die den Zugriff zu allen wichtigen Funktionen ermöglicht. Die API enthält nur 12 Kern-Objekte, die leicht zu verarbeiten und zu speichern sind. Web2py kann mit den meisten Web-Servern, Datenbanken und allen Python-Bibliotheken zusammenarbeiten.
2. Schnellere Entwicklung ist das sekundäre Ziel. Jede Funktion von web2py hat ein Standard-Verhalten (das überschrieben werden kann). Zum Beispiel, sobald Sie für ihre Daten Modelle definiert haben, haben Sie Zugriff auf einen web-basierten Datenbank-Administrations-Bereich. Web2py generiert außerdem automatisch Formulare für Ihre Daten, und es ermöglicht Ihnen das einfache Präsentieren der Daten in HTML, XML, JSON, RSS, usw.
3. Sicherheit steht im Mittelpunkt von web2py, und unser Ziel ist es, im Normalzustand alles zu sperren um damit die Sicherheit des Systems und der Daten zu erhöhen. Daher eliminiert diese Schicht unserer Datenbank SQL Injections. Die Template-Sprache verhindert Cross-Site-Scripting-Schwachstellen. Die Formulare welche von web2py generiert werden, bieten Feldvalidierung und unterbinden Cross-Site-Request-Fälschungen. Von Passwörtern wird immer ein Hashwert erstellt. Sessions sind server-seitig standardmäßig gespeichert, um Cookie-Fälschung zu verhindern, und Session-Cookies sind UUIDs um das Stehlen von Cookies zu verhindern.
Web2py wurde konsequent schon immer aus der Sicht der Nutzer gebaut und wird ständig optimiert, schneller und schlanker, während web2py immer Abwärtskompatibilität garantiert.
Web2py ist quelloffene Software, welche Sie kostenlos nutzen können. Wenn Sie davon profitieren, hoffen wir, dass Sie dies auf irgendeine Weise als ihren Beitrag der Gesellschaft zurückgeben, in welcher Form dies geschieht können Sie entscheiden.
Im Jahr 2011 wählte die Fachzeitschrift InfoWorld aus sechs der beliebtesten Full-Stack Python basierten Web-Frameworks web2py zum Sieger. Auch im Jahr 2011 gewann web2py den Bossie-Award für die beste Open-Source-Entwicklungs-Software.