.NET Core – Aufbruch und Open Source. Microsoft, warum hast du so lange gebraucht?!

Veröffentlicht: 2022-03-11

„Etwas Mysteriöses entsteht, geboren in der stillen Leere. Allein und unbewegt wartend, ist es still, aber in ständiger Bewegung …“

Wahrlich, zwei der größten Ereignisse in der Menschheitsgeschichte fanden einfach nacheinander statt:

  • Die Rosetta-Mission der ESA hat ihre Philae-Sonde weich auf einem Kometen gelandet, das erste Mal in der Geschichte, dass solch eine außergewöhnliche Leistung vollbracht wurde.

  • Microsoft Open Sources .NET

Das erste Ereignis ist ein großer Schritt für die Menschheit, und letzteres ist ein noch größerer für Microsoft!

Die Rosetta-Mission wird ihren Platz in den Geschichtsbüchern einnehmen und so oft in Erinnerung bleiben, wie wir uns an Laika erinnern. Es wurde ein Jahrzehnt lang sorgfältig geplant und geplant, brachte die Menschheit einen Schritt weiter und zeigte, dass Technologie, die vor einem Jahrzehnt entwickelt wurde, immer noch erstaunliche Dinge leisten kann.

Die zweite Veranstaltung kam für viele überraschend. Es wurde nicht viel Werbung gemacht, und ich bin mir sicher, dass nicht jedes Detail seiner Ankündigung vor einem Jahrzehnt geplant war; Aber es war offensichtlich, dass Microsoft diesen Weg vor einiger Zeit eingeschlagen hat, und .NET Core ist nicht das erste, was sie zu Open Source (Roslyn) gedrängt haben.

Ist .NET Open Source? Endlich das plattformübergreifende .NET, auf das wir gewartet haben.

Brauchte die Menschheit also wirklich eine Sonde auf einem Kometen? Vielleicht nicht, aber es ist großartig, dass es gelandet ist! Brauchte Microsoft eine Erleuchtung, um mit Open Source .NET Core zu beginnen? Jawohl! Sie brauchten es vor mehr als einem Jahrzehnt!

Was hat sich in einem der größten Softwareentwicklungsunternehmen der Welt geändert? Was hat sie dazu gebracht, den Weg von OSI zu gehen?

Laut .NET Framework Blog gibt es dafür zwei Gründe:

  • Legen Sie den Grundstein für ein plattformübergreifendes .NET
  • Bauen und nutzen Sie ein stärkeres Ökosystem

Aber warum sollte Microsoft Entwicklern helfen wollen, plattformübergreifende .NET-Software zu entwickeln? Das widerspricht allem, was sie bisher getan haben. Microsoft forciert seit Jahren eigene Infrastruktursysteme. Linux und Mac waren Feinde, die besiegt werden mussten, keine Verbündeten. Worum geht es?

Was auch immer ihre wahre Motivation ist, Entwickler holen das Beste daraus heraus. Ich möchte Microsoft für diesen Schritt danken. Besser spät als nie!

Die langfristigen Auswirkungen der Open-Sourcing-Technologie von Microsoft werden enorm sein. Das wirklich plattformübergreifende .NET wird sich direkt auf die Kosten für Hosting, Lizenzierung und Wartung auswirken. Dies wird den Verkauf von .NET-Anwendungen um ein Ausmaß vereinfachen, das ich mir nicht einmal vorstellen kann.

Ich habe einen großen Teil meiner beruflichen Karriere damit verbracht, Code zu schreiben. Meine erste Liebe war Borland Pascal, und „Blue Screen“ war etwas, was ich damals mit großem Respekt betrachtete. Ich habe danach eine Vielzahl von Entwicklungsplattformen und Sprachen verwendet, aber seien wir ehrlich – seit Microsoft .NET veröffentlicht hat, ist Visual Studio die beste heute verfügbare Entwicklungsumgebung. Es ist ein One-Stop-Shop für alles, was ein einzelner Entwickler oder ein Team benötigen könnte, um jede Art von Anwendung zu erstellen. Es ist eng an großartige Features von .NET-Compilern gebunden, und jede neue Version von Visual Studio sieht aus wie ein Produkt, das nicht mehr erweitert werden könnte; Microsoft überrascht jedoch immer wieder, indem es mit jeder neuen Version von Visual Studio coole neue Funktionen einführt.

