SlideShare ist ein Scribd-Unternehmen logo
yuhiro.de http://www.yuhiro.de/technologien-fuer-die-entwicklung-von-webanwendungen/
Sascha Thattil
Die wichtigsten Technologien für die Entwicklung von
Webanwendungen
Webtechnologien werden immer wichtiger. Unternehmen und Endnutzer können, ohne
Software auf ihrem Rechner zu installieren, auf Applikationen, über das Internet, zugreifen.
Hierdurch ergeben sich einige Vorteile. Ein grosser Vorteil ist sicherlich auch, dass alle Daten
zentral online gespeichert werden, und dadurch “Daten-Silos” vermieden werden, welche man
nur schwer zusammenführen kann.
In diesem Beitrag beschreiben wir die wichtigsten Technologien für die Entwicklung von solchen
Online-Applikationen.
Grundsätzlich kann man zwischen Server-seitiger und Client-seitiger Programmierung
sprechen. Für beides gibt es unterschiedliche Technologien.
Server-seitige Programmierung
Die Folgenden werden für die Server-seitige Programmierung genutzt. Diese sind
Programmierungen, welche für den Endnutzer nicht sichtbar sind. Zum Beispiel wird eine
Information aus der Datenbank gesucht und bereitgestellt, dies wird mit dem Server-seitigen
Coding erreicht.
Die derzeit beliebtesten Webtechnologien sind PHP, ASP.NET, Python, Java und Ruby. Mehr
dazu im Folgenden:
1/12
PHP: PHP ist Open Source. Dies bedeutet, dass der meiste Code, welcher Online verfügbar ist,
kostenfrei und ohne Lizenz zu erwerben sind. Lange Zeit war PHP nicht für komplexe
Programmierungen genutzt worden. Dies hat sich jedoch in den letzten Jahren geändert.
Besonders durch Frameworks wie Laravel, weiter unten in diesem Beitrag beschrieben,
machen die Programmiersprache wieder interessant. Bekanntermassen nutzen Facebook und
Wikipedia PHP für deren Seiten.
3 Vorteile
Weit verbreitet: Ein Grossteil der Webseiten weltweit läuft auf PHP
Viele Entwickler: Man findet PHP Entwickler weltweit
Gereift: Die Technologie besteht schon seit mehreren Jahrzehnten und ist daher bereits
durchgängig getestet und ausgebessert worden
3 Nachteile
Nicht so strukturiert: Da es bei PHP sehr viele Programmierer gibt, welche ihren Input
hinzugeben und die Programmiersprache sich über die Jahre hinweg entwickelt hat, ist
nicht alles so strukturiert. Ein Gesamtkonzept, wie zum Beispiel für Microsofts ASP.NET,
fehlt
Performance: Viele vermeiden PHP wenn es um die Programmierung von
Anwendungen geht, welche sehr rechenlastig sind. In den letzten Jahren hat sich das
natürlich, durch die neuen Frameworks, geändert
Sicherheit: Da der Code von allen eingesehen werden kann, sind Applikationen auf
dieser Softwaresprache etwas anfälliger für Online-Angriffe
2/12
ASP.NET: ASP.NET ist mehr im Bereich
Geschäfts-Webapplikationen zu finden. Dies liegt
auch daran, dass Microsoft, der Bereitsteller
dieser Technologie, einen Fokus darauf hatte,
diese als solche zu etablieren. ASP.NET wird in
vielen Online Anwendungen genutzt. Zum Beispiel
nutzt Microsoft diese selbst, um zum Beispiel
outlook.com (die Online Version des beliebten
Desktop Email-Clients Outlook) bereitzustellen.
Viele Softwarefirmen nutzen es zudem, um
Geschäftsapplikationen zu schreiben.
3 Vorteile
Gesamtkonzept: Alle Komponenten von ASP.NET sind gut durchdacht und greifen
ineinander ein. Das liegt auch daran, dass Microsoft hier ein Gesamtkonzept, für diese
Technologie, bereits vor der Entwicklung dieser, hatte
Microsoft: Microsoft ist der Bereitsteller dieser spannenden Web Lösung. Manche
Komponenten sind zwar kostenpflichtig, dafür geht man jedoch sicher, dass die Lösung
gut funktioniert
Grosse Applikationen: Mit ASP.NET lassen sich grosse Software-Webapplikationen mit
sehr wenig Code schreiben
3 Nachteile
Microsoft: Das der Bereitsteller Microsoft ist, ist ein Vorteil und ein Nachteil zugleich.
Viele Programmierer wollen lieber nicht mit der Software eines Grossunternehmens
arbeiten, da diese Unternehmen meistens eigene Interessen verfolgen
Kosten: Viele der Werkzeuge, welche Microsoft, auch im Zusammenhang mit ASP.NET,
bereitstellt, sind kostenpflichtig. Für kleine Unternehmen, Agenturen und Freelancer lohnt
sich die Software also eher weniger
Sehr grosse Applikationen: Für Applikationen, welche von mehreren Millionen
Anwendern gleichzeitig genutzt werden, macht ein Programmierung mit Java mehr Sinn.
Python: Python wird, meiner Meinung nach, nicht so oft für die Webprogrammierung genutzt.
3/12
Dennoch findet es seinen Weg oftmals, neben ASP.NET und Java, in Unternehmen, welche es
für Geschäftsanwendungen nutzen. Auch Endnutzer Systeme werden mit Python programmiert.
YouTube, Google und DropBox laufen zu einem Teil auf Python, was zeigt, dass es stark, robust
und schnell ist.
3 Vorteile
Einfacher zu erlernen: Python ist einfacher zu erlernen als zum Beispiel Java oder C++.
Strukturierter: Gegenüber anderen Sprachen, wie zum Beispiel PHP, ist Python viel
strukturierter. Dies ermöglicht zudem einen fehlerfreieren Code sowie eine schnellere
Programmierung
Schnell entwickelt: Mit Python lassen sich Anwendungen schneller programmieren, als
mit anderen Sprachen
3 Nachteile
Entwickler schwer zu finden: Im Gegensatz zu Python, lassen sich Entwickler für PHP,
ASP.NET oder Java sehr einfach finden. Auch wenn Python sehr robust und flexibel ist.
Dies bringt wenig wenn man keine Entwickler dafür findet
Experten benötigt: Ein Anfänger wird es meistens nicht schaffen eine gute Python
Applikation zu schreiben. Es benötigt Experten. Wie im ersten Nachteil bereits
geschrieben, ist es schwer Programmierer in diesem Bereich zu finden. Experten zu
finden wird daher noch etwas schwieriger
Dokumentation: Auch wenn die Sprache einfach zu erlernen ist. Es lässt sich nur schwer
gute Dokumentationen für diese finden
Java: Java ist eines der Werkzeuge für Unternehmen, um grosse Geschäftsanwendungen zu
schreiben. Es ist um ein vielfaches schwerer zu erlernen als PHP oder ASP.NET. Daher findet
man zwar Experten dazu. Jedoch muss man stärker suchen und definitiv auch mit höheren
Kosten, durch die höheren Gehälter in diesem Bereich, rechnen. Wer jedoch gute Entwickler
findet, kann damit sehr grosse, komplexe und performante Webanwendungen programmieren.
4/12
3 Vorteile
Zukunftsfähig: Java gibt es schon seit sehr langem und die Chancen sind mehr als
gering, dass es in den nächsten Jahren an Popularität verliert
Weit verbreitet: Java wird in den meisten Grossunternehmen genutzt. Laut IDC
(International Data Corporation, Marktforschungsunternehmen) nutzen 90 Prozent der
Fortune 500 Unternehmen (die 500 grössten Firmen der Welt) Java, um ihre
Geschäftsanwendungen zu betreiben
Android: Die Entscheidung von Google, Java zu nutzen, um seine mobile Plattform
Android zu schreiben, hat Java noch weiter gestärkt. Ein Grossteil der mobilen Endgeräte
läuft heutzutage auf Android und damit auf Java
3 Nachteile
Entwickler teuer: Da Java-Entwickler zum grössten Teil in Grossunternehmen
beschäftigt sind, erhalten sie meistens ein sehr hohes Gehalt und sind für kleinere
Unternehmen eher schwer zu finden und einzustellen
Expertise notwendig: Genau wie bei Python, lassen sich auch mit Java, Applikationen
nur mit Experten entwickeln. Wobei die Programmierung mit Java, meiner Meinung nach
noch etwas komplexer ist, als mit Python
Sicherheit: Da Java Plattform-unhabhängig ist, wird Java auch als weniger sicher
gehandelt, als andere Sprachen
Ruby: Ruby ist eine sehr beliebte Softwaresprache für die Programmierung von
Webapplikationen. Besonders das Ruby Framework Rails, lässt diese Technologie im positiven
Licht dastehen. Ich würde behaupten, dass sich damit mittelgrosse bis grosse Applikationen
erstellen lassen. Besonders Startups haben einen Fokus darauf, da sich damit relativ schnell
programmieren lässt.
3 Vorteile
5/12
Fokus auf das Internet: Ruby ist eine auf das Web fokussierte Programmiersprache,
anders als zum Beispiel .NET oder Java. Daher berücksichtigt es viele der
Besonderheiten des Internets
Wartbarkeit: Ruby lässt sich einfach warten. Dies bedeutet auch, dass sich einmal
geschriebener Code auch durch einen neuen Programmierer einfach warten und
weiterentwickeln lässt
Schnelligkeit: Es lässt sich mit Ruby sehr schnell Applikationen erzeugen, für welche
man mit anderen Sprachen länger bräuchte
3 Nachteile
Programmierer schwer zu finden: Ruby Programmierer lassen sich, zum Teil, noch
schwerer finden als Java Experten
Skalierbarkeit: Einige Programmierer beschweren sich, dass Ruby schwer nach oben
skalierbar ist. Twitter ist zum Beispiel mit Ruby gestartet und ist dann auf Java
umgestiegen. Dies soll jedoch nicht bedeuten, dass Ruby die falsche Entscheidung für
Twitter war, sondern nur, dass ab einer bestimmten Grösse, ein Werkzeug wie Java die
bessere Wahl ist
Dokumentation: Es lässt sich relativ schwer eine gute Dokumentation zu Ruby finden.
Das bedeutet auch, dass man sich länger mit dem Code beschäftigen muss
Web-Frameworks
Für alle diese Softwaresprachen gibt es sogenannte Frameworks, welche die Arbeit mit diesen
Sprachen, um einiges vereinfacht. Meistens handelt es sich um Code-Bibliotheken, in welchen
sich viele oder die meisten Funktionalitäten bereits finden lassen. So kann man darauf
verzichten alles von Grund auf neu zu programmieren, sondern kann auf diese Framworks
zurückgreifen.
Diese Frameworks sind besonders für mittelgrosse bis grosse Applikationen geeignet, welche
schnell entwickelt werden müssen, skalierbar bleiben sollen und von vielen Anwendern genutzt
werden.
Die wichtigsten Frameworks im Überblick:
PHP Laravel
6/12
Laravel ist ein eher neueres PHP Framework. Es wird genutzt um schnelle und leichte Online-
Applikationen zu schreiben.
3 Vorteile
Leichtgewicht: Es eignet sich für kleine Unternehmen mit einem Programmierer oder
einigen wenigen, um leichte Applikationen zu schreiben, welche man zum Beispiel auch
als Geschäftsanwendungen nutzt
Sehr gut dokumentiert: Es gibt sehr gute Dokumente und Tutorials welche Laravel im
Detail erklären
Popularität: In den letzten Monaten und Jahren ist die Popularität von Laravel extremst
gestiegen. Neben Zend ist Laravel heutzutage wohl das beliebteste PHP Framework
3 Nachteile
Taylor Otwell: Taylor Otwell ist der Haupt-Autor von Laravel. Dies ist zum Teil auch eine
Gefahr. Was ist wenn er das Framework nicht weiterführt? Die Weiterführung wäre in
diesem Fall nicht geklärt
Sehr neu: Da es ein sehr neues Framework ist, gibt es noch nicht viele Programmierer
die damit arbeiten
Sicherheit: Da es ein sehr neues Framework ist, ist auch der Sicherheitsaspekt noch
nicht hundert Prozent auf dem höchstem Niveau. Dies wird sich sicherlich in den
nächsten Monaten und Jahren enorm verbessern. Zum derzeitigen Zeitpunkt gibt es
jedoch Sicherheitslücken
ASP.NET MVC
Mit ASP.NET MVC lassen sich spannende Geschäftsanwendungen schreiben. Auch dieses
Framework hat in den letzten Jahren an Popularität gewonnen. Sicherlich war das von dem
Hersteller, in diesem Fall, Microsoft, auch so gewollt.
Microsofts MVC ist gut strukturiert und es lassen sich skalierbare Anwendungen
programmieren.
3 Vorteile
7/12
Unterstützt Test-Driven Development: Es ist relativ einfach automatisierte Tests zu
schreiben, um den Code zu überprüfen
Viele Entwickler gleichzeitig: Mit dem ASP.NET MVC Framework lässt es sich einfach
in grossen Teams arbeiten
Komplexität einfacher handhabbar: Durch die Einteilung der Anwendung in Model,
View und Controller, können MVC Applikationen einfacher und übersichtlicher
programmiert werden
3 Nachteile
Komplex für einfache Aufgaben: Es lohnt sich für Entwickler nicht auf Frameworks wie
das ASP.NET Webforms zu setzen, wenn es sich eher um kleinere Applikationen handelt.
MVC kann zu komplex sein, für kleine Teams, welche kleine Programme schreiben
Kenntnisse in HTML & CSS benötigt: Wer mit dem ASP.NET MVC Framework arbeiten
möchte, benötigt gute Kenntnisse in den Client-seitigen Technologien HTML und CSS
Lernkurve: Es braucht einiges an Zeit sich dieses Framework anzueignen
Python Django
Django ist das wichtigste Python Framework. Es eignet sich besonders für Startups, welche
sehr schnell programmieren möchten und dieses Framework auch später behalten wollen.
Dass heisst, es ist skalierbar.
3 Vorteile
Grossartige Community: Es gibt eine grosse Community (Englisch für “Gemeinschaft”,
in diesem Fall Programmierer-Gemeinschaft), welche das Framework nutzt und weitere
Beiträge (Django ist Open Source) dazu leistet
D.R.Y: D.R.Y steht für Don’t Repeat Yourself. Es ist die Philosophie welche hinter Django
steckt. Dies bedeutet, dass das Framework einen Fokus darauf hat, soviel aus
geschriebenen Code zu bekommen wie nur möglich. Das macht es möglich, dass man in
weniger Zeit, arbeitenden Code erzeugen kann
8/12
Alternative zu Ruby on Rails: Am nahesten kommt Django dem Rails Framework für
Ruby. Django ist eine Alternative zu Rails. Manche Entwickler empfinden Django
einfacher zu nutzen als Ruby
3 Nachteile
Entwickler: Wie bei Ruby auch, kann es schwer werden passende Entwickler zu finden
Wenig geeignet für Mobile: Nur sehr wenige Smartphone Applikationen werden mit
Python geschrieben
Deployment: Das Deployment von Django auf dem Produktivserver, wird besonders von
Einsteigern, als eher schwierig bezeichnet
Ruby Rails
Rails ist das prominenteste der Ruby Frameworks. Es wurde initial entwickelt, um das
prominente Projektmanagement Werzeug BaseCamp zu bauen. Rails ist im Jahr 2004, ein Jahr
vor dem offiziellen Start von Django, veröffentlicht worden und hat auch eine grössere
Community als Django.
3 Vorteile
Sauberer Code: Wie Laravel für PHP, hilft auch Rails, sauberen Code mit Ruby zu
erstellen
Grössere Community: Wie bereits erwähnt, hat Rails mehr Nutzer, als sein direkter
Wettbewerber Django
Kostengünstige Entwicklung möglich: Individual Software ist in den meisten Fällen
sehr teuer zu bauen. Rails ermöglicht die Kosten für solche Software zu verringern
3 Nachteile
Geschwindigkeit: Wenn man sehr schnelle Applikationen benötigt, sollte man auf Java
setzen
Hosting: Es ist schwer ein passendes Hosting für Rails zu finden. Für PHP ist es
hingegen keine Herausforderung ein passendes und günstiges Hosting zu bekommen
9/12
Fehlende Unterstützung von grossen Unternehmen: Hinter Java steht die Firma
Oracle, hinter PHP steht Zend, hinter Angular.JS steht Google. Für Ruby und Rails fehlt
eine solche Unterstützung von Grossunternehmen
Client-seitige Programmierung
In der Webentwicklung müssen nicht nur Funktionen ausgeführt werden, sondern diese
müssen dem Nutzer auch als Resultat Online im Browser angezeigt werden. Hierfür nutzt man
Client-seitige Webtechnologien. Im Weiteren die Wichtigsten davon:
HTML: HTML steht für Hypertext Markup Language und wird genutzt um Web-Seiten
anzuzeigen. Farben, Schrift, Hyperlinks, etc. können darüber angezeigt und geändert werden.
CSS: CSS steht für Casdading Style Sheet und hilft dabei, wie HTML Elemente auf dem
Bildschirm angezeigt werden. Das Layout kann hiermit verändert werden.
JavaScript: JavaScript wird üblicherweise für die Client-seitige Programmierung genutzt.
Dieser Code wird in die HTML Seite geschrieben. Falls der Nutzer die HTML Seite aufruft, dann
wird die JavaScript Programmierung zum Browser gesendet. Der Browser wiederum
entscheidet, was es mit dem JavaScript Code machen soll. Ein simples Pop Up, wäre ein
Anwendungsbeispiel, welches man mit JavaScript umsetzen kann.
jQuery: jQuery macht es einfacher JavaScript zu nutzen. Komplizierte JavaScript
Programmierungen, welche mehrere Zeilen Code benötigen, können mit jQuery in einer
einzigen Zeile Code aufgerufen werden.
Ajax: Ajax steht für Asynchronous JavaScript und XML. Es wird genutzt, so dass die Client-
Seite mit der Server-Applikationen kommunizieren kann. Beispiel: Ein Nutzer klickt mit dem
Cursor auf ein Element der Website. Daraufhin sendet Ajax eine Anfrage, mithilfe von XML zur
Server-seitigen Applikation. Die Serverseitige Programmierung verarbeitet die Anfrage und
sendet die Informationen via XML zurück zur Client-Seite (zur Webseite) welches die Anfrage
stellte. Eine zweite JavaScript Funktion holt die Daten/ Informationen ab und zeigt diese Daten
auf der Webseite an.
10/12
Angular.JS: Angular.JS (auch Angular genannt) ist ein JavaScript Framework, welches in den
letzten Jahren einiges an Popularität gewonnen hat. Damit lassen sich einfach Client-seitige
Webanwendungen schreiben. Einmal durch den Anwender über den Browser aufgerufen, muss
es kein weiteres mal mit dem Server kommunizieren. Hierdurch läuft die Applikation schneller.
Komplexer Code und Programmierungen können mit Angular auf einfache Weise erstellt
werden.
Datenbanken
Datenbank: Hierbei handelt es sich eine Ansammlung von organisierten Daten. Es ist eine
Sammlung von Tabellen, Suchanfragen, Reporten, Ansichten und anderen Objekten.
Datenbank Management System (DBMS): DBMS ist eine Softwareapplikation welches mit
dem Nutzer, anderen Applikationen und der Datenbank selbst interagiert, um Daten
aufzunehmen oder Daten zu analysieren. Ein übliches DBMS ist dazu gemacht, um
Datenbanken zu definieren, zu erstellen, abzufragen, upzudaten und diese zu administrieren.
Bekannte DBMS sind MySQL, SQL Server von Microsoft, Oracle oder DB2.
Fazit
Die in diesem Beitrag genannten server-seitigen Softwaresprachen PHP, ASP.NET, Python,
Java, Ruby, die dazugehörigen Webframeworks Laravel, MVC, Django, Rails, die client-seitigen
Werkzeuge HTML, CSS, JavaScript, jQuery, Ajax, Angular.JS und die Datenbanksoftware
MySQL, SQL Server, Oracle, DB2 sind die bedeutendsten Technologien wenn es darum geht,
Webanwendungen zu schreiben.
Viele dieser Werkzeuge werden uns auch in Zukunft (in den nächsten Jahren) erhalten bleiben,
daher macht es Sinn sich diese anzueignen.
Welche Erfahrungen habt Ihr gemacht? Was könnt Ihr empfehlen?
11/12
Bilder: Flickr.com/ Hassman/ Kinney/ Das/ Hoerner_brett/ Rotondo/ Morrison/ Condo/ Murphy/
Laine/ Wu/ Lucas/ Winstead
Der Autor: Sascha Thattil arbeitet bei YUHIRO und hilft Unternehmern
und Unternehmen beim einfachen Aufbau von Programmier-Teams in
Indien. YUHIRO ist ein deutsch-indisches Unternehmen welches IT
Firmen, Agenturen und IT Abteilungen Softwareentwickler bereitstellt.
Artikel teilen
12/12

