Current CheckIn

This commit is contained in:
marcodn 2024-04-04 21:58:06 +02:00
parent f7f27842ff
commit 129005d9b1
4 changed files with 35 additions and 36 deletions

View file

@ -78,9 +78,9 @@ aufrufen und die Messung dazu protokolieren sowie die min und max werte (Skript
Damit eine Umsetzung mit einer anderen Technologie umgesetzt werden kann, muss dies den kompletten Aufbau unterstützen, Damit eine Umsetzung mit einer anderen Technologie umgesetzt werden kann, muss dies den kompletten Aufbau unterstützen,
wie dies die \ac{JSP} unterstützen. Daher fallen reine FrontEnd"=Bibliotheken wie VueJS oder React aus der Betrachtung wie dies die \ac{JSP} unterstützen. Daher fallen reine FrontEnd"=Bibliotheken wie VueJS oder React aus der Betrachtung
heraus. heraus, da sie zusätzlich noch einen Backend für die Anwendungslogik (englisch business logic) benötigt.
\subsection{ASP.NET Core MVC} \subsection{C\# - ASP.NET Core MVC}
\label{sec:concept:technologiecompare:aspnetcore} \label{sec:concept:technologiecompare:aspnetcore}
Beim Vergleich zu \ac{JSP} steht ASP.NET Core MVC in nichts nach. Im großen und ganzen ist der Funktionsumfang der Beim Vergleich zu \ac{JSP} steht ASP.NET Core MVC in nichts nach. Im großen und ganzen ist der Funktionsumfang der
@ -109,49 +109,41 @@ die Java Runtime. Zusätzlich wird bei ASP.NET Core nicht noch ein zusätzlicher
zu halten. zu halten.
\subsection{Golang} \subsection{Golang}
\label{sec:concept:technologiecompare:go} \label{sec:concept:technologiecompare:golang}
\noindent Go (auch Golang) ist eine junge Programmiersprache, die sich durch Simplizität und Multifunktionalität auszeichnet, was
Vorteile: eines der Ziele bei der Entwicklung ist. Weitere Ziele waren die native Unterstützung von Nebenläufigkeit und die
leichte Verwaltung von großen Codebasen in größeren Entwicklerteams und ein hohen Übersetzungsgeschwindigkeit.
Hierdurch ist es sehr einfach und effizient möglich eine Anwendung mit Go zu entwickeln \citep{Golang:2024}.
Zusätzliche überzeugt Go durch die Typsicherheit und die automatische Speicherbereinigung durch den \ac{GC}.
Die Entwicklung von Microservices mit Go wird durch die integrierten Funktionen und Bibliotheken gut Unterstützt,
wodurch die Entwicklung, Bereitstellung und Skalierung erleichtert wird.
\begin{itemize} Go wird in eine native Anwendung übersetzt, da für die großen Betriebssystem entsprechende Compiler existieren, sind
\item schnelle und einfache Entwicklung Anwendung in Go ebenfalls nahezu Plattformunabhängig. Durch den integrierten Cross-Compiler, kann die Software direkt
\item Native Übersetzung der Anwendung (hohe Performance) für andere Betriebssystem mit erstellte werden.
\item Betriebssystem unabhängig
\item Gut geeignet für Microservices
\end{itemize}
\noindent Für eine dynamische Webseite, reichen die Standard-Bibliotheken, wobei auch gibt es verschiedene Frameworks die
Nachteile: eine Unterstützung für \ac{MVC} einbauen. Ein direkter \ac{ORM} ist ebenfalls vorhanden, um den einfachen Zugriff
auf eine Datenbank zu ermöglichen.
\begin{itemize}
\item Neue Programmiersprache, noch wenige Programmierer
\end{itemize}
Die grundlegenden Ziele bei der Entwicklung von Go sind eine optimiert und vereinfachte Programmiersprache zu entwickeln.
Hierdurch ist es sehr einfach und effizient eine Anwendung mit Go zu entwickeln.
Schnelle und einfache Entwicklung durch das grundsätzliche Konzept der neuen Sprache
Ist wiederrum aber der nachteil dass es noch nicht viele können.
Ist aber wiederrum sehr schnell und effizient und für Microservices gedacht.
Reiner \ac{ORM} vorhanden, ohne weitere Caching und halten von Daten.
\subsection{PHP} \subsection{PHP}
\label{sec:concept:technologiecmopare:php} \label{sec:concept:technologiecmopare:php}
\noindent Mit der Skriptsprache PHP ist es sehr einfach eine dynamische Webseite zu entwickeln, da diese genau für solche
Vorteile: Zwecke entwickelt wurde. Hierbei wird der Code nicht übersetzt, sondern immer zu Laufzeit interpretiert, was im
Gegensatz zu den anderen vorgestellten Möglichkeiten im Sinne der Performance eindeutig ein Nachteil ist.
Dafür ist eine Änderung nur mit Hilfe eines Texteditor sehr einfach und schnell umzusetzen.
Der Zugriff auf eine Datenbank, ist direkt mit integriert und muss nur durch die Bereitstellung der passenden Treiber
aktiviert werden.
\begin{itemize} Die Template-Funktion für die Webseite wird nicht direkt unterstützt, sonder hier muss zwingend eine externe Bibliothek
\item Text-Editor reicht verwendet werden. Sonst entsteht sehr viel gleicher Code, der auf Dauer nicht mehr Wartbar bleibt.
\end{itemize}
\noindent Für PHP gibt es ebenfalls umfangreiche Frameworks für die \ac{MVC}"=Unterstützung, wie z.B. \textit{Laravel} oder
Nachteile: \textit{Symfony}. Um diese Webseiten aber nun wieder auf den Webserver betreiben zu können wird der \textit{composer}
benötigt, der den Quellcode zusammenpackt und für die Bereitstellung vorbereitet. Hierbei ist die Leichtigkeit der
\begin{itemize} Skriptsprache aber verloren gegangen.
\item Script-Sprache
\end{itemize}
\subsection{Fazit} \subsection{Fazit}
\label{sec:concept:technologiecompare:summary} \label{sec:concept:technologiecompare:summary}

View file

@ -66,6 +66,12 @@
urldate = {2024-04-02} urldate = {2024-04-02}
}, },
@online{Golang:2024,
year = 2024,
url = {https://de.wikipedia.org/wiki/Go_(Programmiersprache)},
urldate = {2024-04-04}
},
% File: 978-1-4842-3546-1.pdf % File: 978-1-4842-3546-1.pdf
@BOOK{Sharan2018, @BOOK{Sharan2018,
AUTHOR = {Sharan, Kishori}, AUTHOR = {Sharan, Kishori},

View file

@ -18,6 +18,7 @@
\acro{HTML}{HyperText Markup Language} \acro{HTML}{HyperText Markup Language}
\acro{IL}{Intermediate Language} \acro{IL}{Intermediate Language}
\acro{JIT}{Just in Time} \acro{JIT}{Just in Time}
\acro{GC}{Garbage Collection}
\acro{CSS}{Cascading Style Sheets} \acro{CSS}{Cascading Style Sheets}
\acro{SFSB}{Stateful Session-Bean} \acro{SFSB}{Stateful Session-Bean}
\acro{JPA}{Java Persistence API} \acro{JPA}{Java Persistence API}

Binary file not shown.