マイクロソフトは自社の技術を推進するために多大な努力を払ってきたが、調査によると多くの開発者が.NETの導入を逃しているようだ。

Table of Contents

マイクロソフトは自社の技術を推進するために多大な努力を払ってきたが、調査によると多くの開発者が.NETの導入を逃しているようだ。

Microsoft が後援する .NET Foundation は、調査に基づく「.NET の現状」レポートを発表し、このテクノロジの魅力を自社のプラットフォーム外にまで広げる取り組みは、これまでのところあまり成果を上げていないことを示した。

.NET Foundation は、クロスプラットフォームでオープンソースの .NET Core が初めて発表された頃の 2014 年に、.NET エコシステムをサポートすることを目的として Microsoft によって設立されました。

同社は2020年11月から2021年3月にかけて、.NET開発者を対象にした初の調査を実施し、その結果が公表された。

調査期間が長かったにもかかわらず、回答数はわずか4,509件にとどまりました。これは、この財団の知名度が比較的低いことを示しているのかもしれません。最近のレポートによると、.NETの主要言語であるC#は、世界中で約650万人の開発者に使用されていると推定されています。なお、アンケートの回答率の合計は、該当するものすべてにチェックを入れる形式の質問のため、ほとんどが100%を超えています。

この調査は、最も熱心な.NET開発者層に偏っていた可能性がある。60%以上が、今から1年も経たない2022年2月にサポート終了予定であるにもかかわらず、現行バージョンである.NET 5をターゲットにしていると回答した。Windows専用の.NET Frameworkをターゲットにしていると回答したのはわずか42%程度だった。Monoを使用している開発者は18%、UWP(ユニバーサルWindowsプラットフォーム)を使用している開発者は約7%だった。これは、Microsoftが開発者に対し、自社の「モダン」アプリケーションプラットフォームの利点を納得させることができなかったことを示唆している。

「どの.NETアプリモデルを使用していますか?」という興味深い質問がありました。最も多かったのはASP.NET Web APIで、これはマイクロサービス化という現代のトレンドに合致していますが、いくつか意外な結果もありました。例えば、GUIデスクトップフレームワークとして最も多かったのはWindows Presentation Framework(31%)で、これに僅差でWindows Forms(28%)が続いています。これは、Microsoftがこれらのフレームワークの開発をほぼ凍結しているにもかかわらずです。ただし、ここ数年、.NET Coreのサポート追加やコードのオープンソース化といった動きは見られました。

MicrosoftがUWPを精力的に推進しているにもかかわらず、開発者はこれらの古いフレームワークを使い続けることを選択しています。公式の方向性は、WinUI 3とProject Reunionという新たなものへと向かっていますが、これは今回の調査では取り上げられていません。おそらくプレビュー段階のままだからです。

もう一つ注目すべき点は、ASP.NET Blazorへの高い関心です。Blazorを使用すると、開発者はWebアプリケーションのクライアントコードとサーバーコードの両方をC#でコーディングできます。このテクノロジーは、モバイルアプリケーションやデスクトップアプリケーションにも適応されています。回答者の約27%がBlazorを使用していると回答しており、これはBlazorの一部のベースとなっているRazor Pagesフレームワークをわずかに上回っていますが、ASP.NET MVC(52%)には及ばない状況です。

また、開発者に、Web アプリケーションへの一般的なアプローチであるシングル ページ アプリケーション (SPA) フレームワークを使用しているかどうかを尋ねたところ、Blazor が上位にランクされました。

Angular が 31% でトップとなったが、Blazor は React (27%) をわずかに上回り 2 位 (28%) となった。

.NET開発者の約90%がVisual Studioを使用していますが、VS Codeもそれに劣っていません。

.NET開発者の約90%がVisual Studioを使用していますが、VS Codeもそれに劣っていません。

開発者ツールについて質問したところ、注目すべき点が2つありました。1つ目は、回答者の89%がWindows専用の開発ツールであるVisual Studioを使用していることです(Visual Studio for Macについては別途説明します)。これは、MacやLinuxで作業する開発者に.NETを提供する取り組みが限定的な成果しかあげていないことを示唆しています。ただし、クロスプラットフォームのVS Codeは回答者の77%が使用しています。