Weitere ähnliche Inhalte

Andere mochten auch

Library Services and Outreach For Children of Incarcerated Parents
Library Services and Outreach For Children of Incarcerated ParentsLibrary Services and Outreach For Children of Incarcerated Parents
Library Services and Outreach For Children of Incarcerated Parents
Angelina Bair, MLIS
 
Αλγόριθμος και Προγραμματισμός
Αλγόριθμος και ΠρογραμματισμόςΑλγόριθμος και Προγραμματισμός
Αλγόριθμος και Προγραμματισμός
ananiakal
 
La estrategia de marketing digital 2016
La estrategia de marketing digital   2016La estrategia de marketing digital   2016
La estrategia de marketing digital 2016
Javier Cañon
 
silla de rueda con banco de mesa !
 silla de rueda con banco de mesa ! silla de rueda con banco de mesa !
silla de rueda con banco de mesa !
maria victoria sanchez monsalve
 
رسالة دكتوراة : مشكلات الواقع الافتراضى
رسالة دكتوراة : مشكلات الواقع الافتراضىرسالة دكتوراة : مشكلات الواقع الافتراضى
رسالة دكتوراة : مشكلات الواقع الافتراضى
Ehab Saad Mohamady
 
Situaţia curentă şi gradul de satisfacţie privind serviciile publice comunitare
Situaţia curentă şi gradul de satisfacţie privind serviciile publice comunitareSituaţia curentă şi gradul de satisfacţie privind serviciile publice comunitare
Situaţia curentă şi gradul de satisfacţie privind serviciile publice comunitare
UNDP Moldova
 
