Current CheckIn
This commit is contained in:
parent
f7f27842ff
commit
129005d9b1
4 changed files with 35 additions and 36 deletions
|
@ -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}
|
||||
|
|
|
@ -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},
|
||||
|
|
|
@ -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}
|
||||
|
|
BIN
thesis.pdf
BIN
thesis.pdf
Binary file not shown.
Loading…
Reference in a new issue