Das Erstellen von Software ist ein großartiger Prozess, bei dem sich jeder Entwickler, den ich je getroffen habe, kreativ, erfinderisch und erfüllt fühlt. Aber haben Sie schon einmal versucht zu verkaufen oder Verkaufsprozesse zu unterstützen? Ich bin mir nicht sicher, ob jeder Vertriebsmitarbeiter für seinen Teil der Gleichung dasselbe sagen kann wie Softwareentwickler. Der Verkauf für ein Softwareentwicklungsunternehmen ist scheußlich – Sie müssen sich um viele Faktoren kümmern, die nichts mit der eigentlichen Softwareentwicklung zu tun haben. Mitarbeiter der Verkaufsabteilung müssen Kunden beweisen/überzeugen, dass das verkaufte Produkt/die Dienstleistung das Beste ist, was der Kunde für den zu zahlenden Preis bekommen kann; Daher ist es immer entscheidend, die Kosten für Softwareentwicklung und -wartung zu senken. Die reale Welt hört nie auf, Wert und Kosten zu berechnen.

Andererseits war es nie einfacher, ein Unternehmen zu gründen. Wenn Sie eine gute Idee haben, ist es nicht allzu schwierig, Spenden zu sammeln, um „etwas“ zu schaffen (der neueste Name für „etwas“ ist Minimal Viable Product, aber das wird wahrscheinlich in Zukunft aktualisiert), „etwas“ der Welt zeigen, Erhalten Sie positives Feedback, erhalten Sie mehr Finanzierung und wiederholen Sie den Vorgang, bis Sie anfangen, Geld zu verdienen, Ihr Unternehmen zu verkaufen oder zu scheitern.

Was ist der einfachste Weg, die Kosten eines Softwareprodukts zu senken? Nun, Entwicklung ist etwas, das Sie bezahlen müssen, und in den meisten Fällen zahlen Sie nur den Stundensatz Ihrer Entwickler, unabhängig von der Entwicklungsplattform, die sie verwenden. Die einfachste Möglichkeit, Kosten zu senken, besteht also darin, Ihre Software in einer Umgebung bereitzustellen, die keine zusätzliche Lizenzierung erfordert. Hier hat Microsoft immer wieder versagt! Wir hätten hitzige Debatten über Leistung, Softwarequalität, Skalierbarkeit usw. führen können, aber es ist leicht zu erkennen, dass die .NET-Plattform jede technische Herausforderung problemlos bewältigen kann. Ich glaube, dass es in vielen Fällen seine Überlegenheit gegenüber anderen Plattformen zeigt; Aber ich gewinne nicht oft Debatten über Bereitstellung und Infrastrukturlizenzierung.

Der Markt hat begonnen, Entwickler von der Microsoft-Entwicklungsplattform wegzudrängen, und ja, ich bin einer dieser Entwickler. Ich habe Node.js als primäre Backend-Plattform übernommen, ungeachtet der Tatsache, dass es immer noch nicht ausgereift genug ist, um alles zu bewältigen, was ich brauche. Ich liebe WebStorm und schätze die großartige Arbeit, die JetBrains daran geleistet hat, aber noch mehr liebte ich Visual Studio 2013. Ja, mir ist bewusst, dass ich Node.js-Apps in VS schreiben kann! Aber wenn Sie von C# zu JavaScript, von SQL Server zu PostgreSQL, von IIS zu Apache gedrängt werden, warum sollten Sie sich dann die Mühe machen, Windows-basierte PCs zu verwenden?

Ich war ein echter Microsoft-Evangelist, schon bevor .NET herauskam und sicherlich bevor .NET Open Source und plattformübergreifend war. Aber das alles starb, als sie uns auf Skype (Finger) wegnahmen. Ich habe es immer geliebt, Anwendungen für Windows-Plattformen zu erstellen. Ich habe viel Zeit damit verbracht, Tipps und Tricks des Handels zu lernen, und ich glaube, ich war sehr gut darin. Der Softwareentwicklungsmarkt hat sich jedoch in den letzten zehn Jahren stark verändert. Startups blühen überall auf und jeder neue Kunde sucht nach der kostengünstigsten Lösung. Microsoft konnte mit diesem neuen Markt nicht Schritt halten, und ich bin nur einer von vielen Microsoft-Entwicklern, die seinen Windows-Laptop durch ein MacBook ersetzt haben. Microsoft hat endlich erkannt, dass die Möglichkeit, unsere Anwendungen auf Open-Source-Plattformen bereitzustellen, dazu führt, dass riesige Microsoft-Entwicklungsgemeinschaften ihre Tools weiterhin verwenden und schließlich auch mehr Kunden zu ihnen bringen.

Microsoft hat einen kleinen Schritt in Richtung einer großen Veränderung getan und verfügt über die besten Entwicklungstools und eine großartige Entwickler-Community. Was würde passieren, wenn wir ein Open-Source-Betriebssystem zusätzlich zu einer großartigen IDE erhalten würden? „Nicht einmal ich wage es, die Quoten zu berechnen“.