重寮國小鄉土教學
重寮國小鄉土教學重寮國小鄉土教學
重寮國小鄉土教學
Tai selina
 

Andere mochten auch (7)

Library Services and Outreach For Children of Incarcerated Parents
Library Services and Outreach For Children of Incarcerated ParentsLibrary Services and Outreach For Children of Incarcerated Parents
Library Services and Outreach For Children of Incarcerated Parents
 
Αλγόριθμος και Προγραμματισμός
Αλγόριθμος και ΠρογραμματισμόςΑλγόριθμος και Προγραμματισμός
Αλγόριθμος και Προγραμματισμός
 
La estrategia de marketing digital 2016
La estrategia de marketing digital   2016La estrategia de marketing digital   2016
La estrategia de marketing digital 2016
 
silla de rueda con banco de mesa !
 silla de rueda con banco de mesa ! silla de rueda con banco de mesa !
silla de rueda con banco de mesa !
 
رسالة دكتوراة : مشكلات الواقع الافتراضى
رسالة دكتوراة : مشكلات الواقع الافتراضىرسالة دكتوراة : مشكلات الواقع الافتراضى
رسالة دكتوراة : مشكلات الواقع الافتراضى
 
Situaţia curentă şi gradul de satisfacţie privind serviciile publice comunitare
Situaţia curentă şi gradul de satisfacţie privind serviciile publice comunitareSituaţia curentă şi gradul de satisfacţie privind serviciile publice comunitare
Situaţia curentă şi gradul de satisfacţie privind serviciile publice comunitare
 
