Acht Gründe, warum Microsoft Stack immer noch eine gute Wahl ist

Veröffentlicht: 2022-03-11

Vor 10 Jahren war das Leben für Microsoft-Entwickler großartig. Unternehmen waren zufrieden damit, bei ihren Entwicklungsprojekten zu 100 Prozent auf Microsoft zu setzen. Mit ASP.NET im Frontend, .NET Middle-Tier und SQL Server im Backend funktionierten die Dinge größtenteils sehr gut. Wenn dies nicht der Fall war, akzeptierten die Entwickler dies einfach als etwas, das mit dem Territorium einherging. Microsoft war alles andere als die Show zu führen. Dann, Ende des letzten Jahrzehnts, begann sich Microsofts 800-Pfund-Gorilla-Status aufzulösen. Vielleicht lag es an der Einführung des iPhone und daran, dass Microsoft die Umstellung auf Mobilgeräte verpasst hat, oder vielleicht an der Verbreitung von Open-Source-Projekten, aber die Dinge haben sich geändert, und heute müssen dieselben Unternehmen davon überzeugt werden, dass es Microsoft Stack ist eine gute Idee. Dieser Artikel stellt acht Gründe vor, die dafür sprechen, beim Microsoft-Software-Stack zu bleiben.

Grund Nr. 1: .NET ist immer noch eines der Besten

.NET Framework wurde vor mehr als 10 Jahren eingeführt, ist reich an Funktionen und gründlich erprobt. Während es in den frühen Tagen von .NET üblich war, native Entwicklung mit verwaltetem Code zu kombinieren, wird heute die überwiegende Mehrheit der Entwicklungsaufgaben standardmäßig unterstützt. Sogar Unternehmen wie Oracle haben Komponenten veröffentlicht, die zu 100 Prozent aus .NET-verwaltetem Code bestehen (dh ODP.NET-verwaltete Treiber), um sie mit ihren Produkten zu verbinden. .NET API ist konsistent, gut dokumentiert und wird von Millionen verwendet.

Die über MSDN, StackOverflow und Tausende von Foren und Blogs verfügbare Wissensdatenbank ist riesig. In meinen Jahren der Entwicklung in .NET kann ich mich nicht an einen Fall erinnern, bei dem ich lange an einem Framework-Fehler hängengeblieben wäre; jedes Mal hatte jemand schon eine Antwort erlebt, recherchiert und gepostet, nicht immer die Antwort, die ich mir erhofft hatte, aber dennoch etwas, das mich weitergebracht hat. Mit der bevorstehenden Version 2015 wird .NET Core Open Source und auf Nicht-Windows-Systemen verfügbar sein.

Grund Nr. 2: ASP.NET hat sich weiterentwickelt

Microsoft-Stapel

Wenn man auf den traditionellen Web-to-Database-Microsoft-Stack von vor 10 Jahren zurückblickt, ist es interessant zu sehen, welche Teile den Test der Zeit überstanden haben und welche Teile verschwunden sind. Während das Back-End des Microsoft-Stacks ziemlich unverändert blieb (wir verwenden immer noch die gleichen Muster und Komponenten wie Dependency Injection, Tasks, Linq, EF oder ADO), sah das Front-End, das ASP.NET-Stück, aus ein grundlegender Wechsel von „do it the Microsoft way“ (d. h. Web Forms) zu „do it your way and use ASP.NET as a platform“. Heute ist ASP.NET ein MVC-basiertes Framework mit robuster Infrastruktur für Authentifizierung, Bündelung und Routing, das sich in viele Nicht-Microsoft-Technologien wie Bootstrap und AngularJS integrieren lässt. ASP.NET-Sites sehen auf einer Vielzahl von Formfaktoren gut aus, von Telefonen bis hin zu Desktops, und die Web-API-Funktionen machen die Bereitstellung von Webdiensten zum Kinderspiel. Das Framework ist seit einigen Jahren Open Source. Wenn Sie also bei einem Problem nicht weiterkommen, ist die Quelle auf GitHub verfügbar. ASP.NET hat sich verändert, und zwar zum Besseren.

Grund Nr. 3: Einfachheit der Web-API und Leistungsfähigkeit von WCF

Web- und Microsoft-Stack

Mein Lieblingszitat aller Zeiten stammt von Alan Kay, der sagte: „Einfache Dinge sollten einfach sein; Komplexes soll möglich sein“. Als Windows Communication Foundation (WCF) 2006 zum ersten Mal herauskam, war es alles andere als einfach; Verhaltensweisen, Endpunkte und Bindungen waren überwältigend. Daher hat Microsoft die Web-API veröffentlicht, ein benutzerfreundliches Framework, das die Bereitstellung von HTTP-Webdiensten zum Kinderspiel macht. Mit wenigen Konfigurationszeilen verwandelt sich Ihre API in einen sicheren Webdienst nach „Industriestandard“.

