インフラジスティックス・ジャパン株式会社Blog

インフラジスティックス・ジャパン株式会社のチームメンバーが技術トレンド、製品Tips、サポート情報からライセンス、日々の業務から感じることなど、さまざまなトピックについてお伝えするBlogです。

Windows フォームから Blazor へ移行する際に必要なスキルセット

こんにちは!

テクニカルコンサルティングチームの古堅です。

C# で Single Page Application (SPA) を作成できることや Web Assembly を採用されていることで注目の Blazor。

デスクトップアプリケーションの Web 化において、移行先プラットフォームの投資対象としても非常に大きく注目されていますね。

本記事では、これから Blazor を始める、計画されているエンジニアに向けて必要なスキルセットを Blazor と Windows フォームと比較しご紹介していきます。

あなたの Windows フォームアプリの構成は? 「Blazor Server vs Blazor WebAssembly」

Windows フォームは、歴史が深く、.NET は非常に多くの機能があり万能です。

しかし、万能さゆえに Web 化する際に苦労することもあります。

ご開発している Windows アプリケーションの構成はどういった構成でしょうか?

Blazor Server の方が良いパターン

例えば、Windows フォームは、エンドユーザーのマシンから、直接データベースに対してアクセスし、Windows フォームで完結しているといったアプリケーションも多くありました。

このケースの場合、Blazor への移行を検討する場合「Blazor Server」の方が移行しやすいですね。「Blazor Server」はその名の通り、サーバー上で動作するため、バックエンド側の処理もそのまま処理することができます。

Blazor WebAssembly でも良いパターン

既に、Windows フォーム -> バックエンド -> データベース・サーバーといった構成の場合は、Blazor WebAssembly の選択でもスムーズに移行できるでしょう。

勿論、Blazor Server も可能です。

Blazor で必要なスキルセット

それでは、本記事の主題である Blazor のスキルセットの話題となります。

  1. C#
  2. HTML & CSS
  3. JavaScript
  4. DI

それぞれ簡単に解説します。

C#

Blazor は C# を利用します。

Windows フォームの時代に、既に C# による実装であれば新しいスキル。というわけではありませんが、

VB.NET で Windows フォームを作っていた場合は、学習すべきスキルとなります。

HTML、CSS

画面を作るための、必須スキルとなります。

まずは、以下の実現を目指しましょう。

  • ワイヤーフレームの作成/実現
  • 各コントロール配置の調整
  • 余白の調整

です。

Windows フォームのデザイナー機能で出来ていたことを、HTML + CSS で実現するためのスキルですね。

「レイアウトの設定」や、各コンポーネントの「配置」や「余白」の調整など出来るようになる必要があります。

未経験でも、集中して学習すれば 1日~3日 ほどで習得できるレベルかと思います。

JavaScript

意外に思われるかもしれませんが JavaScript も必須スキルです。

どんな場面で必要になるか? ブラウザ固有の API を利用する場合などが挙げられます。

例えば、JavaScript には、利用者にメッセージを表示する alert という API がありますが、直接 C# から利用できません。

そのため、C# から JavaScript コードを呼び出し、JavaScript コードを書く必要があります。

他にも、位置情報 API 、音声認識、音声合成 API だったり、ブラウザ機能を活かした便利な API も利用できます。

DI

言語ではないですが設計フェーズにも大きく関わる項目として挙げさせて頂きました。

DI (Dependency Injection) は、疎結合を実現するための設計手法であり、保守性の高いアプリケーションを構築することができます。

他のプラットフォームを見渡しても、.NET であれば ASP.NET MVC、 PHP の Laravel、Angular、Java の Spring Framework などで採用されているメジャーなデザインパターンです。

何らかの機会で、ご経験された方もいるかもしれません。

また、Blazor の DI という文脈では、まだまだ参考文献は少ないですが、上記のように他のプラットフォームでも採用されているデザインパターンなので、特徴やメリット・デメリットについては、すぐに学習リソースが見つかるでしょう。

DI に関する基本機能の学習は、半日もあれば十分ですが、DI を活用して最適な設計の実現は、プロジェクトを進めていきながら試行錯誤することになるでしょう。

IT セミナーで取り扱っている場合は、そちらに参加して頂くのも良いかもしれません。または、弊社で開催しているオンライン無料相談会などもおすすめです。

まとめ

お客様でも Blazor へ移行するご相談することも多く、Blazor に対するニーズの高まりを感じております。

皆様もお困りな点につきましては、以下の弊社が開催している無料オンライン相談会など、ぜひご検討くださいませ。

技術サポート・無料オンライン相談会をご利用ください

インフラジスティックスのUI製品は多くの機能を備えているためドキュメントの情報量も多く、なかなかお探しの情報に辿り着けない場合もあります。そういった際はお気軽に技術サポートや、製品導入支援担当との無料オンライン相談会をご予約いただくことで検証時間を節約可能ですので、ぜひご活用ください。
技術サポートへの問い合わせ方法を確認する
無料オンライン相談会を予約する