重寮國小鄉土教學
重寮國小鄉土教學重寮國小鄉土教學
重寮國小鄉土教學
 

Ähnlich wie Die wichtigsten Technologien für die Entwicklung von Webanwendungen

Top 10 Internet Trends 2005
Top 10 Internet Trends 2005Top 10 Internet Trends 2005
Top 10 Internet Trends 2005
Jürg Stuker
 
6 verschiedene Arten von Software
6 verschiedene Arten von Software6 verschiedene Arten von Software
6 verschiedene Arten von Software
YUHIRO
 
2008 - Gewinnung von OPEN SOURCE Techniken für junge Unternehmen
2008 - Gewinnung von OPEN SOURCE Techniken für junge Unternehmen2008 - Gewinnung von OPEN SOURCE Techniken für junge Unternehmen
2008 - Gewinnung von OPEN SOURCE Techniken für junge Unternehmen
Bjoern Reinhold
 
Case Study: Cross-Platform Strategie in einem Großprojekt der App-Entwicklung...
Case Study: Cross-Platform Strategie in einem Großprojekt der App-Entwicklung...Case Study: Cross-Platform Strategie in einem Großprojekt der App-Entwicklung...
Case Study: Cross-Platform Strategie in einem Großprojekt der App-Entwicklung...
Christian Sauter
 
Gewinnung von OPEN SOURCE Techniken für junge Unternehmen
Gewinnung von OPEN SOURCE Techniken für junge UnternehmenGewinnung von OPEN SOURCE Techniken für junge Unternehmen
Gewinnung von OPEN SOURCE Techniken für junge Unternehmen
Bjoern Reinhold
 
Plone im Kontext des WCMS Marktes
Plone im Kontext des WCMS MarktesPlone im Kontext des WCMS Marktes
Plone im Kontext des WCMS Marktes
Alexander Loechel
 
Microsoft und die Open Source Community - Leaving the death star behind
Microsoft und die Open Source Community - Leaving the death star behindMicrosoft und die Open Source Community - Leaving the death star behind
Microsoft und die Open Source Community - Leaving the death star behind
Christian Heilmann
 
Legacy php - Sanieren oder Ablösen?
Legacy php  - Sanieren oder Ablösen?Legacy php  - Sanieren oder Ablösen?
Legacy php - Sanieren oder Ablösen?
Johann-Peter Hartmann
 
Einführung in die Mobile-Produktentwicklung: Konzeption, Design, Entwicklung,...
Einführung in die Mobile-Produktentwicklung: Konzeption, Design, Entwicklung,...Einführung in die Mobile-Produktentwicklung: Konzeption, Design, Entwicklung,...
Einführung in die Mobile-Produktentwicklung: Konzeption, Design, Entwicklung,...
Bokowsky + Laymann GmbH
 
Mobile Anwendungen mit Apache Cordova
Mobile Anwendungen mit Apache CordovaMobile Anwendungen mit Apache Cordova
Mobile Anwendungen mit Apache Cordova
Yvette Teiken
 
Artikel Schweizer Bank: Vorteile von Open-Source-Software
Artikel Schweizer Bank: Vorteile von Open-Source-SoftwareArtikel Schweizer Bank: Vorteile von Open-Source-Software
Artikel Schweizer Bank: Vorteile von Open-Source-Software
Peter Affolter
 
Openshift
OpenshiftOpenshift
Openshift
storminator
 
Zühlke Whitepaper Client Technologien
Zühlke Whitepaper Client TechnologienZühlke Whitepaper Client Technologien
Zühlke Whitepaper Client Technologien
Thomas Memmel
 
Mobile Apps für Unternehmen: White Paper mit Praxistipps
Mobile Apps für Unternehmen: White Paper mit PraxistippsMobile Apps für Unternehmen: White Paper mit Praxistipps
Mobile Apps für Unternehmen: White Paper mit Praxistipps
SterzerPR
 
Winforms oder WPF - Ein Vergleich
Winforms oder WPF - Ein VergleichWinforms oder WPF - Ein Vergleich
Winforms oder WPF - Ein Vergleich
YUHIRO
 
Mobile Applikationen: Entwicklung, Rollout, Wartung - Tipps und Tricks für di...
Mobile Applikationen: Entwicklung, Rollout, Wartung - Tipps und Tricks für di...Mobile Applikationen: Entwicklung, Rollout, Wartung - Tipps und Tricks für di...
Mobile Applikationen: Entwicklung, Rollout, Wartung - Tipps und Tricks für di...
IKS Gesellschaft für Informations- und Kommunikationssysteme mbH
 
Software Entwicklung im Team
Software Entwicklung im TeamSoftware Entwicklung im Team
Software Entwicklung im Team
brandts
 
Deutsche Wolke Präsentation 100114
Deutsche Wolke Präsentation 100114Deutsche Wolke Präsentation 100114
Deutsche Wolke Präsentation 100114
Georg Klauser
 
Die Strategische Bedeutung Von Open Source FüR Das 3 D Internet V2
Die Strategische Bedeutung Von Open Source FüR Das 3 D Internet V2Die Strategische Bedeutung Von Open Source FüR Das 3 D Internet V2
Die Strategische Bedeutung Von Open Source FüR Das 3 D Internet V2
Andreas Mertens
 
Groupware Linuxtag 2008 Cb
Groupware Linuxtag 2008 CbGroupware Linuxtag 2008 Cb
Groupware Linuxtag 2008 Cb
bofh42
 

Ähnlich wie Die wichtigsten Technologien für die Entwicklung von Webanwendungen (20)

Top 10 Internet Trends 2005
Top 10 Internet Trends 2005Top 10 Internet Trends 2005
Top 10 Internet Trends 2005
 
6 verschiedene Arten von Software
6 verschiedene Arten von Software6 verschiedene Arten von Software
6 verschiedene Arten von Software
 
2008 - Gewinnung von OPEN SOURCE Techniken für junge Unternehmen
2008 - Gewinnung von OPEN SOURCE Techniken für junge Unternehmen2008 - Gewinnung von OPEN SOURCE Techniken für junge Unternehmen
2008 - Gewinnung von OPEN SOURCE Techniken für junge Unternehmen
 
Case Study: Cross-Platform Strategie in einem Großprojekt der App-Entwicklung...
Case Study: Cross-Platform Strategie in einem Großprojekt der App-Entwicklung...Case Study: Cross-Platform Strategie in einem Großprojekt der App-Entwicklung...
Case Study: Cross-Platform Strategie in einem Großprojekt der App-Entwicklung...
 
Gewinnung von OPEN SOURCE Techniken für junge Unternehmen
Gewinnung von OPEN SOURCE Techniken für junge UnternehmenGewinnung von OPEN SOURCE Techniken für junge Unternehmen
Gewinnung von OPEN SOURCE Techniken für junge Unternehmen
 
Plone im Kontext des WCMS Marktes
Plone im Kontext des WCMS MarktesPlone im Kontext des WCMS Marktes
Plone im Kontext des WCMS Marktes
 
Microsoft und die Open Source Community - Leaving the death star behind
Microsoft und die Open Source Community - Leaving the death star behindMicrosoft und die Open Source Community - Leaving the death star behind
Microsoft und die Open Source Community - Leaving the death star behind
 
Legacy php - Sanieren oder Ablösen?
Legacy php  - Sanieren oder Ablösen?Legacy php  - Sanieren oder Ablösen?
Legacy php - Sanieren oder Ablösen?
 
