バージョン2.0になったSCADEの目標は、iOSとAndroidのネイティブアプリをSwiftで開発できるようにすることだ。数多くの内部的な改善に加えて、SCADE 2には、これまでのEclipseベースのIDEに代わる、macOS用のネイティブIDEが新たに含まれている。
SCADEには、4つの主要なコンポーネント — Swift 5.4をサポートするAndroid用Swiftコンパイラ、ネイティブUI構築のためのクロスプラットフォームでハイパフォーマンスなグラフィックエンジンのCrystal、macOS用のハイパフォーマンスなネイティブIDEのNimble、開発を加速するネイティブなクロスプラットフォームSDKのFusion — がある。これらはいずれもオープンソースだ。
Nimble IDEは、応答性が高く、iOSとAndroid両方のシミュレータを含むネイティブユーザエクスペリエンスの提供を目的とする。
Crystalは、テキストフィールドやキーボード、カメラといったネイティブなOSコントロールに加えて、ネイティブなユーザエクスペリエンスを実現するドラッグ・アンド・ドロップなどの基本メカニズムを活用するベクタグラフィックエンジンである。
Fusionは、SCADEの中でも特に興味深いコンポーネントだ。このコンポーネントは、AndroidのJava APIにアクセスするSwift APIを自動生成する能力を備えており、
それぞれのJava APIコールを模倣するSwift SPMライブラリとしてそれを提供する。
iOS上でのFusionは、Apple iOS SDKの単なるラッパとして動作することで、2つのプラットフォームに共通する抽象化を開発者に提供している。
Fusionの開発は現在も進行中で、オーディオ、位置情報、NFCをサポートしている他、Bluetoothも近くサポートする予定である。
InfoQは今回、開発者のFrank Langel氏と話す機会を得て、その詳細な情報を聞くことができた。
InfoQ: SCADEが対象とするのは、どのような開発者、あるいは企業なのでしょうか?
langel: 当社のマーケティングは現在、主要な対象として、収益源の拡大や、Android市場にもアプリを提供するというビジネス上の要件から、Android向け開発に取り組みたいiOS開発者のグループをターゲットにしています。
SCADEは多くの領域において、既存のソリューションを凌駕する次世代プラットフォームを提供できると私たちは考えています。ですから、プロフェッショナルなネイティブアプリケーションを短期間で開発したいと願う、すべてのモバイル開発者もまたターゲットになります。FusionによってSwiftからAndroid SDKを使用することが可能になるため、Android開発キットからの乗り換えに苦労することもありません。
*InfoQ: SCADE 1.0以降の採用状況は、満足のいくものですか?
Langel: 当社は今、成長カーブの開始点にいると思っています。Swiftの完成度が向上する必要がありました。また、SCADE IDEをEclipseからパワフルなネイティブIDEに切り替える作業にも時間がかかりました。当社の提供する最先端のテクノロジと、それをコミュニティに伝えたいという私たちのフォーカスには、明るい未来が待っていると信じています。
InfoQ: SCADEのロードマップはどのようなものでしょう?
Langel: 当社のアクティビティは、メンテナンスと次ステップの機能に大別されます。メンテナンスにはバグ修正の他、最新のSwiftバージョンやAndroid SDKに対応するSCADEバージョンの提供も含みます。
私たちの大きな課題は、目玉となる機能の欠如ではありません。モバイル開発者コミュニティにすべての機能を認識してもらうことが、私たちの課題なのです。私たちが話をする開発者のほとんどが、"SCADEでこれができるとは信じられない"、というようなことを言います。
私たちのビジョンがターゲットとしているのは以下のような分野です。次の重要な機能はこの中にあります。
DesDev — アプリデザインとアプリ開発のフュージョン
iOSアプリのマイグレーション。iOSアプリのパーツをAndroidに容易にマイグレーション可能にします。
開発者の生産性 — プロフェッショナルアプリをさらに短期間で開発するためのコンポーネントやIDE拡張。
SCADE 2.0は無償でダウンロード可能で、サポートが必要なユーザ向けのプレミアムプランが用意されている。