テキサス州オースティンで開催された前回のDrupal Conferenceで,モバイルおよびWeb開発企業のLembergはDrupal 8 ネイティブソフトウェア開発キット(SDK)を紹介した。このSDKは,ネイティブモバイルアプリとDrupal Webサイト間の通信を,開発者が容易に扱えるようにするためのものだ。現時点ではiOSとAndroidのみが対象だが,Windows Phoneバージョンも近日中に提供開始される予定だ。
このSDKでは,次のようなタスクを扱うことができる。
- HTTPクライアントやパーザ,データストレージを一時的にセットアップすることなく,CMSから簡単にデータを取得。
- シンプルなAPIコール(add/edit/delete)によるCMDデータの管理。
この他,Lembergのロードマップには次のようなものがある。
- 透過的なデータキャッシングによるオフラインモードのサポート。
- 設定による変更が可能な,自動バックグラウンドデータ更新機能。
- バックグラウンドのイメージダウンロード。
次のAPI使用例は,BlogPage
オブジェクトをサーバからプルする手順を示している。
BlogPage *bp = [BlogPage new]; bp.page = @(1); [bp pullFromServer:^(NSArray *result) { if (result) { // Do something with an array of BlogPostPreview objects } }];
SDKはMITライセンスの下,github上で公開されている。
LambergのSDK以前から存在する選択肢として,iOSのみが対象ではあるが,WorkHabitのモバイル担当ディレクタであるKyle Browning氏が開発した Drupal iOS Software Development Kit がある。
Browning氏のSDKは,AFNetworkingネットワークフレームワーク上に,Drupalのノードやユーザ,ビューを操作する仮想化レイヤを提供する。DrupalエンティティのRESTfulなビューのサポートと合わせて,“アプリで生成可能なコンテントを,Drupalサイト上の設定を通じてダイナミックに変更できるようになります。一般的なForms APIで行えるようなフォームの再配置も可能です ...”と,Browning氏は述べている。
ネイティブモバイルアプリという構造には,モバイルアプリストア経由での配布や,ネイティブ機能へのアクセスなど,モバイルWebアプリにはないメリットがいくつかある。
一方で,Drupalのコミュニティブログにもあるように,Drupalはモバイルアプリケーション開発のバックエンド,あるいはユーザコンテントやビジネスロジック,ユーザ管理,検索機能用のホストとしても利用することが可能だ。ネイティブSDKが公開されたことで,Drupalバックエンドとの通信を行うフロントエンドとしてのアプリを開発は遥かに容易になる。Wikipediaによると,Drupalは世界中のWebサイトの少なくとも2.1%で,バックエンドフレームワークとして使用されているということだ。