Framework Nutzung (Front-/Backend)
Ziel in Version 2 ist der Einsatz von Frameworks im Front- und Backend zur Vereinfachung der Entwicklung, Anpassung und des Testens. Darüber hinaus sollte dies direkt genutzt werden, um den Grundaufbau einmal zu überdenken und anzupassen.
Bisherige Überlegung zu diesen Thema:
Ausklappen
-
Frontend - Welches Framework? Evtl. React oder Vue.js
-
React (Telko vom 18.03.2020) - Kleines React-Beispiel als Einstieg
- Reactstrap für einfache Verwendung von Bootstrap 4 in React
- React Router für Clientside Routing?
- React Step Wizard für den Wizard?
-
➡ Da das Projekt in die Webentwicklungsabteilung mit aufgenommen werden soll, sollte auf einheitliche Frameworks gesetzt werden, daher soll doch Vue.js genutzt werden
-
Backend - Bei PHP bleiben? (z.B. Slim oder Lumen als Framework nutzen)
- Zu JS oder einer anderen Sprache wechseln? (Nachteil: bisherige Programmteile könne nicht übernommen werden)
- Modularen Aufbau mit austauschbaren Klassen anstreben
- Möglichkeit zur Einbindung von Erweiterungen?
- Weiter Möglichkeiten
-
➡ Bei PHP bleiben; nach und nach modularer Umbau; später evtl. in Framework umbauen (Telko vom 18.03.2020)
Framwork-Vergleich
Frontend
- React
-
Vue.js
- Wird von unserer Webanwendungsgruppe genutzt
- Unterschiedlicher Aufbau, aber sonst sehr ähnlich von Funktionsumfängen, Performance, etc.
Backend
Framwork | Procs | Cons |
---|---|---|
Slim | - Minimales Framework für REST APIs - Unkompliziert in der Nutzung - Benötigt keine speziellen Strukturen (kann bei aktueller Struktur beispielsweise einfach in einem api -Unterordner genutzt werden) |
- Weniger Zusatzfunktionen out of the Box wie Input Validation, DB-Anbindung, Rechtemanagement |
Lumen | - Nicht ganz so umfangreich wie Laravel/Symfony/etc. - Bietet dennoch verschiedene Zusatzfunktionen - Einfacher Umstieg auf Laravel möglich |
- Komplexere Nutzung - Benötigt spezielle Ordnerstruktur (weniger Back-/Frontend-Trennung; "Storage" innerhalb der Repo-Struktur) |
Laravel | - Bietet eine Vielzahl an Funktionen out of the box | - Komplexere Nutzung - Benötigt spezielle Ordnerstruktur (weniger Back-/Frontend-Trennung; "Storage" innerhalb der Repo-Struktur) - Riesiges Framework/Viele nicht benötigte Funktionen |
ToDo:
-
Framework-Auswahl nochmal auf der Mailingliste zur Wahl stellen (Abstimmung zwischen ein paar Vorschlägen; Kommentare für andere Vorschläge) -
Backend auf Slim-Framework => #98 -
Frontend auf Vue.js-Framework umbauen