Einführung in die Mobile-Produktentwicklung: Konzeption, Design, Entwicklung,...
Einführung in die Mobile-Produktentwicklung: Konzeption, Design, Entwicklung,...Einführung in die Mobile-Produktentwicklung: Konzeption, Design, Entwicklung,...
Einführung in die Mobile-Produktentwicklung: Konzeption, Design, Entwicklung,...
 
Mobile Anwendungen mit Apache Cordova
Mobile Anwendungen mit Apache CordovaMobile Anwendungen mit Apache Cordova
Mobile Anwendungen mit Apache Cordova
 
Artikel Schweizer Bank: Vorteile von Open-Source-Software
Artikel Schweizer Bank: Vorteile von Open-Source-SoftwareArtikel Schweizer Bank: Vorteile von Open-Source-Software
Artikel Schweizer Bank: Vorteile von Open-Source-Software
 
Openshift
OpenshiftOpenshift
Openshift
 
Zühlke Whitepaper Client Technologien
Zühlke Whitepaper Client TechnologienZühlke Whitepaper Client Technologien
Zühlke Whitepaper Client Technologien
 
Mobile Apps für Unternehmen: White Paper mit Praxistipps
Mobile Apps für Unternehmen: White Paper mit PraxistippsMobile Apps für Unternehmen: White Paper mit Praxistipps
Mobile Apps für Unternehmen: White Paper mit Praxistipps
 
Winforms oder WPF - Ein Vergleich
Winforms oder WPF - Ein VergleichWinforms oder WPF - Ein Vergleich
Winforms oder WPF - Ein Vergleich
 
Mobile Applikationen: Entwicklung, Rollout, Wartung - Tipps und Tricks für di...
Mobile Applikationen: Entwicklung, Rollout, Wartung - Tipps und Tricks für di...Mobile Applikationen: Entwicklung, Rollout, Wartung - Tipps und Tricks für di...
Mobile Applikationen: Entwicklung, Rollout, Wartung - Tipps und Tricks für di...
 
Software Entwicklung im Team
Software Entwicklung im TeamSoftware Entwicklung im Team
Software Entwicklung im Team
 
Deutsche Wolke Präsentation 100114
Deutsche Wolke Präsentation 100114Deutsche Wolke Präsentation 100114
Deutsche Wolke Präsentation 100114
 
Die Strategische Bedeutung Von Open Source FüR Das 3 D Internet V2
Die Strategische Bedeutung Von Open Source FüR Das 3 D Internet V2Die Strategische Bedeutung Von Open Source FüR Das 3 D Internet V2
Die Strategische Bedeutung Von Open Source FüR Das 3 D Internet V2
 
Groupware Linuxtag 2008 Cb
Groupware Linuxtag 2008 CbGroupware Linuxtag 2008 Cb
Groupware Linuxtag 2008 Cb
 

Mehr von YUHIRO

34 Programmiersprachen und deren Stundensätze
34 Programmiersprachen und deren Stundensätze34 Programmiersprachen und deren Stundensätze
34 Programmiersprachen und deren Stundensätze
YUHIRO
 
Warum Vertrauen und Ehrlichkeit so wichtig sind in einer Geschäftsbeziehung
Warum Vertrauen und Ehrlichkeit so wichtig sind in einer GeschäftsbeziehungWarum Vertrauen und Ehrlichkeit so wichtig sind in einer Geschäftsbeziehung
Warum Vertrauen und Ehrlichkeit so wichtig sind in einer Geschäftsbeziehung
YUHIRO
 
Die wichtigsten Begriffe im digitalen Wandel
Die wichtigsten Begriffe im digitalen WandelDie wichtigsten Begriffe im digitalen Wandel
Die wichtigsten Begriffe im digitalen Wandel
YUHIRO
 
YUHIRO Technologies Private Limited
YUHIRO Technologies Private LimitedYUHIRO Technologies Private Limited
YUHIRO Technologies Private Limited
YUHIRO
 
Firmenprofil YUHIRO
Firmenprofil YUHIROFirmenprofil YUHIRO
Firmenprofil YUHIRO
YUHIRO
 
Values and Culture at YUHIRO
Values and Culture at YUHIROValues and Culture at YUHIRO
Values and Culture at YUHIRO
YUHIRO
 
Bilder der Eröffnungsfeier - Neues Büro in Kochi
Bilder der Eröffnungsfeier - Neues Büro in KochiBilder der Eröffnungsfeier - Neues Büro in Kochi
Bilder der Eröffnungsfeier - Neues Büro in Kochi
YUHIRO
 
Infografik - Das können Sie mit dem Geld machen, dass Sie mit Outsourcing nac...
Infografik - Das können Sie mit dem Geld machen, dass Sie mit Outsourcing nac...Infografik - Das können Sie mit dem Geld machen, dass Sie mit Outsourcing nac...
Infografik - Das können Sie mit dem Geld machen, dass Sie mit Outsourcing nac...
YUHIRO
 
24 Top IT Blogs im deutschsprachigen Raum
24 Top IT Blogs im deutschsprachigen Raum24 Top IT Blogs im deutschsprachigen Raum
24 Top IT Blogs im deutschsprachigen Raum
YUHIRO
 
YUHIRO Zusammenarbeitsmodell als Infografik
YUHIRO Zusammenarbeitsmodell als InfografikYUHIRO Zusammenarbeitsmodell als Infografik
YUHIRO Zusammenarbeitsmodell als Infografik
YUHIRO
 
25 Top Internetagenturen in München
25 Top Internetagenturen in München25 Top Internetagenturen in München
25 Top Internetagenturen in München
YUHIRO
 
Was einen guten Projektmanager ausmacht
Was einen guten Projektmanager ausmachtWas einen guten Projektmanager ausmacht
Was einen guten Projektmanager ausmacht
YUHIRO
 
Case Study Softwareentwickler aus Indien für Agentur aus München
Case Study Softwareentwickler aus Indien für Agentur aus MünchenCase Study Softwareentwickler aus Indien für Agentur aus München
Case Study Softwareentwickler aus Indien für Agentur aus München
YUHIRO
 
Was ist und wie funktioniert TransferWise
Was ist und wie funktioniert TransferWiseWas ist und wie funktioniert TransferWise
Was ist und wie funktioniert TransferWise
YUHIRO
 
22 wichtige Erkenntnisse aus 5 Jahren YUHIRO
22 wichtige Erkenntnisse aus 5 Jahren YUHIRO22 wichtige Erkenntnisse aus 5 Jahren YUHIRO
22 wichtige Erkenntnisse aus 5 Jahren YUHIRO
YUHIRO
 
11 interessante Teambuilding Massnahmen
11 interessante Teambuilding Massnahmen11 interessante Teambuilding Massnahmen
11 interessante Teambuilding Massnahmen
YUHIRO
 
Muster für Arbeitsverträge mit Softwareentwicklern
Muster für Arbeitsverträge mit SoftwareentwicklernMuster für Arbeitsverträge mit Softwareentwicklern
Muster für Arbeitsverträge mit Softwareentwicklern
YUHIRO
 
YUHIRO Firmenprofil
YUHIRO FirmenprofilYUHIRO Firmenprofil
YUHIRO Firmenprofil
YUHIRO
 

Mehr von YUHIRO (18)

34 Programmiersprachen und deren Stundensätze
34 Programmiersprachen und deren Stundensätze34 Programmiersprachen und deren Stundensätze
34 Programmiersprachen und deren Stundensätze
 
Warum Vertrauen und Ehrlichkeit so wichtig sind in einer Geschäftsbeziehung
Warum Vertrauen und Ehrlichkeit so wichtig sind in einer GeschäftsbeziehungWarum Vertrauen und Ehrlichkeit so wichtig sind in einer Geschäftsbeziehung
Warum Vertrauen und Ehrlichkeit so wichtig sind in einer Geschäftsbeziehung
 
Die wichtigsten Begriffe im digitalen Wandel
Die wichtigsten Begriffe im digitalen WandelDie wichtigsten Begriffe im digitalen Wandel
Die wichtigsten Begriffe im digitalen Wandel
 
YUHIRO Technologies Private Limited
YUHIRO Technologies Private LimitedYUHIRO Technologies Private Limited
YUHIRO Technologies Private Limited
 
