GNU/Linux >> Linux の 問題 >  >> Linux

.NETの20年:開発者プラットフォームの「驚くべき旅」に関するMicrosoftのScott Hunter

Microsoftが.NETとその開発者ツールスイートの最初の完全リリースを提供してから20年になります。 .NETは、それ以来Microsoftのストーリーの重要な部分であり、Windowsデスクトップアプリケーション戦略の多くを推進し、VisualStudioなどの開発者ツールの開発をサポートしています。これは、Microsoftのオープンソースストーリーの鍵でもあり、ツールプラットフォームをオープンし、最終的には現在のクロスプラットフォームのオープン.NETへの道を切り開くのに役立ちました。

Microsoftの.NET製品管理担当副社長であるScottHunterにインタビューし、これまでの道のりについて話しました。それは確かに長く曲がりくねった道であり、MicrosoftのForum 2000イベントで.NETになるという発表から始まり、サーバー、PC、モバイルデバイス間で情報が流れる接続された世界を想定した一連のコンセプトビデオがありました。これらの動画を振り返ると、.NETがそのビジョンを実現し、ハンターが「非常に素晴らしい旅」と表現していることは明らかです。

参照: 採用キット:.NET開発者 (TechRepublic Premium)

世界はそれらのビデオが予測した方法とはまったく異なるかもしれませんが、PocketPCとWindowsCEを使用していない場合は、.NET搭載のXamarinを使用して構築された可能性のあるiOSおよびAndroidフォンでアプリを実行しています。 .NET上で実行されているASP.NETを使用するLinuxサーバー。 .NETの世界は今やMicrosoftだけではなく、どこにでもあります…Red Hatイベントで発表された新機能と、VMwareが独自の.NET会議を運営しています。

.NET:どうやってここにたどり着いたのですか?

必読の開発者向け記事

Hunterにとっては、2008年にRuby on Railsの突然の人気から始まりました。これが、Microsoftの最初のオープンソースツールのいくつかを使用して、ASP.NETMVCとNugetリポジトリの開発に影響を与えたものです。オープンソースへの移行の開始時、Microsoftは貢献をしませんでしたが、2012年にASP.NETとEntityFrameworkの両方のオープンソースによって変化しました。

そこから今日の完全にオープンな.NETには、より高いレベルの管理者からの賛同が必要でした。 ASP.NETチームはAzureの一部であったため、JasonZanderおよびScottGuthrieと協力する必要がありました。 ASP.NETチームは、Linuxが登場することを確認できました。 「そして、私たちは周りに座って、テクノロジーの世界は変化していると言っていましたが、私たちの下では、オープンソースは今や巨大で大きなものになっています」とハンターは説明します。 「そして、私たちはそれに少し浸りました。しかし、実際には、私たちはそこにいる必要があります。プラットフォーム全体がオープンソースである必要があります。」

その最初のオープンソース.NETプラットフォームは、既存のMonoオープンソースランタイムの上に構築され、残りのプラットフォームは引き続きMicrosoft独自の.NETFrameworkを使用しています。完全なオープンソースの.NETプラットフォームへの本当の移行は、.NETCoreになる予定だった新しいオープンソースのコアCLRに対する企業のサポートとともに後になりました。最初のリリースは限定的でしたが、コミュニティに焦点を当てることで、チームのやり方が変わりました。ハンターが指摘するように、それはマイクロソフトにとって非常に新しいものでした。 「私たちはASP.NETStandUpと呼ばれるものを開始しました。そこでは、毎週[チーム]がコミュニティの電話に出て、先週ハックしたことを見せてフィードバックをもらいました。」

参照: 毎日のスタンドアップミーティングポリシー (TechRepublic Premium)

コミュニティは、何がどのように開発され、チームが特定のことにどのように焦点を合わせたかについての推進力を提供したため、大きな推進力でした。たとえば、元のMonoベースのシステムの初期のベンチマークでは、Linuxのパフォーマンスが低いことが示され、チームは主要なベンチマークのトップ10に入ることになりました。通常のオンラインスタンドアップでパフォーマンスの向上を呼びかけることで、最初の大きなコミュニティエンゲージメントと一連のパフォーマンス関連のプルリクエストが発生し、主要な欠陥が迅速に修正され、エンタープライズグレードの.NETCoreが実現しました。

