Was gefällt dir am besten ASP.NET?
ASP.NET ist ein hervorragendes Framework zum Erstellen von Webanwendungen in einer Windows-Umgebung. Vor etwa 2 Jahren kündigte Microsoft an, dass ein großer Teil von .NET als Open Source verfügbar gemacht werden würde. Das war enorm. Tatsächlich hatte ich mich von .NET abgewandt, um mit JVM-basierten Sprachen zu arbeiten, und diese Ankündigung brachte mich zurück zu .NET.
Ich mag auch die Vielzahl an Tools, die für ASP.NET leicht verfügbar sind, einschließlich MVC, WebForms, Web API und Entity Framework.
Die Leichtigkeit, mit der man ASP.NET-Anwendungen auf lokale Server oder auf Azure bereitstellen kann, ist großartig. Bewertung gesammelt von und auf G2.com gehostet.
Was gefällt Ihnen nicht? ASP.NET?
Das, was ich an ASP.NET am meisten nicht mag, ist, wie sehr Microsoft versucht hat, die Softwareentwicklung zu einem RAD ("Rapid Application Development") zu machen. Das ist sowohl eine gute als auch eine schlechte Sache. Es ist gut, weil Entwickler schnell eine Anwendung mit Visual Studio zusammenstellen können und fast jeder diese Anwendung durch Zeigen, Klicken und Bearbeiten von visuellen Komponenten in der IDE warten kann.
Diese Vereinfachung der Softwareentwicklung ermöglicht es vielen sehr unerfahrenen Entwicklern, innerhalb von Anwendungen ohne viel Komplexität zu arbeiten. Das Problem dabei ist, dass solche Entwickler buchstäblich jahrelang an diesem Punkt verharren können, ohne weiterzukommen. Ich habe einmal jemanden mit 10 Jahren Erfahrung für eine Senior-Position interviewt, und aufgrund von Microsofts guten Absichten kannte er keine fortgeschrittenen Themen wie Reflection oder das Modifizieren der ASP.NET-Pipeline. Das sieht man oft in der .NET-Community, und es führt zu viel unnötigem Wartungsaufwand für Software sowie zu Betriebsaufwand.
Apropos Overhead: Vor der aktuellen Open-Source-Verschiebung von Microsoft erforderte ASP.NET meist die Bereitstellung auf Windows-Servern. Dies erfordert oft teure Lizenzen. Es war schon seit einiger Zeit möglich, auf Linux oder OS X Server mit Mono bereitzustellen, aber es gab immer subtile Unterschiede zwischen Mono und Microsoft .NET, die dieses Bereitstellungsszenario zu einem Ärgernis machten.
Ein weiteres Problem, das ich mit ASP.NET und .NET im Allgemeinen habe, ist, wie die Frameworks versioniert sind. Man hat ASP.NET 4, das auf .NET 3.5 oder den vielen Versionen von 4.x laufen kann. Die Tatsache, dass die Version von ASP.NET nicht mit der .NET-Laufzeit synchron ist, hat viele Entwickler immer verwirrt.
Um die Verwirrung bei der Versionierung noch zu verstärken, wird Microsofts neuer Ansatz für ASP.NET (nennen wir es ASP.NET 5) auf .NET 4.5.x und dem neuen Open-Source-'.NET Core' laufen. Microsoft hat kürzlich eine Matrix erstellt (https://github.com/dotnet/corefx/blob/master/Documentation/project-docs/standard-platform.md), um jegliche Verwirrung bei der Versionierung zu klären. Um das Ganze noch zu verkomplizieren, gibt es derzeit Diskussionen, ASP.NET 5 in ASP.NET 1.0 umzubenennen.
Zusätzlich zu diesem Versionierungswahnsinn ist das neue ASP.NET für Ingenieure geschrieben (z.B. diejenigen, die: Bibliotheken/Module/SDKs schreiben können, Abhängigkeitsinjektion und Abstraktionen sehr gut verstehen, neue Werkzeuge schnell lernen können) anstatt für Entwickler (z.B. diejenigen, die Bibliotheken und Frameworks verwenden, um Anwendungen zu erstellen). Ich habe das Gefühl, dass Unternehmen, die mit ASP.NET weitermachen, diese abrupte Verschiebung vom RAD-Fokus zurück zur Software als Wissenschaft und Kunst schmerzlich entdecken werden. Mit anderen Worten, es wird eine steilere Kluft zwischen "Rockstars" und "Anfängern" geben. Bewertung gesammelt von und auf G2.com gehostet.