Firmenprofil YUHIRO
Firmenprofil YUHIROFirmenprofil YUHIRO
Firmenprofil YUHIRO
 
Values and Culture at YUHIRO
Values and Culture at YUHIROValues and Culture at YUHIRO
Values and Culture at YUHIRO
 
Bilder der Eröffnungsfeier - Neues Büro in Kochi
Bilder der Eröffnungsfeier - Neues Büro in KochiBilder der Eröffnungsfeier - Neues Büro in Kochi
Bilder der Eröffnungsfeier - Neues Büro in Kochi
 
Infografik - Das können Sie mit dem Geld machen, dass Sie mit Outsourcing nac...
Infografik - Das können Sie mit dem Geld machen, dass Sie mit Outsourcing nac...Infografik - Das können Sie mit dem Geld machen, dass Sie mit Outsourcing nac...
Infografik - Das können Sie mit dem Geld machen, dass Sie mit Outsourcing nac...
 
24 Top IT Blogs im deutschsprachigen Raum
24 Top IT Blogs im deutschsprachigen Raum24 Top IT Blogs im deutschsprachigen Raum
24 Top IT Blogs im deutschsprachigen Raum
 
YUHIRO Zusammenarbeitsmodell als Infografik
YUHIRO Zusammenarbeitsmodell als InfografikYUHIRO Zusammenarbeitsmodell als Infografik
YUHIRO Zusammenarbeitsmodell als Infografik
 
25 Top Internetagenturen in München
25 Top Internetagenturen in München25 Top Internetagenturen in München
25 Top Internetagenturen in München
 
Was einen guten Projektmanager ausmacht
Was einen guten Projektmanager ausmachtWas einen guten Projektmanager ausmacht
Was einen guten Projektmanager ausmacht
 
Case Study Softwareentwickler aus Indien für Agentur aus München
Case Study Softwareentwickler aus Indien für Agentur aus MünchenCase Study Softwareentwickler aus Indien für Agentur aus München
Case Study Softwareentwickler aus Indien für Agentur aus München
 
Was ist und wie funktioniert TransferWise
Was ist und wie funktioniert TransferWiseWas ist und wie funktioniert TransferWise
Was ist und wie funktioniert TransferWise
 
22 wichtige Erkenntnisse aus 5 Jahren YUHIRO
22 wichtige Erkenntnisse aus 5 Jahren YUHIRO22 wichtige Erkenntnisse aus 5 Jahren YUHIRO
22 wichtige Erkenntnisse aus 5 Jahren YUHIRO
 
11 interessante Teambuilding Massnahmen
11 interessante Teambuilding Massnahmen11 interessante Teambuilding Massnahmen
11 interessante Teambuilding Massnahmen
 
Muster für Arbeitsverträge mit Softwareentwicklern
Muster für Arbeitsverträge mit SoftwareentwicklernMuster für Arbeitsverträge mit Softwareentwicklern
Muster für Arbeitsverträge mit Softwareentwicklern
 
YUHIRO Firmenprofil
YUHIRO FirmenprofilYUHIRO Firmenprofil
YUHIRO Firmenprofil
 

