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,
|
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}
|
||||||
|
|
|
@ -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},
|
||||||
|
|
|
@ -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}
|
||||||
|
|
BIN
thesis.pdf
BIN
thesis.pdf
Binary file not shown.
Loading…
Reference in a new issue