冒頭から否定文になりますが、グレープシティのコンポーネントはmacOSやLinuxを対象とした開発環境はサポート範囲外です。
これはComponentOneに含まれるASP.NET MVC用コンポーネントのことです。ASP.NET Coreに対応していますがそれは運用環境であり開発環境には未対応です。
大きな問題があるわけではなく、グレープシティ製品の品質を保証するためのテストを実施していないためです。
しかし、ASP.NET Coreはマルチプラットフォームを対象としていますので、そこで動作するコンポーネントの運用はサポートしています。そのため、原則的にはmacOSやLinuxの開発環境でも動作します。
この状況はWindowsで動作するVisual Studioで動作していた製品の対応環境を広げたことによる過渡期といえます。今後サポート範囲やドキュメントを整備していく予定です。
それに先行して、製品を評価し、詳細な手順を解説する記事が開発者のための実装系Webマガジン「CodeZine」で公開されました。
森博之さんが執筆した記事は、【Windows編】と【Mac/Linux編】の2部構成になっています。
この記事は、ComponentOneのチャートコンポーネントなどを、ASP.NET Coreで動作させることを解説する目的で執筆していただきましたが、その前提となるASP.NET Coreの基本知識も含まれます。
そのため、決して情報が整っている状態ではないASP.NET Core業界(?)を進むうえでも貴重な資料になりました。
Windows編
Visual StudioとComponentOneのトライアル版を利用してサンプルWebアプリを作るところからスタートします。
MVCパターンのテンプレートで、Razor構文で記述するページにコンポーネントを組み込みんでいきます。コンポーネントの記述部分で必要なTag Helper(タグヘルパー)もIntellisenseが有効なのでコーディングをサポートしてくれます。
次に完成したアプリの公開方法です。IISの構築方法や設定も詳細に解説しています。ASP.NET Coreアプリを展開するうえでの注意点も盛り込まれているのでスムースに試すことができます。
Mac/Linux編
基本は前述のWindows編と同様です。
記事の前半ではModel-View-ViewModelのアーキテクチャーパターンや階層分割アプローチについての解説があり、こちらも読みごたえがあります。Razor Pagesを使った開発の背景から理解できるようになっています。
次にサンプルアプリの開発に進みますが、ここで登場するのがmac環境とVisual Studio for Macです(ここからがグレープシティでは未テストの領域になります)。
Xamarinの環境では、Visual Studio for Macがサポート対象になっていますが、ASP.NET Coreではまだそこまでおいついていません。しかし冒頭にもあるように、基本的には動作するはずです。
ここではComponentOneを利用するためのNugetパッケージの取得や、ライセンスキーの設定方法まで解説しています。
そしてサンプルアプリを表示できました。
同じようにLinux環境も構築方法を解説しています。Windows編と異なりコマンドラインが多用されるので環境の違いを認識させられます。
記事ではCentOSを利用した環境で、Linuxで動作する.NET Frameworkであるmonoや、Nuget用のコマンドラインツールなど必要なツールを揃えるところも情報があります。
ここでのサンプルアプリ開発はVisual Studio Codeを利用しています。完成するアプリは他環境と同じで、このアプリをLinux環境のサーバーで動作させる手順も解説しています。
この記事の対象読者は?
この記事はWindowsに慣れ親しんだ人、つまりグレープシティのツールの利用者さまはもちろん、グレープシティの製品担当者にとっても重要な入門記事になりました。
普通に生活していても環境が変わる時節ですが、アプリ開発でもいままでとは異なる環境に挑戦してみてはいかがでしょうか。
参考情報
この記事の後はもう一歩踏み込んで、ASP.NET MVCアプリの継続的インテグレーションに進んでみてください。
2018年5月1日からComponentOneはブランド名を変更し、今回紹介したASP.NET MVCも含め全てのプラットフォームでランタイムフリーになりました。