Wenn Ihr Anwendungsfall nicht in die „Standard“-Form passt und Sie die volle Kontrolle darüber benötigen, wie Ihre API über die Leitung verfügbar gemacht wird, können Sie jederzeit auf WCF zurückgreifen. Mit den unzähligen Konfigurationsoptionen und Hooks können Sie mit WCF Ihre Daten individuell serialisieren, Nachrichten protokollieren, abfangen, weiterleiten, Peer-to-Peer und Warteschlangen verwenden und vieles mehr. Die Web-API erfüllt zusammen mit WCF beide Grundsätze von Kays Zitat: Wenn Sie einen einfachen Webdienst benötigen, sind Sie mit der Web-API in wenigen Minuten fertig; Wenn Ihre Serviceanforderungen komplex sind, ist mit WCF „alles“ möglich. Diese beiden Technologien bieten eine umfassende Abdeckung von Dienstszenarien und sind mit dem .NET-Framework vorkonfiguriert.

Grund Nr. 4: SQL Server ist so solide wie nie zuvor

Viele Jahre lang schien es, als würde die Flutwelle neuer Entwicklungssprachen, Frameworks und Patterns durch die Front- und Middle-Tier kommen und das Datenbank-Backend verschonen. Schließlich ist die gute alte „SELECT“ heute noch genauso im Einsatz wie vor 20 Jahren. Ich nehme an, das liegt daran, dass viele Unternehmen ihre Daten als den Kern ihres Geschäfts betrachten und die Wahrung der Integrität dieses Kerns die Aufregung, „etwas Neues“ auf Datenbankebene auszuprobieren, bei weitem überwiegt.

SQL Server zeichnet sich durch seine primäre Rolle als Datenbewahrer mit einer Vielzahl von Funktionen für Transaktionen, referenzielle Integrität, Backups, Spiegelung und Replikation aus, aber was SQL Server von der Konkurrenz abhebt, ist die gute Integration mit dem Rest des Microsoft-Stacks. Für eine schnelle Entwicklung gibt es das Entity Framework, derzeit in Version 6, das die Pubertät bestanden hat und sein Versprechen, den Datenzugriff zu rationalisieren, gut einlöst. Wenn Sie Rechenleistung benötigen, wird das .NET Framework prozessintern mit SQL Server geladen, was bedeutet, dass Sie .NET-Code als gespeicherte Prozeduren, Funktionen oder Aggregate einbetten können, ohne die Leistung zu beeinträchtigen. Kombinieren Sie dies mit der Tatsache, dass SQL Server 2014 mit In-Memory-Tabellen ausgestattet ist, und Sie können einige ziemlich raffinierte Echtzeitlösungen entwickeln, die allein mit SQL und regulären Tabellen nicht schnell genug gemacht werden könnten. Nach Jahren in der Branche steht SQL Server immer noch ganz oben auf meiner Liste der RDBMSs.

Grund Nr. 5: Es ist leicht zu testen

Als ich in der Unternehmens-IT arbeitete, sah ich so oft, wie sich Software in diese unantastbaren Black Boxes verwandelte, weil es keine Tests gab und niemand mit dem Code herumspielen wollte, aus Angst, „etwas anderes kaputt zu machen“. Dann arbeitete ich an Systemen, die Tausende von Tests hatten, und es war ein großartiges Gefühl, dem Unternehmen sagen zu können, dass „ja, wir können diese Änderungen vornehmen“, Jahre nachdem die Software veröffentlicht wurde. Der Microsoft-Stack ist auf Testbarkeit ausgelegt. ASP.NET MVC verfügt über Hooks für die Abhängigkeitsinjektion, und in Version 5 wird die Abhängigkeitsinjektion in das Framework selbst aufgenommen. In der mittleren Ebene ist es ähnlich: Wir verwenden Abhängigkeitsinjektion, um die Implementierung von der Schnittstelle zu trennen, wodurch wir Produktionstypen zur Testzeit durch Mocks austauschen können. Sogar auf der Datenbankseite gibt es SQL Server Data Tools, die mit Vorlagen zum Testen gegen die Ebene der gespeicherten Prozeduren geliefert werden. Testen ist heute ein untrennbarer Bestandteil des Softwareentwicklungsprozesses, und der Microsoft-Stack ist für diese neue Realität gut gerüstet.

Grund Nr. 6: Ausgeklügeltes Support-Ökosystem

Wenn es um Support geht, ist es schön, eine Reihe von Optionen zu haben, angefangen bei Community-Foren bis hin zu einem echten Menschen, der vor Ort auf Ihrem Server arbeitet. Das Online-Ökosystem für Microsoft-Produkte ist eines der größten der Branche. Schließlich wurde Microsoft von Bill Gates gegründet, einem Softwareentwickler selbst, der die breite Akzeptanz durch Entwickler als Schlüssel zur Verbreitung von Microsoft-Produkten ansah. Das bedeutete, diesen Entwicklern viel, viel Unterstützung zu bieten.

