Zum Inhalt springen

Yana (Framework)

aus Wikipedia, der freien Enzyklopädie
Dies ist die aktuelle Version dieser Seite, zuletzt bearbeitet am 28. Oktober 2017 um 15:42 Uhr durch imported>Aka (Halbgeviertstrich).
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)
Yana Framework

[[Datei:Lua-Fehler in Modul:Wikidata, Zeile 1686: attempt to index field 'wikibase' (a nil value)|150px]]
Basisdaten

Maintainer Lua-Fehler in Modul:Wikidata, Zeile 1686: attempt to index field 'wikibase' (a nil value)
Entwickler Lua-Fehler in Modul:Wikidata, Zeile 1686: attempt to index field 'wikibase' (a nil value)
Erscheinungsjahr Lua-Fehler in Modul:Wikidata, Zeile 1686: attempt to index field 'wikibase' (a nil value)
Aktuelle Version 3.0.2
(11. November 2016)
Aktuelle Vorabversion Lua-Fehler in Modul:Wikidata, Zeile 1686: attempt to index field 'wikibase' (a nil value)
(Lua-Fehler in Modul:Wikidata, Zeile 1686: attempt to index field 'wikibase' (a nil value))
Betriebssystem plattformübergreifend
Programmier­sprache PHP
Kategorie Webframework
Lizenz GPL
deutschsprachig ja
yanaframework.net

Yana ist ein freies Webframework 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