Dieser Artikel wurde zuerst auf meinem öffentlichen WeChat-Konto „dotnet cross-platform“ veröffentlicht. Der vollständige Text wird gerne im Blog veröffentlicht.
Die Hauptentwicklungssprache von .NET ist C#. .NET-Plattform bezieht sich im Allgemeinen auf die Entwicklungsplattform, die den CLI-Standards ECMA 334 C# und ECMA 335 folgt, einschließlich der von Microsoft selbst entwickelten .NET-Plattform und der Open-Source-Implementierung von Mono als Microsofts neueste Entwicklung von .NET Core. Ich verwende C# seit meinem Eintritt in das Unternehmen im Jahr 2007. Ich habe ein allgemeines Verständnis für die Verwendung dieser Sprache in Tencent. Ich habe mir kürzlich die Zeit genommen, die relevante Situation zu klären und das Gerücht zu zerstreuen, dass „kein inländisches Internetunternehmen C# verwendet“. ."
1. 2003 ~ 2007
Microsoft veröffentlichte .NET 1.0 im Jahr 2002 und .NET 1.1 im Jahr 2003. Aufgrund der hohen Entwicklungseffizienz von .NET begann das OA-System von Tencent 2003, .NET für die Entwicklung zu verwenden. Das frühe OA-System wurde mit CGI entwickelt, als ich 2007 das Single-Sign-On-System von OA übernahm . Kompatibilitätscode: Der CGI-Kompatibilitätscode weist immer noch ein Speicherleckproblem auf und wurde erst bei der Rekonstruktion der OA-Anmeldung im Jahr 2013 entfernt. Im Jahr 2003 begann das OA-Entwicklungsteam schnell von ein paar Leuten auf über 30 Leute im Jahr 2006 zu wachsen. Die schnelle Entwicklung des Unternehmens erforderte auch mehr Entwickler. Unter der Einführung von Toby kam ich 2007 zu Tencent. Ich begann, als ich dem Unternehmen beitrat. Er war für die Entwicklung und den Betrieb der Tencent OA-Basisdienste verantwortlich, die als TOF bezeichnet werden.
2003 bis 2007 waren die Jahre, in denen sich .NET in Tencent rasant entwickelte. Das erste OA-Workflow-Produkt wurde ebenfalls mit .NET entwickelt. Es wurde 2004 eingeführt und angepasst Wartung dieser Workflow-Engine, nachdem ich im Unternehmen angekommen bin, pflegt diese Version nicht mehr. Im Jahr 2008 wurde die K2-Workflow-Engine eingeführt, um sie zu ersetzen. Das Unternehmensportal www.oa.com wurde mit dem SharePoint 2003-System entwickelt. Er war von 2005 bis 2007 der MVP von Microsoft. Später kam er auf seine Empfehlung hin zu Tencent hat bis jetzt dort gearbeitet. Zu dieser Zeit wurde nicht nur OA mit .NET entwickelt, sondern auch viele Geschäftsbetriebssysteme im Unternehmen wurden mit .NET entwickelt. Die erste Version von TAPD wurde ebenfalls mit .NET entwickelt Die aktuelle Forschungs- und Entwicklungsabteilung hat TAPD mit PHP neu geschrieben und damit begonnen, asp.net durch PHP zu ersetzen. Es gibt auch viele Systeme, wie z. B. Finanzen/HR/SCM/Unternehmensforum BBS/ITIL/BOSS usw Man kann sagen, dass dies ... NET auf dem Höhepunkt von Tencent ist. Seit 2007 wurden die von asp.net entwickelten Systeme nach und nach durch Python/PHP ersetzt. Das Clearing und die Risikokontrolle des Zahlungsgeschäfts von Tencent (ehemals Tenpay) nutzen C# von Anfang an bis heute genug, um auf das Zahlungs- und Clearinggeschäft übertragen zu werden und weiterhin Everbright C# zu verwenden.
2. 2007 ~ 2014
Die Aufteilung von 2007 ~ 2014 entspricht genau der Ballmer-Zeit von Microsoft, der Zeit, in der Microsoft das Internet und das mobile Internet verlor. Als ich Anfang 2007 zu Tencent kam, ging ich mit Toby zum Microsoft MVP Global Summit, verabschiedete mich vom CEO und übergab den CEO an Ballmer, einen Vertriebs-CEO, der nur mehr Geld verdienen wollte , an Windows festhaltend, hat dazu geführt, dass Internetunternehmen die Verwendung von Windows abgelehnt haben. NET ist ein natürliches plattformübergreifendes Ideal, das jedoch nie verwirklicht wurde. Dies hat dazu geführt, dass viele Menschen glauben, dass .NET nur unter Windows ausgeführt werden kann. Sobald das Konzept festgelegt ist, ist es schwierig, es in dieser Zeit zu ändern. Die Open-Source-.NET-Implementierung des Mono-Projekts hat im Bereich des mobilen Internets Fuß gefasst. Kommerzielle Projekte, die auf Mono, Xamarin und Unity basieren, nehmen wichtige Positionen ein Bereiche der mobilen Entwicklung bzw. der Spieleentwicklung.
Ich bin Anfang 2007 zu Tencent gekommen und habe die Wartung des Tencent OA Basic Service TOF 9 Jahre lang übernommen. In dieser Zeit haben viele Kollegen ihr eigenes Unternehmen gegründet Im Bereich der Intranet-Sicherheit wurde die in dieser Zeit entwickelte Sicherheitsbetriebsplattform ebenfalls unter Verwendung von .NET entwickelt. Ab 2013 wurde die .NET-Entwicklung schrittweise durch C ersetzt. Es gibt nicht mehr viele Projekte im Unternehmen, die mit .NET entwickelt wurden. Sie können sie an Ihren Fingern abzählen. Derzeit werden einige Betriebssysteme für Finanzen/Verwaltung/HR/TenPay/Interactive Entertainment noch mit .NET entwickelt. Wenn sie nur auf Windows-Plattformen einsetzbar sind, müssen diese Systeme früher oder später ersetzt werden. Während ich den Tencent OA-Basisdienst TOF pflege, beschäftige ich mich in meiner Freizeit mit der plattformübergreifenden Entwicklung von Mono, bewerbe das Mono-Projekt über Blogs und Weibo und übe es in der Praxis aus.
Diese Zeitspanne dauerte auch 7 Jahre lang an der Aktualisierung und Umgestaltung des Tencent OA-Basisdiensts TOF. Im Jahr 2014 habe ich den umfassendsten Umbau abgeschlossen und zig Millionen API-Aufrufe auf dem Unternehmen unterstützt Intranet Einzelheiten zur Ebenentransformation finden Sie in meinem Artikel „Setzen Sie sich zunächst ein kleines Ziel und entwickeln Sie mit C# zig Millionen Anwendungen“. Die anderen mit .NET entwickelten Systeme des Unternehmens entwickeln sich ebenfalls ständig weiter und können weiterhin überleben. Natürlich verwenden viele Studenten nicht mehr C# und verwenden stattdessen andere Sprachen, um das System neu zu schreiben. Im Jahr 2013 veröffentlichte die Code-Plattform des Unternehmens zum ersten Mal den jährlichen Code-Bericht: http://code.oa.com/v2/report/2013. C# gehörte noch nicht zu den Top-10-Entwicklungssprachen Konto Dies sind nur interne Daten. Wenn Sie den spezifischen Inhalt sehen möchten, melden Sie sich bitte bei Goose Factory an.
Tencent-Jahresbericht 2014 http://code.oa.com/v2/report/2014 〈Tencent Code Report 2014 C#-Code-Volumen verdoppelt〉 Wie durch ein Wunder belegte c# mit einem Anstieg von 17 Millionen Zeilen den siebten Platz. Was ist das für ein Zauber? lässt es so schnell wachsen, und auch die Zahl der Entwickler ist auf 1.563 gestiegen.
Während .NET-Anwendungen ständig durch andere Sprachen ersetzt werden, hat der Code von c# im Jahr 2014 große Macht ausgeübt. Der Protagonist ist die Unity-Spieleentwicklung, die auf der Mono-Plattform basiert Es waren mobile Spiele, die C# nach Version 5.1 vollständig unterstützt haben, und C# wird im VR/AR-Bereich auch in Zukunft florieren.
3. 2014 ~ Zukunft
Im Jahr 2014 wurde der CEO von Satya Nadella übernommen und begann offiziell mit der Umsetzung der Open-Source-Strategie. NET Core wurde am 27. Juni 2016 für 2 Jahre fortgesetzt. In den letzten zwei Jahren war die Transformation von Microsoft sehr erfolgreich, der Aktienkurs von Microsoft hat gerade begonnen zu steigen.
In den letzten zwei Jahren hat Microsoft auch die Übernahme von Xamarin, dem Entwickler von Mono, abgeschlossen. Es hat die .NET Foundation gegründet und den Betrieb der Apache Foundation nachgeahmt, um die Entwicklung der .NET-Plattform voranzutreiben Es hat inzwischen Unity übernommen, RedHat, Samsung und andere Branchenunternehmen sind beigetreten. Microsoft hat auch seinen Plattform-Evolutionsplan für .NET abgeschlossen. Das folgende Bild gibt einen vollständigen Überblick über seine Zukunft:
Die Entwicklung von C# in Tencent im Jahr 2014 basierte auf der Entwicklung Trotz aller Bemühungen war die Entwicklung im Jahr 2014 auch sehr gut und wurde zur Entwicklungssprache mit dem größten Potenzial. Werfen wir einen Blick auf den Tencent Annual Code Report 2015 http://code.oa.com/. v2/report/2015:
Die Anzahl der Personen, die c# verwenden, ist von 1563 auf 2068 gestiegen, und das Codewachstum ist gestiegen Soweit ich weiß, wird das Wachstum von C# auch im neuen VR-Bereich weiter zurückgehen Die Situation ist nicht optimistisch. Mit der Veröffentlichung von .NET Core 1.0 durch Microsoft ist es auf Windows-, OS X- und Linux-Systemen verfügbar. .NET Core ist eine plattformübergreifende, quelloffene, modulare .NET-Plattform, mit der moderne Webanwendungen, Microservices, Bibliotheken und Konsolenanwendungen erstellt werden können. .NET Core ist jetzt auf Red Hat Enterprise Linux und OpenShift verfügbar. Darüber hinaus wird .NET Core vollständig von Red Hat unterstützt und durch die integrierte Hybrid-Support-Partnerschaft zwischen Microsoft und Red Hat erweitert.
Dies ist die größte Veränderung seit der Einführung von .NET und wird die Entwicklung von .NET im nächsten Jahrzehnt bestimmen. Wir haben die .NET-Grundlage neu aufgebaut, um den Anforderungen der heutigen Welt gerecht zu werden: stark verteilte Cloud-Anwendungen, Microservices und Container. .NET Framework, .NET Core und Xamarin sind allesamt wichtige Produkte von Microsoft und werden sich in den Bereichen Windows, Linux Cross-Plattform Cloud Computing bzw. Cross-Plattform Mobile weiterentwickeln. Das .NET Framework und das traditionelle ASP.NET bleiben für Ihre bestehenden Workloads weiterhin relevant. Sie können Code teilen und Ihre Fähigkeiten im gesamten .NET-Ökosystem wiederverwenden, sodass Sie entscheiden, was Sie wann verwenden möchten, einschließlich mobiler Apps, die von Xamarin unterstützt werden.
Microsoft hat in der Ankündigung von .Net Core 1.0 die Verwendung von ASP.NET auf Azure Service Fabric aufgeführt Leistung um das Zehnfache erhöht. NetEase, ein führendes IT-Unternehmen in China, das Online-Dienste für Inhalte, Spiele, soziale Medien, Kommunikation und Handel anbietet, muss im sich ständig verändernden Gaming-Bereich die Nase vorn haben und hat sich für .NET Core als Backend-Dienst entschieden. Im Vergleich zur vorherigen Java-Hintergrundarchitektur: „.NET Core hat unseren Release-Zyklus um 20 % verkürzt und 30 % der Kosten für technische Ressourcen eingespart.“ „Darüber hinaus ist es dadurch möglich, die Anzahl der virtuellen Maschinen in der Produktion um die Hälfte zu reduzieren“, sagte er über Durchsatzverbesserungen und Kosteneinsparungen.
Zusammenfassung
Nach mehr als 10 Jahren Entwicklung hat sich die C#-Sprache von 1.0 auf 7.0 weiterentwickelt. Die .NET-Plattform ist jedoch zu ihrer ursprünglichen Absicht des plattformübergreifenden Designs zurückgekehrt Die Versionsnummer ist auf 1.0 zurückgekehrt und beginnt von vorne. Auch die Verwendung der C#-Sprache in Tencent hat Höhen und Tiefen erlebt. Ich bin auch in das Zahlungsgeschäft übergegangen und habe hart mit meinen Kollegen daran gearbeitet, in Tlinux und Docker einzusteigen.