Microsoft gehörte zu den ersten, die ihre Mitarbeiter ermutigten, über die Technologie zu bloggen, an der sie arbeiteten, und während der Rest der Branche sicherlich aufgeholt hat, ist die Menge und Qualität der Lehrvideos, Leitfäden und Artikel, die heute direkt von Microsoft kommen, immer noch vorhanden sehr beeindruckend. Diese Schicht hochwertiger Online-Inhalte wird durch eine große Anzahl von Community-basierten Support-Ökosystemen wie StackOverflow ergänzt, die in Bezug auf die Inhaltsqualität nicht so konsistent sind, aber dennoch weitaus hilfreicher als nicht.

Schließlich besteht immer die Möglichkeit, zum Telefon zu greifen und den Microsoft-Support anzurufen. Ich musste es selten verwenden, aber es gab eine Handvoll Notfälle in der Produktion, als Microsoft-Entwickler Core-Dumps analysierten, die den Tag retteten. Die Bandbreite der Support-Optionen spricht eindeutig dafür, sich für den Microsoft-Stack zu entscheiden.

Grund Nr. 7: Microsoft hält an seinen Produkten fest

Vor ein paar Jahren schien die Wahl von Microsoft Silverlight als Front-End für eine Anwendung eine gute Wahl zu sein, aber das ist nicht mehr der Fall. Da der mobile Trend in vollem Gange ist und JavaScript-Frameworks den Front-End-Bereich dominieren, ist Silverlight keine praktikable Option mehr; Trotzdem wird es von Microsoft bis 2021 unterstützt. Microsoft hält an seinen Geschützen fest, was gut für diejenigen von uns ist, die Technologieentscheidungen treffen müssen, ohne eine magische Acht zu haben, die uns sagt, welcher Technologietrend die Softwarelandschaft in Zukunft dominieren wird. Wenn Sie sich für den Microsoft-Stack entscheiden, wird sichergestellt, dass Zeit und Geld in Technologien investiert werden, die unterstützt werden, selbst wenn sie in der Branche in Ungnade fallen.

Grund Nr. 8: Visual Studio Umbrella

Vor einem Jahrzehnt verbrachte ich etwa 50 Prozent meiner Zeit mit der Arbeit in Visual Studio und etwa 50 Prozent mit anderen Tools. Heute ist die Spaltung überwiegend zugunsten von Visual Studio. Die Vision von Microsoft, dass Visual Studio eine One-Stop-Lösung für das Hosten von IDEs sein soll, wird mit vielen Microsoft- und Nicht-Microsoft-Produkten verwirklicht, die ein gewisses Maß an Integration mit Visual Studio bieten. Von der Datenbankentwicklung mit SQL Server Data Tools bis hin zum Schreiben von iPad- und Android-Apps mit Xamarin bietet Visual Studio eine vertraute Entwicklererfahrung mit einer konsistenten Benutzeroberfläche. Das Gleiche gilt für die Zusammenarbeit mit Microsoft Azure, einer Cloud-Plattform, die eine Vielzahl von Diensten umfasst, vom Datenbank-Hosting bis hin zu mobilen Diensten.

Visual Studio verschleierte die Komplexität der verteilten Cloud-Infrastruktur und machte die Erfahrung der Entwicklung von Cloud-Anwendungen konsistent mit der Entwicklung von Anwendungen, die nicht in der Cloud gehostet werden. Alle Teile scheinen unter dem Dach von Visual Studio gut zusammenzupassen, was den gesamten Entwicklungsprozess sehr effizient macht.

Microsoft Stack - Das Beste aus beiden Welten

Heutzutage gibt es viel mehr Auswahlmöglichkeiten für das Schreiben hochwertiger Software als vor 10 Jahren. Das ist sicherlich gut so, denn der Wettbewerb zwingt große Player wie Google, Apple, Amazon und Microsoft, weiterhin innovativ zu sein und nicht selbstzufrieden zu werden. Während Microsoft durch die technologische Entwicklung des letzten Jahrzehnts von der Spitze des Berges gedrängt wurde, hat das Unternehmen gezeigt, dass es bereit ist, sich anzupassen und auf die Realitäten der aktuellen technologischen Trends eingestellt zu sein. ASP.NET übernahm andere Technologien und Methoden, viele davon Open Source, wobei die ursprünglichen Web Forms in die Geschichte eingingen. Das .NET-Framework entwickelt sich weiter und durchbricht neue Grenzen mit Bibliotheken für Multi-Threading und Many-Core-Computing. Mit der bevorstehenden Veröffentlichung im Jahr 2015 wird der Kern des Frameworks Open Source und auf Nicht-Windows-Plattformen portierbar sein, was ein Schritt in Richtung Inklusion und Transparenz ist.

Diese willkommenen Verbesserungen stammen von einem Unternehmen, das über seit langem etablierte Prozesse zur Freigabe von Software verfügt, die getestet, dokumentiert und unterstützt werden. Die Entscheidung für den Microsoft-Stack bringt die Spannung, mit modernen Sprachen und Frameworks zu arbeiten, sowie die Stabilität, von einem Softwaregiganten mit jahrzehntelanger Erfahrung in der Entwicklungsbranche unterstützt zu werden. Aus diesem Grund empfehle ich heute den Microsoft-Stack.