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,
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}
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.
\subsection{Golang}
\label{sec:concept:technologiecompare:go}
\label{sec:concept:technologiecompare:golang}
\noindent
Vorteile:
Go (auch Golang) ist eine junge Programmiersprache, die sich durch Simplizität und Multifunktionalität auszeichnet, was
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}
\item schnelle und einfache Entwicklung
\item Native Übersetzung der Anwendung (hohe Performance)
\item Betriebssystem unabhängig
\item Gut geeignet für Microservices
\end{itemize}
Go wird in eine native Anwendung übersetzt, da für die großen Betriebssystem entsprechende Compiler existieren, sind
Anwendung in Go ebenfalls nahezu Plattformunabhängig. Durch den integrierten Cross-Compiler, kann die Software direkt
für andere Betriebssystem mit erstellte werden.
\noindent
Nachteile:
\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.
Für eine dynamische Webseite, reichen die Standard-Bibliotheken, wobei auch gibt es verschiedene Frameworks die
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.
\subsection{PHP}
\label{sec:concept:technologiecmopare:php}
\noindent
Vorteile:
Mit der Skriptsprache PHP ist es sehr einfach eine dynamische Webseite zu entwickeln, da diese genau für solche
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}
\item Text-Editor reicht
\end{itemize}
Die Template-Funktion für die Webseite wird nicht direkt unterstützt, sonder hier muss zwingend eine externe Bibliothek
verwendet werden. Sonst entsteht sehr viel gleicher Code, der auf Dauer nicht mehr Wartbar bleibt.
\noindent
Nachteile:
\begin{itemize}
\item Script-Sprache
\end{itemize}
Für PHP gibt es ebenfalls umfangreiche Frameworks für die \ac{MVC}"=Unterstützung, wie z.B. \textit{Laravel} oder
\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
Skriptsprache aber verloren gegangen.
\subsection{Fazit}
\label{sec:concept:technologiecompare:summary}

View file

@ -66,6 +66,12 @@
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
@BOOK{Sharan2018,
AUTHOR = {Sharan, Kishori},

View file

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

Binary file not shown.