Entwickler, die auf der Windows-Plattform Web-Anwendungen entwickeln greifen meist zu ASP.NET. Die enge Bindung an das Ökosystem von .NET und die vielfältigen Erweiterungsmöglichkeiten sind attraktiv. Mit Visual Studio steht eine umfassende IDE zur Verfügung. Backend und Frontend werden durch flankierende Technologien unterstützt.

Seit ein paar Jahren ist in der Open Source-Welt der Begriff MEAN präsent – MongoDb, Express, Angular, Node. Alles Technologien, die nicht weiter von ASP.NET entfernt sein könnten, aber derselben Art von Anwendungen dienen. Was macht den Erfolg aus und muss man sich als Windows-Entwickler damit beschäftigen?

Fokus

Sieht man Web-Entwickler eine Applikation an ihrem Mac in wenigen Tagen zusammen hacken (!sic), dann kann man als Windows-Entwickler schon neidisch werden. Wenn eine Anbindung an ein Active Directory, SAP oder einen Exchange Server notwendig wird, dreht sich der Spieß freilich um.

Der Erfolg der MEAN-Stacks und ähnlicher Ökosysteme ist im Wesentlichen der Fokus auf eine Anwendungskategorie – Web. Wer genau dort unterwegs ist und ablenkungsfrei arbeiten will, der wird schnell von der Einfachheit profitieren. Dies ist besonders dann hilfreich, wenn man sich erst in einige Aspekte einarbeiten muss und eine Lernphase zu überstehen hat. Hier kommt der erste Erfolg schlicht schneller als in der .NET-Welt.

Nun ist nie immer alles Gold was glänzt. Besonders im kommerziellen, industriellen Bereich ist die Windows-Plattform enorm erfolgreich und kaum zu ersetzen, denn Applikationen beginnen und enden nicht als reine Web-Umgebung. Neben Active Directory-basierter Authentifizierung ist hier die Integration mit Mail-Systemen, Backend-Produkten, Schnittstellen zu diversen Produktionssteuerungssystemen, Fremdsoftware, Maschinensteuerungen usw. enorm wichtig. Schon ein paar serielle Schnittstellen oder eine CAN-Bus-Anbindung kann einer reinen Web-Anwendung den Garaus machen.

Auswahl

MEAN ist erfolgreich, wenn der Fokus auf Web sinnvoll und möglich ist. MEAN ist eine Sackgasse, wenn eine Integration in ein komplexes Intranet geplant ist. Die Entscheidung hängt vom konkreten Einzelfall ab.

MEAN ist derzeit mit allen seinen Bausteinen sehr jung und entsprechend volatil. Bei Produktzyklen von wenigen Monaten – nicht unüblich im StartUp-Bereich – spielt das kaum eine Rolle. Wer Produktzyklen eher in Jahren misst der sollte hier extrem vorsichtig sein. Abkündigungen sind eher Regel als Ausnahme, endlose Forks erschweren die Übersicht und neue Frameworks entstehen fast täglich. Was heute noch als en-vogue gilt kann morgen bereits völlig tot sein.

Wer langfristig entwickeln will, wird früher oder später viel Aufwand treiben oder eine Organisation aufbauen müssen, die das verkraftet. Ist das nicht möglich, ist MEAN keine gute Wahl.

Nichtsdestotrotz gibt es Berührungspunkte. In der MEAN-Welt wird oft zu Bootstrap als CSS-Framework gegriffen. Das ist auch mit ASP.NET der Fall. Single-Page-Applikationen (SPA) werden bei ASP.NET mit Knockout und Sammy gebaut, beides bekannte Open Source Bibliotheken. Anstatt dieser kann man auch AngularJS einsetzen. Das neue (ASP).NET 5 Core Framework ist ein Schritt in Richtung einer vereinfachten, fokussierten Infrastruktur und gilt inzwischen als sanfter Weg weg vom fetten .NET hin zu einer schlanken Umgebung. Wie MEAN ist auch dieser Kern weitgehend plattformunabhängig und kann auf Windows, Mac und Linux installiert werden.

Empfehlung

Web-Entwicklern sei an dieser Stelle dringend ans Herz gelegt, sich umfassend mit dem „Web-Stack“ auseinanderzusetzen. Dazu gehören sichere Kenntnisse in den zugrunde liegenden Technologien:

  • HTML 5
  • CSS 3
  • HTTP 1.1 und 2.0 inkl. WebSockets
  • REST und XML
  • SQL und NoSQL

Dazu gehört auch ein solider Werkzeugkasten:

  • Visual Studio
  • Visual Studio Code
  • Fiddler
  • Chrome, Firefox, IE

Wer tiefer einsteigen will, kann sich noch in die Welt der Clients und Repositories einarbeiten.

Damit lässt sich sowohl ASP.NET als auch MEAN nutzen und beherrschen. Dieselben Grundlagen, anderer Fokus. Wer mit Softwareentwicklung sein Geld verdient, der sollte sich auch Fragen, wie seine Kunden aussehen. Wer für große Unternehmen arbeiten möchte, wird mit MEAN nicht wirklich erfolgreich sein. Wer lieber im StartUp zu Hause ist, der wird eher selten zu ASP.NET-Projekten kommen.

MEAN versus ASP.NET
Markiert in: