Delphi、Xamarin、Monaca、caede、本当に使えるモバイル対応のクロスプラットフォーム開発環境はどれか?(後編) CROSS 2015
iOSやAndroidなどに対応した4種類のクロスプラットフォーム対応開発ツール、Delphi、Xamarin、Monaca、caedeの関係者が壇上に並び、それぞれのツールの優位性や弱点について語り合うセッション「本当に使えるCROSSプラットフォーム開発環境はどれだ! ガチンコ対決」が、1月29日に開催されたイベント「CROSS 2015」で行われました。
(本記事は「Delphi、Xamarin、Monaca、caede、本当に使えるモバイル対応のクロスプラットフォーム開発環境はどれか?(前編) CROSS 2015」の続きです)
複数の解像度への対応は?
続いて行われたディスカッションの中から、画面解像度への対応とビルドシステムについての部分をダイジェストで紹介しましょう。
──── 複数の解像度やアスペクト比への対応は?
Delphiはアンカーとアラインメントという仕組みで対応します。解像度はFireMonkeyの独自の仮想解像度を持っていて、画面の解像度が変わると自動的にスケーリングして描画する。ただしOSの見た目になるように、ピクセル単位で見た目が同じコンポーネントを使っています。
Curlの場合は解像度とアスペクト比をフレームワークで自動的に切り替える仕組みを持っています。caedeの開発環境はたくさんのテンプレートを用意しているので、簡単に2種類の解像度やアスペクト比に対応したアプリケーションを1つのアプリとして開発できます。
Monaca、CordvaはHTMLベースなので対応する方法はいくつかあって、Viewportを使うか、CSSのメディアクエリで出し分けをするとか、Webサイトのテクニックが使えます。ただそれだとやりにくいので、OnsenUIでは、Androidならこれを出す、iOSならこれを出す、ということもしています。
また、最近のMonacaではCrosswalkエンジンというのがあって、WebViewにChromiumを埋め込んでしまうことで、フラグメンテーションをなくすということもできます。
Xamarinは全部ネイティブに近い方法なので、ネイティブの人が苦労するようにXamarinでも苦労します。ただ、Xamarin.Formsを使うとうまいことやってくれます。これで頑張って作ると7割は共通化できると聞いています。
ビルドシステムについて
──── ビルドシステムに必要ないシステムや実機に転送するための手順は?
DelphiはiOSの開発には署名が必要なのでMacが必要になります。ただしコンパイラはWindows上で動いていて、Xcodeコマンドラインツールで署名しています。ビルドから実機転送の手順は簡単で、転送もかなり早いです。
CurlはEclipseで開発するので、AndroidはEclipseのプラグインを利用して開発しますが、iOSではMacは必須です。ビルドはMadc上でやる必要があります。ただ、いま我々の方でビルドサーバを実装中で、ビルドしたものをデバイスに届けるというところまでやろうとしています。
Monacaは、先ほど紹介したように自分たちでビルドサーバを持っていて、弊社のデータセンターにMac Miniが並んでいてビルドしています。
公開されているスライドと動画。
あわせて読みたい
オープンソース版「ASP.NET 5」がプレビュー公開、LinuxとMacOS Xにも対応へ。Visual Studio 2015もCTP公開
≪前の記事
Delphi、Xamarin、Monaca、caede、本当に使えるモバイル対応のクロスプラットフォーム開発環境はどれか?(前編) CROSS 2015