この記事は私の WeChat パブリック アカウント「ドットネット クロスプラットフォーム」で最初に公開されました。内容は皆様に温かく歓迎されました。転載は歓迎です。出典を明記してください。 .NET の言語は C# であり、.NET プラットフォームはユニバーサルです。ECMA 334 C# および ECMA 335 CLI 標準に準拠した開発プラットフォームを指します。これには、Microsoft が自社開発した .NET プラットフォームと Mono のオープン ソース実装、および Microsoft の最新のプラットフォームが含まれます。 .NET Coreの開発。 私は 2007 年に入社して以来、C# を使用しています。Tencent でのこの言語の使用については大体理解しています。最近、時間をかけて関連状況を整理し、「国内のインターネット企業は C# を使用していない」という噂を払拭しました。 。」
1、2003 ~ 2007
Microsoft は 2002 年に .NET 1.0 を、2003 年に .NET 1.1 をリリースしました。 .NET の開発効率の高さから、Tencent の OA システムは 2003 年から .NET を使用して開発を開始しました。初期の OA システムは CGI を使用して開発されていました。2007 年に OA のシングル サインオン システムを引き継いだとき、そこには CGI が組み込まれていました。互換性コード、CGI 互換性コードには依然としてメモリ リークの問題があり、2013 年の OA ログインの再構築まで削除されませんでした。 2003 年に、OA 開発チームは数人から 2006 年には 30 人以上に急速に成長し始めました。会社の急速な発展により、私は 2007 年に Tencent に入社しました。 TOF と呼ばれる Tencent OA 基本サービスの開発と運用を担当してきました。
2003 年から 2007 年は Tencent で .NET が急速に発展した年でした。Pingao ワークフロー製品も 2004 年に導入され、入社後 2 回目のカスタマイズ開発が行われました。このワークフロー エンジンのメンテナンスは私が引き継ぎました。Pingao Company はこのバージョンのメンテナンスを終了し、代わりに K2 ワークフロー エンジンが導入されました。 同社のポータル www.oa.com は、Microsoft の SharePoint 2003 システムを使用して開発されました。彼は 2005 年から 2007 年まで Microsoft の MVP でした。その後、彼は Microsoft コミュニティ イベントで彼に会いました。今までそこで働いています。当時、OA だけでなく、社内の多くの業務システムも .NET で開発されており、私が入社する前に開発された TAPD のバージョンも .NET で開発されていました。現在の研究開発部門は TAPD を PHP で書き換え、asp.net を PHP に置き換えるプロセスを開始しました。また、財務/HR/SCM/企業フォーラム BBS/ITIL/BOSS などの多くのシステムがあります。これはテンセントの頂点であると言えます。 2007 年以降、asp.net が開発したシステムは徐々に Python/PHP に置き換えられてきましたが、幸いにも Tencent の決済事業 (旧 Tenpay) の清算とリスク管理では、当初から現在に至るまで C# が使用されています。支払いおよび清算業務に移管し、Everbright C# を使い続けるのに十分な権限を持っています。
2. 2007 ~ 2014
2007 ~ 2014 この期間の区分は、Microsoft がインターネットとモバイル インターネットを失った期間である Microsoft の Ballmer 期間に正確に従っています。 2007 年の初めに私が Tencent に入社したとき、Microsoft MVP グローバル サミットに出席するために Toby と一緒に Microsoft 本社に行きましたが、Bill Gates は CEO に別れを告げ、CEO はより多くのお金を稼ぎたいと考えていた営業 CEO の Ballmer に引き継がれました。このため、インターネット企業は Windows の使用を拒否するようになりました。これは、.NET が Windows 上でのみ実行できると信じているためです。一度概念が形成されると、この期間中に変更することは困難です。Mono プロジェクトのオープンソース .NET 実装は、Mono、Xamarin、および Unity に基づく商用プロジェクトとして重要な地位を占めています。それぞれモバイル開発とゲーム開発の分野です。
私は 2007 年初めにテンセントに入社し、ミン兄から Tencent OA 基本サービス TOF のメンテナンスを引き継ぎ、この期間に多くの同僚が自分のビジネスを立ち上げました。同社のイントラネット セキュリティ分野を創設した兄弟グループは、この期間に開発されたセキュリティ オペレーション プラットフォームも .NET を使用して開発されました。2013 年以降、.NET 開発に代わって C++ が徐々に使用されています。同社のビジネスで .NET を使用して開発されたプロジェクトはほとんどありません。現在、財務/管理/HR/TenPay/インタラクティブ エンターテイメント オペレーティング システムの一部がまだ .NET を使用して開発されています。 Windows プラットフォームにのみ展開できる場合、これらのシステムは遅かれ早かれ置き換える必要があります。そのため、私は Tencent OA 基本サービス TOF のメンテナンスをしながら、空いた時間で Mono のクロスプラットフォーム開発を勉強し、ブログや Weibo を通じて Mono プロジェクトを宣伝し、実際に実践しています。
この期間は、Tencent の OA 基本サービス TOF のアップグレードと変革にも取り組み、2014 年には、会社のイントラネットでの数千万の API 呼び出しの変革をサポートしました。 , 私の記事紹介「最初に小さな目標を設定し、C# を使用して数千万のアプリケーションを開発する」を参照してください。 .NET を使用して開発された同社の他のシステムも進化を続けており、もちろん、多くの学生は C# を使用せず、代わりに他の言語を使用してシステムを書き直しています。 2013 年に、同社のコード プラットフォームは Tencent の年次コード レポートを初めて発表しました: http://code.oa.com/v2/report/2013。C# はまだ公開されていない開発言語のトップ 10 に入っていません。これは内部データのみです。特定のコンテンツを参照する必要がある場合は、Goose Factory に参加してください。
Tencent Annual Report 2014 http://code.oa.com/v2/report/2014 〈Tencent Code Report 2014 C# コード量が 2 倍に〉 奇跡的に C# が 7 位にランクインし、1,700 万行増加しました。これは魔法のおかげでここまで成長しました。開発者の数も 1,563 名に増加しました。
.NET アプリケーションが他の言語に置き換えられ続ける中、2014 年に C# のコードが大きな力を発揮したのは、C# を爆発的に普及させた Unity プラットフォームをベースとしたモバイル ゲームです。 . バージョン 1 以降は VR 開発を完全にサポートしており、C# は今後も VR/AR 分野で活躍していきます。
2014 年 3 月 ~ 未来
2014 年に CEO が変更され、Satya Nadella が CEO に就任し、正式にオープン戦略の導入を開始し、Linux、オープンソースを採用し始め、.NET Core for 2 の開発を継続しました。 RTM は 27 日にリリースされました。過去 2 年間で Microsoft の変革は非常に成功し、株価はまさに底値に達し、上昇し始めました。
マイクロソフトは過去 2 年間で Mono の開発者である Xamarin の買収を完了し、現在 .NET プラットフォームの開発を促進するために .NET Foundation を設立し、Apache Foundation の運営を模倣しています。 Unity、RedHat、Samsung を吸収し、業界の企業の参加を待っています。 Microsoft は、.NET のプラットフォーム進化計画も完了しました。次の図は、その将来の全体像です:
2014 年の Tencent での C# の開発は、モバイル ゲームの開発の助けを借りて行われました。 2014 年も非常に優れており、最も可能性を秘めた開発言語となっています。2015 年の Tencent 年次コード レポートを見てみましょう
。
C# を使用する人の数は 1563 人から 2068 人に増加し、コードの増加も数千万に達しました。これらの増加は Unity によってもたらされます。新しい VR 分野および従来のサーバーサイド アプリケーション開発における C# は減少し続けており、状況は楽観的ではありません。 Microsoft による .NET Core 1.0 のリリースにより、Windows、OS X、および Linux システムで利用できるようになりました。 .NET Core は、最新の Web アプリケーション、マイクロサービス、ライブラリ、コンソール アプリケーションの作成に使用できる、クロスプラットフォームのオープン ソースのモジュラー .NET プラットフォームです。 .NET Core が Red Hat Enterprise Linux および OpenShift で利用できるようになりました。さらに、.NET Core は Red Hat によって完全にサポートされており、Microsoft と Red Hat の間の統合ハイブリッド サポート パートナーシップを通じて拡張されています。 これは .NET の開始以来最大の変更であり、今後 10 年間の .NET の開発を主導することになります。私たちは、高度に分散されたクラウド アプリケーション、マイクロサービス、コンテナといった今日の世界のニーズを満たすために .NET 基盤を再構築しました。 .NET Framework、.NET Core、および Xamarin はすべて Microsoft の重要な製品であり、それぞれ Windows、Linux のクロスプラットフォーム クラウド コンピューティング、およびクロスプラットフォーム モバイルの分野で開発を継続します。 .NET Framework と従来の ASP.NET は、引き続き既存のワークロードに関連します。 .NET エコシステム全体でコードを共有し、スキルを再利用できるため、Xamarin を利用したモバイル アプリなど、何をいつ使用するかを決定できます。 Microsoft は、.Net Core 1.0 の発表で .NET Core の使用状況をリストし、ゲーム「Age of Ascent」の開発者である Illyriad Games は、Azure Service Fabric で ASP.NET Core を使用した後、パフォーマンスが 10 倍向上したと報告しました。中国の大手 IT 企業である NetEase は、コンテンツ、ゲーム、ソーシャル メディア、通信、コマースのオンライン サービスを提供しており、絶え間なく変化するゲーム分野で優位に立つ必要があり、バックエンド サービスとして .NET Core を選択しました。以前の Java バックグラウンド アーキテクチャと比較して、「.NET Core により、リリース サイクルが 20% 短縮され、エンジニアリング リソースのコストが 30% 節約されました。」 「さらに、本番環境の仮想マシンの数を半分に減らすことが可能になる」とスループットの向上とコスト削減について同氏は述べた。 概要 C# 言語は 10 年以上の開発を経験し、1.0 から 7.0 まで発展してきましたが、.NET プラットフォームはクロスプラットフォーム設計の本来の目的に戻り、バージョン番号も 1.0 に戻りました。新たに始める。 Tencent での C# 言語の使用にも山と谷があり、私たちも決済事業に転職し、tlinux と docker に参入するために一生懸命働きました。