Enlight Framework
Inhaltsverzeichnis
- 1 Einleitung
- 2 Updates
- 3 Aktueller Status
- 4 Highlights
- 4.1 Baut auf Zend-Framework
- 4.2 Native Integration von ExtJS
- 4.3 Smarty 3 als Standard Template-Layer
- 4.4 Einfacher, strukturierter Aufbau
- 4.5 Auto-Update Funktionen
- 4.6 Intelligentes Vererbungssystem
- 4.7 Ausgelegt auf Performance, Zuverlässigkeit und Erweiterbarkeit
- 4.8 Sicherheit
- 5 FAQ
- 5.1 Es gibt doch bereits so viele gute PHP-Frameworks, warum das Rad neu erfinden?
- 5.2 Wird es eine eigene Homepage / Community für das Projekt geben?
- 5.3 Werden alte Shopware - Module mit der neuen Lösung funktionieren?
- 5.4 Unter welcher Lizenz wird das Framework veröffentlicht?
- 5.5 Warum Smarty als Template-System?
Einleitung
Als technische Basis für alle neuen Shopware Versionen, planen wir im zweiten Halbjahr 2010 die Veröffentlichung eines eigenen PHP-Frameworks. Das Framework basiert technisch auf dem Zend-Framework, wobei der Systemkern eine Eigenentwicklung ist und auf eine hohe Performance und Erweiterbarkeit hin optimiert wurde. Der wesentliche Unterschied zu anderen Frameworks wird die Fokussierung auf die Entwicklung moderener Ajax/Rich-Internet-Applications (RIA) auf PHP-Basis sein.
Letzte Aktualisierung: 25.08.2010
Updates
- 16.07.2010 Unter http://www.shopware.de/wiki/_detail_497.html steht ein umfangreiches technisches Preview zu Shopware 3.1 bereit, welches Enlight in vielen Bereichen nutzen wird.
Aktueller Status
Die Beta-Version von Enlight wird im 04. Quartal veröffentlicht. Shopware 3.5.0 wird bereits in wesentlichen Teilen auf Enlight basieren.
Highlights
Baut auf Zend-Framework
- ZFE-Komponenten lassen sich problemlos in Enlight einbinden und verwenden
- Der grundsätzliche Aufbau des Systems (Core,Dispatcher,Router,Request,Response,Controller) ist identisch
Native Integration von ExtJS
- Durch eine direkte Einbindung von ExtJS in das Framework lassen sich Formulare / Grids und andere Bedienelemente vollautomatisch auf Basis der Datenbank-Struktur erstellen
- So können moderne Weboberflächen mit geringem Aufwand entwickelt werden
Smarty 3 als Standard Template-Layer
- Als Template-System kommt Smarty in der kommenden Version 3.0 zum Einsatz
- Saubere Schnittstelle um Templates innerhalb von Modulen / Plugins zu modifizieren
- Vererbungsmöglichkeit zwischen Templates und Template-Bestandteilen (Boxen)
- Caching auf Box-Ebene innerhalb eines Templates
- Intelligentes Einbetten von Textbausteinen
Einfacher, strukturierter Aufbau
- Konsistenter Aufbau
- Saubere Dokumentation
- Viele Knowledgebase Artikel und Tutorials
- Flache Lernkurve durch intuitive und praxisorientierte Implementierung
Auto-Update Funktionen
- Enlight verfügt über eine eigene Steuerungsoberfläche
- Hier lassen sich zentral das Framework selbst oder darauf basierende Applikationen und Plugins aktualisieren
- Abhängigkeiten zwischen Komponenten werden automatisch aufgelöst
- Problematische Komponenten werden ggf. automatisch deaktiviert
- Backups von Dateien + Datenbanken werden automatisch erzeugt
- Diff-Modifizierung auf Datenbank-Ebene möglich
- Vom Endbenutzer modifizierte Dateien werden markiert und können halbautomatisch gemerged werden
Intelligentes Vererbungssystem
- Alle Änderungen / Erweiterungen an einer Applikation lassen sich als unabhängiges Plugin realisieren
- Plugins lassen sich flexibel an jedem beliebigen Punkt innerhalb einer Applikation integrieren
- Mehrere Plugins können die selbe Funktionalität beeinflussen (Mehrfach-Vererbung)
- Die Original-Klassen bleiben unverändert. Um höchstmögliche Flexibilität zu gewährleisten, wird auf den Einsatz der "extends" Methode verzichtet.
- Plugins können sich zusätzlich an fest definierte Event-Points in der Anwendung registrieren
Ausgelegt auf Performance, Zuverlässigkeit und Erweiterbarkeit
- Zugriff auf externe Profiler per Komponente (xDebug / XhProf / FireBug Debug Konsole)
- Erkennung und (optional) Deaktivierung defekter Komponenten (Exceptions)
- Auf Wunsch strikte Erzwingung von Dokumentation neuer Module / Erweiterungen
- Flexibles Plugin-System (Basis Decorator / Proxy-Pattern)
Sicherheit
- Gerade bei der Entwicklung von Websoftware spielt das Thema Sicherheit eine außerordentlich wichtige Rolle
- Integration PHP-ID (Als Komponente)
- Automatische Erkennung unsicherer / nicht gefilterter Parameter
- Verhindern des direkten Zugriffes auf nicht gesicherte, externe Variablen
- Unterstützung bei der sicheren Gestaltung von Datenbank-Zugriffen
FAQ
Es gibt doch bereits so viele gute PHP-Frameworks, warum das Rad neu erfinden?
Wir wollen das Rad nicht neu erfinden. Unser Ziel ist es, die Vorteile verschiedener Lösungen die bereits existieren unter einer einheitlichen Syntax und Ergonomie zusammenzustellen. Durch die Kompatibilität zum Zend-Framework kann auf bereits existierende Standard-Komponenten zurückgegriffen werden. Ziel ist es also keinesfalls viel Zeit und Entwicklungskapazitäten in die Programmierung von Lösungen zu investieren, die es bereits vielfach gibt. Wir wollen ein Standard-Framework entwickeln, welches sich durch seine gute Usability und Konsistenz sowie seinen Fokus auf die Entwicklung moderner Ajax basierender Applikationen auszeichnet.
Wird es eine eigene Homepage / Community für das Projekt geben?
Ja, wenn die Konzeptionsphase abgeschlossen ist, wird es für Enlight eine eigene Projekt-Homepage mit SVN-Integration, Community-Foren, Roadmap und Dokumentationen geben.
Werden alte Shopware - Module mit der neuen Lösung funktionieren?
In den meisten Fällen ja, es wird eine Kompatibilitätsschicht geben, die dafür sorgt, dass alte Erweiterungen weiterhin lauffähig bleiben. In einigen Fällen werden hierbei sicherlich Kleinigkeiten angepasst werden müssen, im Verhältnis zu den neuen Möglichkeiten, die sich aus der Nutzung des Frameworks ergeben, sollte das aber in keinem Fall zu Schwierigkeiten führen.
Unter welcher Lizenz wird das Framework veröffentlicht?
Die genaue Art der Lizenzierung wird derzeit noch definiert. In jedem Fall wird es aber eine Open-Source Lizenz, so dass das Framework selbst kostenlos für die Entwicklung eigener Lösungen genutzt werden kann.
Warum Smarty als Template-System?
Nach der Erfahrung in der Realisierung von mehr als 600 Webprojekten und der Zusammenarbeit mit vielen Designern und Templatern sind wir der festen Überzeugung das es eine klare Trennung zwischen PHP-Code und HTML-Syntax / Struktur geben muss. Die meisten Agenturen und Freelancer sind keine PHP-Profis und benötigen eine einfach zu erlernende Sprach-Syntax für Kontrollstrukturen innerhalb der Template-Schicht -> Smarty. Darüber hinaus kann durch den modularen Aufbau natürlich auch eine andere Template-Engine verwendet werden, oder auch direkt mit PHP im View gearbeitet werden.
Artikel bewerten
Bestell-Nr.: SW1315
Lieferzeit ca. 5 Tage
Preise inkl. gesetzlicher
MwSt. zzgl. Versandkosten*
Preise inkl. gesetzlicher
MwSt. + Versandkosten*