調査でこの点が詳細に分析されていないのは残念ですが、多くの.NET開発者がVS CodeとVisual Studioの両方を使用していることは明らかです。これは、VS Codeの方が一部のタスクに適しているか、Windows以外のデスクトップでも開発を行っているためです。Microsoft以外のIDEとして唯一挙げられたJetBrains Riderは、20%という高い普及率を達成しました。

.NETは今やC#のみの世界なのでしょうか?必ずしもそうではありません。ただし、今回の調査ではVisual Basic .NET(10%)がF#(12%)を下回っています。95%がC#を使用していると回答し、次に多かったのはJavaScript(55%)、TypeScript(45%)、Python(16%)でした。

正直に言うと、私はメンバーですが、.NETプロジェクトに貢献する以外に何をするのかよく分かりません。

.NET Foundationは開発者に対し、自らについても質問しました。「ほとんどの人が.NET Foundationについて肯定的または中立的な評価をしている」というのが、同組織が数値の解釈として用いたものです。これは調査回答の解釈としては事実ですが、回答者の数が比較的少ないことから、「ほとんどの人」、さらには.NET開発者でさえ、.NET Foundationに対する認知度が低いことを示していると言えるでしょう。

調査対象者の中でも、30%は.NET Foundationの活動内容に「賛成も反対もしない」と回答しました。この点に関して、調査で最も示唆的なのはコメント欄で、生データをダウンロードすることで読むことができます。「正直なところ、私はメンバーですが、.NETプロジェクトへの貢献以外に何をしているのかよく分かりません」とある回答者は述べています。また別の回答者は、「CNCFやApacheと比べて、.NET Foundationの役割がまだ分かりません」と述べています。

良い面としては、財団の存在は .NET のオープンソース化と関連しており、ある開発者はこれを「ソフトウェアの歴史上最高の出来事の 1 つ」と評しています。また、Microsoft を超えて .NET を推進する試みを支持するコメントも多数あります。

この最後の点、つまり.NETとMicrosoftの関係こそが、問題の核心です。.NETの起源は、Windows開発を改善したいというMicrosoftの願望にあります。今日では「WindowsとAzure」と言う人もいるかもしれませんが、開発者をMicrosoftのプラットフォームに留めておくことは依然として戦略の一部です。これは、.NETをクロスプラットフォームとして推進する取り組みとは相容れません。「現在の.NETドキュメントは、ことあるごとにAzureを強調しており、他のクラウドで.NETを使用しようとする開発者にとって有害で​​す。より多くの.NET開発者を引き付けたいのであれば、この状況を変える必要があります」と、ある回答者は述べています。

「現在の.NETドキュメントは、あらゆる機会にAzureを強く推奨しており、他のクラウドで.NETを使用しようとしている開発者にとって有害で​​ある」

多くの開発者は、.NETの方向性を決定する上で、財団が自分たちの利益を代表してくれることを望んでおり、コメントからもそれが伺えます。「.NET Foundationの役割は機能リクエストを受け付けることではなく、すべてのメンバープロジェクトにとって適切なチャネルを提供することです」と財団は回答しています。

調査の別のセクションでは、.NET開発者の人口統計を調査しました。回答者の92%が男性で、4%が男性であることを明かさないという、男女比の不均衡が顕著な例が見つかりました。

.NET開発者は忠実だが、この調査によると、新規開発者の流入は比較的少ない。

.NET開発者は忠実だが、この調査によると、新規開発者の流入は比較的少ない。

StackOverflowは昨年の自社調査で、「プロとしてコーディングを行う回答者の約92%が男性」であると報告しています。もう一つ注目すべき点は、回答者の12%が.NETで「20年以上」コーディングを行っていることです。これは、.NET 1.0がリリースされたのは2002年初頭であるため、最初のリリースから20年以上、あるいはそれ以下の期間です。一方、回答者の約19%は.NETでコーディングを開始してから4年以内です。サンプル数が比較的少ないため、この数字に偏りがあるかもしれませんが、新規参入者が増えれば、エコシステムにとってより健全な状況になるでしょう。

.NETのオープンソース化、クロスプラットフォーム技術への転換、そして.NET Foundationの設立は、かつてオープンソースに懐疑的で開発者をWindowsに留めることに熱心だったMicrosoftにとって、目覚ましい転換でした。同時に、Microsoftが望めば、自社プラットフォームを超えて.NETをサポートするために、より多くのことを行えることは明らかです。そして、.NETの方向性に関してFoundationにさらなる影響力を与えることは、良い第一歩となるでしょう。®

Discover More