Yana (Framework)

aus Wikipedia, der freien Enzyklopädie
Dies ist eine alte Version dieser Seite, zuletzt bearbeitet am 27. März 2015 um 11:52 Uhr durch 213.61.141.198 (Diskussion). Sie kann sich erheblich von der aktuellen Version unterscheiden.
Zur Navigation springen Zur Suche springen
Yana Framework
Basisdaten

Aktuelle Version 3.0.1
(19. März 2015)
Betriebssystem plattformunabhängig
Programmiersprache PHP
Kategorie Entwicklungsplattform
Lizenz GPL
deutschsprachig ja
yanaframework.net

Yana ist ein in PHP geschriebenes quelloffenes Framework zur Entwicklung von Webanwendungen mit PHP, Ajax und SQL. Es ist unter Version 3 der GNU General Public License (GPL) erhältlich.

Zielgruppe sind kleine und mittlere Unternehmen (KMUs) sowie Freelancer.

Philosophie

Das Hauptziel besteht darin, technische Konzepte aus dem Product Family Engineering, die derzeit vor allem als Insellösungen bestehen, zu formalisieren und als FOSS der Öffentlichkeit zur Verfügung zu stellen. Der Anwendungsbereich umfasst vor allem Back-Office-Anwendungen im Intranet sowie datenzentrierte PHP-Anwendungen im Internet. Das Framework erlaubt zudem eine Verwendung auf schreibgeschützten Datenträgern wie CD/DVD.

Das Yana-Framework versteht sich mehr als Entwicklungsplattform in der Tradition von Lösungen wie Eclipse und verfolgt das Plattformkonzept, das im Umfeld des Product Family Engineering entwickelt wurde. Folglich bedeutet dies, dass nicht Anwendungen, sondern Systeme und Subsysteme („Plugins“ in der Terminology des Frameworks) von Entwicklern umgesetzt werden, die jeweils isolierte Features der Anwendung implementieren. Über einen Konfigurator können diese zur Laufzeit aktiviert oder deaktiviert werden. Zusätzlich besteht eine strikte Trennung von Geschäftslogik und Präsentationsschicht im Sinne einer Model-View-Controller-Architektur.

Rapid-Application-Development und Prototyping

Für das Rapid-Prototyping und Rapid-Application-Development bietet das Yana Framework eine Beschreibungssprache zur Modellierung von semantischen Datenbankstrukturen. Diese Modelle werden an einen Generator übergeben, der sowohl statische Skeletons und PHP-Code, als auch dynamisch zur Laufzeit Eingabeoberflächen erzeugen kann. Diese Oberflächen werden automatisch an Änderungen der Tabellenstruktur, wie sie in der XML-Datei beschrieben ist, angepasst. Eine dateibasierte Entwicklerdatenbank sorgt während der Entwurfsphase dafür, dass bei einer Änderung des XML, die Datenbank ebenfalls angepasst wird. Ein SQL-Generator erzeugt später die erforderlichen SQL-Statements für das Deployment automatisch.

Für Rich-Client Anwendungen ist zudem eine transparente Unterstützung von AJAX vorgesehen. Der Entwickler implementiert dazu die Funktionalität zunächst ohne JavaScript. Der Designer entscheidet erst beim Entwurf der Oberfläche, ob er AJAX verwenden möchte oder nicht. Das Framework entscheidet zur Laufzeit automatisch über einen URL-Parameter, ob die Antwort als Standard-HTML komplett, oder für Anfragen via AJAX nur der geänderte Inhalt als Fragment ausgeliefert wird.

Merkmale

  • Rapid-Prototyper für evolutionäre Prototypen
  • für Betrieb von CD/DVD geeignet
  • Unterstützung für DB-Schema in einem XML-Dialekt (Import von DBDesigner 4-Projekten möglich)
  • SQL-Generatoren und Query-Builder-API
  • dateibasierte Entwicklerdatenbank für Entwurfsphase
  • Internationalisierung
  • Templateverwaltung und Themes mit Anbindung an Smarty
  • Pluginverwaltung
  • Konfigurationsverwaltung
  • transparente AJAX-Unterstützung
  • umfangreiche Dokumentation auf Deutsch und Englisch

Literatur

  • Thomas Meyer: Webanwendungen und Datenbanken / Code-Generatoren. In: PC-Magazin. Nummer 12, 2007, WEKA-Verlag, ISSN 1438-0919, S. 160-163.
  • Thomas Meyer: Product Family Engineering. In: PHP Solutions. Nummer 3, 2008, Software Verlag, Seiten 66–69.

Weblinks