.NET:次の大きな開発は何ですか?

.NET Coreの各リリース、そして現在は統合された.NETには、限界を押し上げることを目的としたテーマと新しいテクノロジーがあります。次の大きな.NET開発は、今年後半に新しいUIスタックであるMAUIがリリースされる予定です。マルチプラットフォームアプリのUIは、今後の.NET 7の大きな部分を占めており、現在の.NET6では限定バージョンが使用されています。部分的には、MicrosoftがWebを含むさまざまなプラットフォームに共通のUIをどのように提供するかという質問に対する答えです。

ハンターが言うように、答えは直接ではないということです。 「私たちは、UI技術を構築するつもりがないからではありません。ネイティブUI技術を独自の技術でラップするだけです。」そうすれば、Windows、macOS、iOS、Android、およびWebで動作する単一のコードベースが得られます。ハンターは最後の選択肢を楽しみにしています。 「さらにクレイジーなのは、[MAUI]内にBlazorアプリケーションを配置して、実際にローカルハードウェアと通信するネイティブWebアプリを作成できることです。」

.NETには、おなじみのC#やVisualBasic以上のものがあります。 .NETの初期の頃に戻ると、IronRubyやIronPythonなどの言語は、使い慣れたオープンソース言語をプラットフォームにもたらしました。サードパーティの開発は継続されており、HunterはスタンドアロンのPHPエンジンよりもかなり高速に実行されるPHPの.NET実装であるPeachPieのような開発に熱心に取り組んでいます。

これで、ほぼすべての場所でネイティブパフォーマンスを提供するクロスプラットフォームの.NETを使用した.NETジャーニーの終わりですか?ハンターは笑います。「チームの仕事は、.NET7の後で何をするかということです。スタックの次のことを考えるのは楽しい質問になるでしょう。」そこで、成長を続ける.NETオープンソースコミュニティがプラットフォームの推進に役立ち、ツールに必要なものと必要なものについての洞察を提供します。

考えられる将来の方向性の1つは、MicrosoftのOrleans分散アプリケーションフレームワークです。大規模なクラウドアプリケーション向けにMicrosoftResearchによって設計されており、Xboxのバックエンドサービスの多くを強化しています。開発チームは.NETチームに加わり、Orleansの要素は.NETに移行し始め、クラウド中心の分散アプリケーションをサポートするように拡張されます。そこには多くの相互受精があり、パフォーマンスの向上を失うことなく、最新のネットワーキングの概念をプラットフォームにもたらします。

おそらく、過去数年間の.NETの最大の変化は、哲学の変化です。以前は不可知論者であり、同じことを行うための複数の方法を提供していましたが、現在は意見が分かれています。はい、必要に応じて古いテクノロジーを引き続き使用できますが、将来は、同じ目的地への複数の道路に伴う混乱を回避する、ハンターが「完全にロードされたツールボックス」と呼ぶものです。彼が言うように、「たくさんのものを探す必要はありません。そのほとんどは現在組み込まれています。」

非常にやりがいのあるものではありますが、何百万もの開発者が依存するスタックを構築することは責任です。ハンターは、「それで、それは素晴らしい旅です。私は20年後の自分たちの姿をとても誇りに思っており、25年後に何をするのか楽しみです。」

ソースリンク


Linux
  1. Linuxカーネルでの2038年問題の解決

  2. APIの歴史:GitLabRunnerとPodman

  3. Linux の世界で .Net FileSystemWatcher に相当するものはありますか?

  1. Linuxコミュニティでの信頼の構築

  2. Linuxで完全に放送する最初の

  3. SquashFS 圧縮方式とは何ですか?

  1. GettyとAgettyの違いは?

  2. ホームディレクトリを表すために「〜」が選択されたのはなぜですか?

  3. `relatime`がデフォルトになったのはいつですか?