こんにちは!
テクニカルコンサルティングチームの古堅です。
C# で SPA を構築できるテクノロジーとして ASP.NET Core Blazor (以降、Blazor) が注目されていますね。
Blazor を採用したいというお声もよく聞くようになりましたが、実際に必要なスキルセットは何か? どんな開発者体制が良いのか?
本記事で解説します!
Blazor 案件に必要なスキルセット
必要なスキルセット
Blazor アプリケーションの構築には、必要なスキルセットは以下となります。
・HTML + CSS ... デザイン面
・C# ... ビジネスロジック
・JavaScript ... Blazor がサポートしていない機能のカバー
Blazor は JavaScript の代わりに C# でコードが書けるのではないか?と疑問に思う方もいるかと思いますが、JavaScript を全く書かずにアプリケーションを構築することは出来ません。
Blazor でも JavaScript は必要、どんな場面で JavaScript が必要なのか?
必要に応じて JavaScript のコードを書く場面があります。
よくあるシナリオとしては、 フォーカスの設定 (※1) や、メッセージボックスの表示などが挙げられます。
JavaScript が必要な事例 1 : フォーカス設定 (C# から JavaScript を呼び出す) ※1
C# から JavaScript へ、一方通行の処理としてフォーカス設定(※1)が挙げられます。
※1 .NET5 以降は、フォーカス設定は、C# から設定できるよう標準でサポートするようになりました!
JavaScript が必要な事例 2 : メッセージボックスの表示 (C# と JavaScript の相互呼び出し)
C# と JavaScript の相互呼び出しの事例として、確認メッセージを表示し、エンドユーザーに選択を促すようなシナリオがあります。
【メッセージ例】
「入力した内容で申請しますか?」
-> はい
-> いいえ
Blazor の一連の流れとしては、下記の通りになります。
① C# から JavaScript に確認メッセージの表示指示を出す。
ASP.NET Core Blazor で .NET メソッドから JavaScript 関数を呼び出す | Microsoft Docs
② ユーザーの選択結果(はい or いいえ)を JavaScript から C# に通知する。
ASP.NET Core Blazor で JavaScript 関数から .NET メソッドを呼び出す | Microsoft Docs
但し、参画メンバー全員が JavaScript のスキルが必要というわけではない
JavaScript の呼び出しは、C# でラップしライブラリ化することが出来ますので、JavaScript のスキルを持っているメンバーがライブラリ化を行い、その他メンバーはそのライブラリを通じて JavaScript の機能を利用することが出来ます。
Blazor 案件の開発体制について
上記の Blazor の特徴を踏まえて、スキルセットと開発体制を考えると
① C# および JavaScript のどちらも出来るメンバー
➡ JavaScripot をラップしたライブラリを作るメンバー (少人数でOK)
② 業務画面、業務ロジックを作成するメンバー
➡ ①が作成したライブラリを使用するのでスキルは C# のみ (大人数でOK)
Blazor を採用する理由に C# エンジニアが多数在籍している。というお声をよく聞きますが、どうしても JavaScript が必要になる場面があるでしょう。
そのため、少人数あるいは、1人でもJavaScript のスキルが有るメンバーが参画することで、よりスムーズに開発を進めることが出来ます。
まとめ
本記事では、Blazor の開発に関するスキルセットや、体制について紹介しました。
弊社では、新しい開発テクノロジーを採用する際の、必要なスキルを学べる技術トレーニングを提供しています。
技術トレーニングでは、お客様の開発要件をお伺いしながら、要件定義フェーズから実装フェーズまでご支援します。
もしお悩みをお抱えであれば、是非こちらからお気軽にお問合せください!
開発全般に関するご相談はお任せください!
インフラジスティックス・ジャパンでは、各プラットフォームの特別技術トレーニングの提供や、開発全般のご支援を行っています。
「古い技術やサポート終了のプラットフォームから脱却する必要があるが、その移行先のプラットフォームやフレームワークの検討が進まない、知見がない。」
「新しい開発テクノロジーを採用したいが、自社内にエキスパートがいない。日本語リソースも少ないし、開発を進められるか不安。」
「自社のメンバーで開発を進めたいが、これまで開発フェーズを外部ベンダーに頼ってきたため、ツールや技術に対する理解が乏しい。」
「UIを刷新したい。UIデザインやUI/UXに関する検討の進め方が分からない。外部のデザイン会社に頼むと、開発が難しくなるのではないか、危惧している。」
といったご相談を承っています。
お問合せはこちらからお気軽にご相談ください。