2020年に探求する5つのマイクロソフト開発者ツールとテクノロジー

2019年の終わりに、アプリケーション開発計画とテクノロジーロードマップをまとめるときに先を見据える価値があります。ここ数年は、Microsoftの多くのプラットフォーム上に構築するすべての人に多くの変化をもたらしましたが、そのペースは鈍化していません。

2020年に何を見るべきですか、そしてその理由は何ですか?Windows、Azure、およびそれ以降の5つのオプションを次に示します。それらだけではありませんが、開発プラットフォームとツールのより現代的なセットへの道を歩み始めるはずです。

.NET5への移行を開始します

おそらく、.NETコードを構築する人が直面する最大の課題は、2020年末に向けて.NET5がリリースされた古い.NETFrameworkから.NETCoreへの変更です。.NETの2つのストランドを統合することは、たとえいくつかの古いAPIを失う必要があります。 Microsoftは、.NETGitHubリポジトリに移行するものとしないもののリストを公開しています。不足しているAPIの一部はコミュニティの実装に移行しますが、他のAPIはより最新の代替手段を取得します。

.NET Frameworkコードをサポートおよび開発する場合、2020は、コードが将来どのように配信されるかを調査する良い機会を提供します。現在の.NETCore 3.1リリースは長期サポートバージョンであり、.NET Standardライブラリとともに、.NET5に含まれる多くのAPIをサポートします。コードを.NETCore 3.1に移植すると、探索する機会が得られます。コードにどのような変更を加える必要があるかだけでなく、新しいツールチェーンを構築するためにも必要です。

.NET Coreの将来はクロスプラットフォームであり、WebAssemblyにBlazorがあり、ASP.NETとRazorを介してサーバー側にあります。Windows、macOS、およびLinux上の.NET Core; モバイルデバイスでXamarinを使用します。コードを.NET5に移行することは、将来のWindowsリリースをサポートすることだけでなく、より多くのプラットフォームやユーザーにコードを提供する機会でもあります。

WinUI3.0の探索を開始します

2020年はWindowsプラットフォームが変わるときです。 MicrosoftはついにWindowsSDKを2つに分割します。UIコンポーネントをWinUIに分離することと、OSレベルの機能を残すことです。 WinUI 3.0の次のリリースでは、UIコンポーネントはOSとは異なるリズムで出荷できるようになり、リリース時に新しいコントロールが追加されます。これらは、Windows 10全体でサポートされ、Win32およびWinFormsアプリ、およびユニバーサルWindowsプラットフォーム(UWP)アプリケーションで使用できます。

WinUIは、Uno Platformとのパートナーシップを通じて、新しいChromiumベースのEdgeなどの最新のブラウザーでもサポートされます。UnoPlatformは、コントロールをWebAssemblyに移植し、WinUIがより多くのユーザーにリーチできるようにします。既存のUWPアプリケーションは最小限の変更でWinUI3.0を使用でき、C ++コードは新しいコントロールを使用してMicrosoftのFluentデザイン言語のサポートを追加できます。

クラウドネイティブアプリケーションにAKSを使用する

最新のクラウドアプリケーションを構築するということは、分散型マイクロサービスベースのアプリケーションを構築し、必要なときに必要な場所にコンテナ化されたコードをデプロイし、需要に対応するためにリソースを管理することを意味します。つまり、スケーリングと展開を管理するためのオーケストレーターが必要になります。Kubernetesを自分で実装して、kubectlおよびYAML構成ファイルの要点を理解することができます。ただし、Azureには別の方法があります。LinuxとWindowsの両方のコンテナーに対して、Azure KubernetesServiceの管理オプションです。

これにより、使い慣れたAzureポータルを使用して、コンテナー化されたアプリケーションとサービスのデプロイが簡単になり、Azure独自のネットワーク機能にアクセスしたり、HashiCorpのTerraformなどのツールを操作したりできます。その他のオプションには、リソースへのアクセスをロックダウンする役割ベースのアクセス制御が含まれ、セキュリティの露出を減らします。

AKSは、Kubernetesクラスターを自動的にスケールアップおよびスケールダウンし、Azureの監視ツールと統合するため、サービスの運用を注意深く監視できます。その結果、きめ細かい制御のためのKubernetesツールを使用して管理できる純粋なKubernetesプラットフォームと、他のAzureサービスへの管理されたアクセスを備えた使い慣れたAzureポータルが混在しています。このサービス統合により、Kubernetesの操作を簡素化できます。たとえば、永続データ用のAzureストレージに直接アクセスしたり、Azure独自のコンテナーレジストリをサポートしたりできます。

AzureでKubernetesアプリケーションを構築している場合、特にAzure Dev Spacesのようなサービスを検討する場合、他に選択肢はありません。DevSpacesはAKS上に構築されており、本番サービスに影響を与えることなく、クラウドネイティブコードを構築、テスト、およびデバッグするための安全なプライベート環境を提供します。

WSL2とDockerを使用してラップトップでクラウド向けに開発する

どんな開発者イベントでも、輝くAppleロゴのラインしか見られなかったのはそれほど昔のことではありません。Microsoftは開発者をWindowsに呼び戻すために努力し、Python、Visual Studio Codeのカスタマイズが容易なプログラマーエディター、新しいWindowsターミナルなどの人気のある言語への迅速なアクセスを提供するため、今でははるかに複雑なラインナップになっています。重要なのは、Windows Subsystem for Linux(WSL)です。

WSLは、最初はLinuxカーネルをエミュレートしていましたが、間もなく、Windowsと一緒に実行される独自のLinuxカーネルにアップグレードされます。WSL 2には、PCでのクラウドアプリケーションの構築とテストを簡単にすることを目的としており、WindowsからアクセスできるLinuxファイルシステムと、Visual StudioCodeを使用したリモート編集のサポートも含まれます。Dockerは、WSL2用のDockerDesktopのバージョンのテストを開始しました。これにより、WindowsにネイティブLinuxコンテナーのサポートが追加され、使い慣れたdockerfileを使用してローカルコンテナーインスタンスをビルドおよびデプロイし、Codeを使用してそのコンテンツを直接操作します。

Windows、Linux、およびDockerの組み合わせは、各プラットフォームを完全に使用する強力なエンドツーエンドの開発ツールセットを構築するための柔軟な基盤を提供し、共通のリポジトリにコードを配信しながら、希望どおりに機能する柔軟性を提供します。

AzureSphereでIoTを保護する

マイクロソフトの安全なIoTプラットフォームであるAzureSphereを最後に見たのは久しぶりです。ハードウェアベースのセキュリティをカスタムLinuxカーネルお​​よびクラウドでホストされる管理プラットフォームと組み合わせると、ハードウェアで実行されているオペレーティングシステムとアプリケーションが改ざんされておらず、コードを変更または挿入できないようにすることができます。悪意のある第三者による。

Microsoftの安全なARMマイクロコントローラを使用した開発ボードは、しばらく前から利用可能でしたが、最近、より安価な代替品が加わりました。Azure Sphereが製品で使用できるようになり、本番環境に対応したモジュールとSOCが利用できるようになったので、その周りに独自のハードウェアを構築できることは明らかです。新しい開発ツールは必要ありません。すべてのAzureSphere開発は、使い慣れたVisualStudioで行われます。

より興味深い開発の1つは、既存の産業用コントローラーと連携できるSphereベースのガーディアンユニットのセットです。PLCやその他の既存の産業用システムをアプリケーションと統合するときに保護層を追加し、検討された可能性のあるデバイスを接続できるようにします。過去にIoTプラットフォームに追加するにはリスクが高すぎました。