Die wichtigsten Technologien für die Entwicklung von Webanwendungen

  • 1. yuhiro.de http://www.yuhiro.de/technologien-fuer-die-entwicklung-von-webanwendungen/ Sascha Thattil Die wichtigsten Technologien für die Entwicklung von Webanwendungen Webtechnologien werden immer wichtiger. Unternehmen und Endnutzer können, ohne Software auf ihrem Rechner zu installieren, auf Applikationen, über das Internet, zugreifen. Hierdurch ergeben sich einige Vorteile. Ein grosser Vorteil ist sicherlich auch, dass alle Daten zentral online gespeichert werden, und dadurch “Daten-Silos” vermieden werden, welche man nur schwer zusammenführen kann. In diesem Beitrag beschreiben wir die wichtigsten Technologien für die Entwicklung von solchen Online-Applikationen. Grundsätzlich kann man zwischen Server-seitiger und Client-seitiger Programmierung sprechen. Für beides gibt es unterschiedliche Technologien. Server-seitige Programmierung Die Folgenden werden für die Server-seitige Programmierung genutzt. Diese sind Programmierungen, welche für den Endnutzer nicht sichtbar sind. Zum Beispiel wird eine Information aus der Datenbank gesucht und bereitgestellt, dies wird mit dem Server-seitigen Coding erreicht. Die derzeit beliebtesten Webtechnologien sind PHP, ASP.NET, Python, Java und Ruby. Mehr dazu im Folgenden: 1/12
  • 2. PHP: PHP ist Open Source. Dies bedeutet, dass der meiste Code, welcher Online verfügbar ist, kostenfrei und ohne Lizenz zu erwerben sind. Lange Zeit war PHP nicht für komplexe Programmierungen genutzt worden. Dies hat sich jedoch in den letzten Jahren geändert. Besonders durch Frameworks wie Laravel, weiter unten in diesem Beitrag beschrieben, machen die Programmiersprache wieder interessant. Bekanntermassen nutzen Facebook und Wikipedia PHP für deren Seiten. 3 Vorteile Weit verbreitet: Ein Grossteil der Webseiten weltweit läuft auf PHP Viele Entwickler: Man findet PHP Entwickler weltweit Gereift: Die Technologie besteht schon seit mehreren Jahrzehnten und ist daher bereits durchgängig getestet und ausgebessert worden 3 Nachteile Nicht so strukturiert: Da es bei PHP sehr viele Programmierer gibt, welche ihren Input hinzugeben und die Programmiersprache sich über die Jahre hinweg entwickelt hat, ist nicht alles so strukturiert. Ein Gesamtkonzept, wie zum Beispiel für Microsofts ASP.NET, fehlt Performance: Viele vermeiden PHP wenn es um die Programmierung von Anwendungen geht, welche sehr rechenlastig sind. In den letzten Jahren hat sich das natürlich, durch die neuen Frameworks, geändert Sicherheit: Da der Code von allen eingesehen werden kann, sind Applikationen auf dieser Softwaresprache etwas anfälliger für Online-Angriffe 2/12
  • 3. ASP.NET: ASP.NET ist mehr im Bereich Geschäfts-Webapplikationen zu finden. Dies liegt auch daran, dass Microsoft, der Bereitsteller dieser Technologie, einen Fokus darauf hatte, diese als solche zu etablieren. ASP.NET wird in vielen Online Anwendungen genutzt. Zum Beispiel nutzt Microsoft diese selbst, um zum Beispiel outlook.com (die Online Version des beliebten Desktop Email-Clients Outlook) bereitzustellen. Viele Softwarefirmen nutzen es zudem, um Geschäftsapplikationen zu schreiben. 3 Vorteile Gesamtkonzept: Alle Komponenten von ASP.NET sind gut durchdacht und greifen ineinander ein. Das liegt auch daran, dass Microsoft hier ein Gesamtkonzept, für diese Technologie, bereits vor der Entwicklung dieser, hatte Microsoft: Microsoft ist der Bereitsteller dieser spannenden Web Lösung. Manche Komponenten sind zwar kostenpflichtig, dafür geht man jedoch sicher, dass die Lösung gut funktioniert Grosse Applikationen: Mit ASP.NET lassen sich grosse Software-Webapplikationen mit sehr wenig Code schreiben 3 Nachteile Microsoft: Das der Bereitsteller Microsoft ist, ist ein Vorteil und ein Nachteil zugleich. Viele Programmierer wollen lieber nicht mit der Software eines Grossunternehmens arbeiten, da diese Unternehmen meistens eigene Interessen verfolgen Kosten: Viele der Werkzeuge, welche Microsoft, auch im Zusammenhang mit ASP.NET, bereitstellt, sind kostenpflichtig. Für kleine Unternehmen, Agenturen und Freelancer lohnt sich die Software also eher weniger Sehr grosse Applikationen: Für Applikationen, welche von mehreren Millionen Anwendern gleichzeitig genutzt werden, macht ein Programmierung mit Java mehr Sinn. Python: Python wird, meiner Meinung nach, nicht so oft für die Webprogrammierung genutzt. 3/12
  • 4. Dennoch findet es seinen Weg oftmals, neben ASP.NET und Java, in Unternehmen, welche es für Geschäftsanwendungen nutzen. Auch Endnutzer Systeme werden mit Python programmiert. YouTube, Google und DropBox laufen zu einem Teil auf Python, was zeigt, dass es stark, robust und schnell ist. 3 Vorteile Einfacher zu erlernen: Python ist einfacher zu erlernen als zum Beispiel Java oder C++. Strukturierter: Gegenüber anderen Sprachen, wie zum Beispiel PHP, ist Python viel strukturierter. Dies ermöglicht zudem einen fehlerfreieren Code sowie eine schnellere Programmierung Schnell entwickelt: Mit Python lassen sich Anwendungen schneller programmieren, als mit anderen Sprachen 3 Nachteile Entwickler schwer zu finden: Im Gegensatz zu Python, lassen sich Entwickler für PHP, ASP.NET oder Java sehr einfach finden. Auch wenn Python sehr robust und flexibel ist. Dies bringt wenig wenn man keine Entwickler dafür findet Experten benötigt: Ein Anfänger wird es meistens nicht schaffen eine gute Python Applikation zu schreiben. Es benötigt Experten. Wie im ersten Nachteil bereits geschrieben, ist es schwer Programmierer in diesem Bereich zu finden. Experten zu finden wird daher noch etwas schwieriger Dokumentation: Auch wenn die Sprache einfach zu erlernen ist. Es lässt sich nur schwer gute Dokumentationen für diese finden Java: Java ist eines der Werkzeuge für Unternehmen, um grosse Geschäftsanwendungen zu schreiben. Es ist um ein vielfaches schwerer zu erlernen als PHP oder ASP.NET. Daher findet man zwar Experten dazu. Jedoch muss man stärker suchen und definitiv auch mit höheren Kosten, durch die höheren Gehälter in diesem Bereich, rechnen. Wer jedoch gute Entwickler findet, kann damit sehr grosse, komplexe und performante Webanwendungen programmieren. 4/12
  • 5. 3 Vorteile Zukunftsfähig: Java gibt es schon seit sehr langem und die Chancen sind mehr als gering, dass es in den nächsten Jahren an Popularität verliert Weit verbreitet: Java wird in den meisten Grossunternehmen genutzt. Laut IDC (International Data Corporation, Marktforschungsunternehmen) nutzen 90 Prozent der Fortune 500 Unternehmen (die 500 grössten Firmen der Welt) Java, um ihre Geschäftsanwendungen zu betreiben Android: Die Entscheidung von Google, Java zu nutzen, um seine mobile Plattform Android zu schreiben, hat Java noch weiter gestärkt. Ein Grossteil der mobilen Endgeräte läuft heutzutage auf Android und damit auf Java 3 Nachteile Entwickler teuer: Da Java-Entwickler zum grössten Teil in Grossunternehmen beschäftigt sind, erhalten sie meistens ein sehr hohes Gehalt und sind für kleinere Unternehmen eher schwer zu finden und einzustellen Expertise notwendig: Genau wie bei Python, lassen sich auch mit Java, Applikationen nur mit Experten entwickeln. Wobei die Programmierung mit Java, meiner Meinung nach noch etwas komplexer ist, als mit Python Sicherheit: Da Java Plattform-unhabhängig ist, wird Java auch als weniger sicher gehandelt, als andere Sprachen Ruby: Ruby ist eine sehr beliebte Softwaresprache für die Programmierung von Webapplikationen. Besonders das Ruby Framework Rails, lässt diese Technologie im positiven Licht dastehen. Ich würde behaupten, dass sich damit mittelgrosse bis grosse Applikationen erstellen lassen. Besonders Startups haben einen Fokus darauf, da sich damit relativ schnell programmieren lässt. 3 Vorteile 5/12
  • 6. Fokus auf das Internet: Ruby ist eine auf das Web fokussierte Programmiersprache, anders als zum Beispiel .NET oder Java. Daher berücksichtigt es viele der Besonderheiten des Internets Wartbarkeit: Ruby lässt sich einfach warten. Dies bedeutet auch, dass sich einmal geschriebener Code auch durch einen neuen Programmierer einfach warten und weiterentwickeln lässt Schnelligkeit: Es lässt sich mit Ruby sehr schnell Applikationen erzeugen, für welche man mit anderen Sprachen länger bräuchte 3 Nachteile Programmierer schwer zu finden: Ruby Programmierer lassen sich, zum Teil, noch schwerer finden als Java Experten Skalierbarkeit: Einige Programmierer beschweren sich, dass Ruby schwer nach oben skalierbar ist. Twitter ist zum Beispiel mit Ruby gestartet und ist dann auf Java umgestiegen. Dies soll jedoch nicht bedeuten, dass Ruby die falsche Entscheidung für Twitter war, sondern nur, dass ab einer bestimmten Grösse, ein Werkzeug wie Java die bessere Wahl ist Dokumentation: Es lässt sich relativ schwer eine gute Dokumentation zu Ruby finden. Das bedeutet auch, dass man sich länger mit dem Code beschäftigen muss Web-Frameworks Für alle diese Softwaresprachen gibt es sogenannte Frameworks, welche die Arbeit mit diesen Sprachen, um einiges vereinfacht. Meistens handelt es sich um Code-Bibliotheken, in welchen sich viele oder die meisten Funktionalitäten bereits finden lassen. So kann man darauf verzichten alles von Grund auf neu zu programmieren, sondern kann auf diese Framworks zurückgreifen. Diese Frameworks sind besonders für mittelgrosse bis grosse Applikationen geeignet, welche schnell entwickelt werden müssen, skalierbar bleiben sollen und von vielen Anwendern genutzt werden. Die wichtigsten Frameworks im Überblick: PHP Laravel 6/12
  • 7. Laravel ist ein eher neueres PHP Framework. Es wird genutzt um schnelle und leichte Online- Applikationen zu schreiben. 3 Vorteile Leichtgewicht: Es eignet sich für kleine Unternehmen mit einem Programmierer oder einigen wenigen, um leichte Applikationen zu schreiben, welche man zum Beispiel auch als Geschäftsanwendungen nutzt Sehr gut dokumentiert: Es gibt sehr gute Dokumente und Tutorials welche Laravel im Detail erklären Popularität: In den letzten Monaten und Jahren ist die Popularität von Laravel extremst gestiegen. Neben Zend ist Laravel heutzutage wohl das beliebteste PHP Framework 3 Nachteile Taylor Otwell: Taylor Otwell ist der Haupt-Autor von Laravel. Dies ist zum Teil auch eine Gefahr. Was ist wenn er das Framework nicht weiterführt? Die Weiterführung wäre in diesem Fall nicht geklärt Sehr neu: Da es ein sehr neues Framework ist, gibt es noch nicht viele Programmierer die damit arbeiten Sicherheit: Da es ein sehr neues Framework ist, ist auch der Sicherheitsaspekt noch nicht hundert Prozent auf dem höchstem Niveau. Dies wird sich sicherlich in den nächsten Monaten und Jahren enorm verbessern. Zum derzeitigen Zeitpunkt gibt es jedoch Sicherheitslücken ASP.NET MVC Mit ASP.NET MVC lassen sich spannende Geschäftsanwendungen schreiben. Auch dieses Framework hat in den letzten Jahren an Popularität gewonnen. Sicherlich war das von dem Hersteller, in diesem Fall, Microsoft, auch so gewollt. Microsofts MVC ist gut strukturiert und es lassen sich skalierbare Anwendungen programmieren. 3 Vorteile 7/12
  • 8. Unterstützt Test-Driven Development: Es ist relativ einfach automatisierte Tests zu schreiben, um den Code zu überprüfen Viele Entwickler gleichzeitig: Mit dem ASP.NET MVC Framework lässt es sich einfach in grossen Teams arbeiten Komplexität einfacher handhabbar: Durch die Einteilung der Anwendung in Model, View und Controller, können MVC Applikationen einfacher und übersichtlicher programmiert werden 3 Nachteile Komplex für einfache Aufgaben: Es lohnt sich für Entwickler nicht auf Frameworks wie das ASP.NET Webforms zu setzen, wenn es sich eher um kleinere Applikationen handelt. MVC kann zu komplex sein, für kleine Teams, welche kleine Programme schreiben Kenntnisse in HTML & CSS benötigt: Wer mit dem ASP.NET MVC Framework arbeiten möchte, benötigt gute Kenntnisse in den Client-seitigen Technologien HTML und CSS Lernkurve: Es braucht einiges an Zeit sich dieses Framework anzueignen Python Django Django ist das wichtigste Python Framework. Es eignet sich besonders für Startups, welche sehr schnell programmieren möchten und dieses Framework auch später behalten wollen. Dass heisst, es ist skalierbar. 3 Vorteile Grossartige Community: Es gibt eine grosse Community (Englisch für “Gemeinschaft”, in diesem Fall Programmierer-Gemeinschaft), welche das Framework nutzt und weitere Beiträge (Django ist Open Source) dazu leistet D.R.Y: D.R.Y steht für Don’t Repeat Yourself. Es ist die Philosophie welche hinter Django steckt. Dies bedeutet, dass das Framework einen Fokus darauf hat, soviel aus geschriebenen Code zu bekommen wie nur möglich. Das macht es möglich, dass man in weniger Zeit, arbeitenden Code erzeugen kann 8/12
  • 9. Alternative zu Ruby on Rails: Am nahesten kommt Django dem Rails Framework für Ruby. Django ist eine Alternative zu Rails. Manche Entwickler empfinden Django einfacher zu nutzen als Ruby 3 Nachteile Entwickler: Wie bei Ruby auch, kann es schwer werden passende Entwickler zu finden Wenig geeignet für Mobile: Nur sehr wenige Smartphone Applikationen werden mit Python geschrieben Deployment: Das Deployment von Django auf dem Produktivserver, wird besonders von Einsteigern, als eher schwierig bezeichnet Ruby Rails Rails ist das prominenteste der Ruby Frameworks. Es wurde initial entwickelt, um das prominente Projektmanagement Werzeug BaseCamp zu bauen. Rails ist im Jahr 2004, ein Jahr vor dem offiziellen Start von Django, veröffentlicht worden und hat auch eine grössere Community als Django. 3 Vorteile Sauberer Code: Wie Laravel für PHP, hilft auch Rails, sauberen Code mit Ruby zu erstellen Grössere Community: Wie bereits erwähnt, hat Rails mehr Nutzer, als sein direkter Wettbewerber Django Kostengünstige Entwicklung möglich: Individual Software ist in den meisten Fällen sehr teuer zu bauen. Rails ermöglicht die Kosten für solche Software zu verringern 3 Nachteile Geschwindigkeit: Wenn man sehr schnelle Applikationen benötigt, sollte man auf Java setzen Hosting: Es ist schwer ein passendes Hosting für Rails zu finden. Für PHP ist es hingegen keine Herausforderung ein passendes und günstiges Hosting zu bekommen 9/12
  • 10. Fehlende Unterstützung von grossen Unternehmen: Hinter Java steht die Firma Oracle, hinter PHP steht Zend, hinter Angular.JS steht Google. Für Ruby und Rails fehlt eine solche Unterstützung von Grossunternehmen Client-seitige Programmierung In der Webentwicklung müssen nicht nur Funktionen ausgeführt werden, sondern diese müssen dem Nutzer auch als Resultat Online im Browser angezeigt werden. Hierfür nutzt man Client-seitige Webtechnologien. Im Weiteren die Wichtigsten davon: HTML: HTML steht für Hypertext Markup Language und wird genutzt um Web-Seiten anzuzeigen. Farben, Schrift, Hyperlinks, etc. können darüber angezeigt und geändert werden. CSS: CSS steht für Casdading Style Sheet und hilft dabei, wie HTML Elemente auf dem Bildschirm angezeigt werden. Das Layout kann hiermit verändert werden. JavaScript: JavaScript wird üblicherweise für die Client-seitige Programmierung genutzt. Dieser Code wird in die HTML Seite geschrieben. Falls der Nutzer die HTML Seite aufruft, dann wird die JavaScript Programmierung zum Browser gesendet. Der Browser wiederum entscheidet, was es mit dem JavaScript Code machen soll. Ein simples Pop Up, wäre ein Anwendungsbeispiel, welches man mit JavaScript umsetzen kann. jQuery: jQuery macht es einfacher JavaScript zu nutzen. Komplizierte JavaScript Programmierungen, welche mehrere Zeilen Code benötigen, können mit jQuery in einer einzigen Zeile Code aufgerufen werden. Ajax: Ajax steht für Asynchronous JavaScript und XML. Es wird genutzt, so dass die Client- Seite mit der Server-Applikationen kommunizieren kann. Beispiel: Ein Nutzer klickt mit dem Cursor auf ein Element der Website. Daraufhin sendet Ajax eine Anfrage, mithilfe von XML zur Server-seitigen Applikation. Die Serverseitige Programmierung verarbeitet die Anfrage und sendet die Informationen via XML zurück zur Client-Seite (zur Webseite) welches die Anfrage stellte. Eine zweite JavaScript Funktion holt die Daten/ Informationen ab und zeigt diese Daten auf der Webseite an. 10/12
  • 11. Angular.JS: Angular.JS (auch Angular genannt) ist ein JavaScript Framework, welches in den letzten Jahren einiges an Popularität gewonnen hat. Damit lassen sich einfach Client-seitige Webanwendungen schreiben. Einmal durch den Anwender über den Browser aufgerufen, muss es kein weiteres mal mit dem Server kommunizieren. Hierdurch läuft die Applikation schneller. Komplexer Code und Programmierungen können mit Angular auf einfache Weise erstellt werden. Datenbanken Datenbank: Hierbei handelt es sich eine Ansammlung von organisierten Daten. Es ist eine Sammlung von Tabellen, Suchanfragen, Reporten, Ansichten und anderen Objekten. Datenbank Management System (DBMS): DBMS ist eine Softwareapplikation welches mit dem Nutzer, anderen Applikationen und der Datenbank selbst interagiert, um Daten aufzunehmen oder Daten zu analysieren. Ein übliches DBMS ist dazu gemacht, um Datenbanken zu definieren, zu erstellen, abzufragen, upzudaten und diese zu administrieren. Bekannte DBMS sind MySQL, SQL Server von Microsoft, Oracle oder DB2. Fazit Die in diesem Beitrag genannten server-seitigen Softwaresprachen PHP, ASP.NET, Python, Java, Ruby, die dazugehörigen Webframeworks Laravel, MVC, Django, Rails, die client-seitigen Werkzeuge HTML, CSS, JavaScript, jQuery, Ajax, Angular.JS und die Datenbanksoftware MySQL, SQL Server, Oracle, DB2 sind die bedeutendsten Technologien wenn es darum geht, Webanwendungen zu schreiben. Viele dieser Werkzeuge werden uns auch in Zukunft (in den nächsten Jahren) erhalten bleiben, daher macht es Sinn sich diese anzueignen. Welche Erfahrungen habt Ihr gemacht? Was könnt Ihr empfehlen? 11/12
  • 12. Bilder: Flickr.com/ Hassman/ Kinney/ Das/ Hoerner_brett/ Rotondo/ Morrison/ Condo/ Murphy/ Laine/ Wu/ Lucas/ Winstead Der Autor: Sascha Thattil arbeitet bei YUHIRO und hilft Unternehmern und Unternehmen beim einfachen Aufbau von Programmier-Teams in Indien. YUHIRO ist ein deutsch-indisches Unternehmen welches IT Firmen, Agenturen und IT Abteilungen Softwareentwickler bereitstellt. Artikel teilen 12/12