
アプリはクロスプラットフォームである必要がある

おそらく、将来的に成功するアプリの多くは、特定のクライアント プラットフォームに固有のものになるだろうと今でも信じている Robert Scobles のような人が、世の中には数人いるでしょう。
すべてのデバイスにわたるコネクテッド エクスペリエンスこそが成長の源であり、大手ブランドから初期段階のスタートアップまで、少なくとも iPhone、iPad、Android フォン、Android タブレット、Windows 8 タブレット向けに構築する必要がないと考えるのは愚かなことです。
代理店、大手ブランド、スタートアップ企業の開発者たちは皆、私にこう言っています。
「クロスプラットフォーム化をやらなきゃいけない。本当に大変。目を突き刺したくなる。でも、やらなきゃいけないんだ。」
私の見解では、モバイル開発者には 3 つの選択肢があります。
1. 一度書けばどこでも実行できる魔法の薬を信じて、HTML5 などの最低共通項のアプローチで、パフォーマンスの低い、ひどいユーザー インターフェイスを作成することになります。
2. 各プラットフォームで完全にネイティブ化するには、膨大な量の重複した労力がかかります。
3. ネイティブ UI と非 UI コンポーネントのクロスプラットフォーム テクノロジを組み合わせたアプローチを賢く採用します。
このリストに私の偏見が表れてしまったでしょうか? もしそうでなかったら、もう少し詳しく見てみましょう。
一度書けばどこでも実行可能 (WORA)
問題はこれだ。誰もWORAを望んでいない。誰も。
プラットフォームプロバイダーは WORA を望んでいません。
<OBJECT>タグは私が設計しました(すみません!)。ワールド・ワイド・ウェブ・コンソーシアム(W3C)と仕事をする中で、その位置づけを目の当たりにしました。各社はすべてのブラウザで共通のHTML標準を求めていましたが、それぞれのブラウザが独自性を持ち、より優れたものになることを望んでいました。
今日、世界はHTML5の存在によってより良い場所になりました。MileLogrを開発する中で、HTML5が提供する機能に大変満足しています。クロスブラウザの互換性はかつてないほど向上しています。しかし、HTML5がWORAの涅槃をもたらすなどと、一瞬たりとも考えないでください。
考えてみてください。WebKitの開発を通して、AppleはHTML5の開発に大きく貢献したと言えるでしょう。しかし、HTML5はAppleにとって必ずしも利益になるものではなく、互換性とパフォーマンスの面でAppleが対応を遅らせていることは明らかです。
なぜでしょうか? アプリとして実行されるウェブサイトは、Apple のウォールドガーデンに対する締め付けを打破するからです。
プラットフォームプロバイダーはWORAを望んでいると言いますが、実際にはそうではありません。これは今後も変わりません。
顧客はWORAを望んでいない
Facebookは「一度書けばどこでも実行可能」というコンセプトを真剣に試しました。しかし、最終的には顧客の反発に遭い、HTML5ベースのiOSアプリをネイティブアプリとして書き直すことを余儀なくされました。顧客はパフォーマンスの低さに気づき、アプリが「ネイティブ感」に欠けていることに気づきます。
現在、Androidスマートフォンの10%未満しか最新版のAndroidをサポートしていません。これは「Ice Cream Sandwich」のリリースから数か月以上が経過したことを意味します。Androidオペレーティングシステムの最新バージョンでは、Ice Cream Sandwichのブラウザエンジンが比較的新しいため、HTML5を使って「まあまあ」のAndroidアプリを開発できます。12か月後、本当に優れたHTML5アプリをサポートするAndroidスマートフォンの割合はどれくらいでしょうか?15%という数字は、かなり高い数字だと思います。
つまり、Androidユーザーの85%はそのようなアプリを実行できないということです。ユーザーはそれを歓迎しませんが、そうではありません。
開発者はWORAを望んでいない
分かりました。確かにそうです。でも、それはプラットフォーム独自の機能も活用できる場合に限られます。おっと。
非常に皮肉な運命のいたずらで、Microsoft が HTML5 の最大の 推進者になるかもしれない。
Windows 8の「Metro」アプリモデルでは、HTML + Javascript(HTML5)やXAML + C#(Silverlightなど)といった複数の方法でアプリを構築できます。しかし、HTMLベースのMetroアプリで記述したUIコードは、Metro UIモデルがあまりにも異なるため、他のプラットフォームではほとんど使えません。開発者が本当にそれを望んでいるのでしょうか?
ここでHTML5を取り上げたのは、WORAを可能にする可能性があると示唆する技術として、現在HTML5が唯一無二だからです。他に何かあるとお考えなら、ぜひお聞かせください。私も喜んで取り上げます。
ネイティブになる
これは単なる計算です。無限のリソースがあれば、ネイティブAPIを使用してクライアントを構築すれば、各プラットフォームで最高品質のユーザーエクスペリエンスが実現できることは疑いの余地がありません。
では、無限のリソースを持っているのは誰でしょうか?Facebookでしょうか。Microsoftも少しは同様のことをしているようです(SkyDriveとBingのiOS版は完全にネイティブ対応しているようです)。
私たち一般人にとっては、この計算は単純に意味をなさない。iPhone、Android、WordPress 7、Windows 8向けの一般的な高品質アプリ(ここではクライアントコードについてのみ話している)は、クライアントプラットフォームごとに5万ドルから10万ドルかかる。これは、小規模な企業や一般的なブランドキャンペーンにとっては、かなりの額だ。
混合モデル(ネイティブ UI + クロスプラットフォーム コア)
明らかにこれが正しい道だと思います。 混合モデルの アプリでも、各プラットフォームのUI APIに関する専門知識が必要で、プラットフォーム固有のコードを大量に記述する必要があります。しかし、クロスプラットフォーム技術を使用することで、「コア」コードの大部分を共有できます。UIは「ネイティブ」で、中身は「クロスプラットフォーム」です。
理想的には、このモデルを「ハイブリッド - ネイティブ UI」、その逆を「ハイブリッド - 最小公分母 UI」と呼ぶのですが、昨年の宣伝により、「ハイブリッド アプリ」という用語は「プラットフォーム固有のアプリとしてパッケージ化された、低速で、ほとんど互換性のある、非ネイティブの HTML5 UI」を意味することが確立されました。
これはPhoneGapがやっていることです。 私が言いたいのはこれではありません。
私はここで、「混合モデル モバイル アプリ」 という新しい流行語を作り出します 。
現在、混合モデルのモバイルアプリを作成するためのいくつかの代替手段があります(私が見つけたもの)。
- モノラル(C#)
- ジャバスクリプト
XamarinのMonoツールは非常に充実しており、広く使用されています。私自身の使用経験や他の開発者との会話からも、非常にうまく機能していると感じています。
Rdioを含むXamarinのツールで構築された人気のiOSおよびAndroidアプリは数多くあります。ツールとテクノロジーは成熟しており、検証済みです。パフォーマンスは優れており(特にUIがネイティブであるため)、コード共有の量に関する報告は、開発者の効率性に関する私の主張を裏付けています。以下のブログ記事が、その洞察を示唆しています。
- iCurcuit: iOS、Mac、WP7 間で約 80% のコードを再利用します。
- TouchDraw: iOS と MacOS 間で約 60~70% のコードを再利用します。
Monoと同じことを本当に実現できるプロ仕様のJavaScriptソリューションはまだ見つかっていませんが、低レベル(モデル、ビューモデル、コントローラー)のコードの大部分をJavaScriptで記述し、UI(ビュー)コードはネイティブプラットフォームで記述できるツールチェーンを構築することは理論的には可能でしょう。JavaScriptがこれほど普及していることを考えると、同様のソリューションに関するコメントが下記に掲載されると思います。
結論
単一のクライアント プラットフォームに集中できるという夢も、一度書けばどこでも実行できるという夢も、どちらも単なる夢です。夢です。
高品質なエクスペリエンスを最大規模のオーディエンスに提供したいのであれば、主要なクライアントプラットフォームをすべてターゲットにする必要があります。これらのクライアントプラットフォームのUIモデルはそれぞれ大きく異なるため、最終共通化アプローチでは顧客が期待する品質を提供できません。各クライアントプラットフォームで完全にネイティブ対応しようとすると、コストが膨大になります。
解決策は、ハイブリッドアプローチ( 混合モデル)を採用することです。
この投稿を書き始めたのは、XamarinがシリーズAで1,200万ドルの資金調達を発表する前のことでした。今、彼らがこれほどの資金を調達しているという事実は、Monoを使う理由をさらに強くしていると思います。皆さんはどう思いますか?
チャーリー・キンデル は、シアトルを拠点とする革新的なスタートアップ企業の創業者兼CEOです。同社は時空が交差する場所で革新的な事業を展開しています(www.bizlogr.com)。シアトルのスタートアップコミュニティにおいて、エンジェル投資家、メンター、アドバイザーとして活躍しています。以前は、MicrosoftでWindows Phone 7アプリプラットフォームのジェネラルマネージャーを務めていました。Microsoftでの21年間の在職期間中、チャーリーはInternet ExplorerからWindows Media Center、Windows Home Server、Windows Phone 7まで、幅広い製品とテクノロジを開発しました。1983年、高校生の時に初めてソフトウェア会社を設立し、Windows向けの初期のシェアウェアアプリをいくつか開発しました。彼は顧客重視、リーンメソッド、技術的な深掘り、サッカー、そして車に情熱を注いでいます。スタートアップ、テクノロジー、その他様々なテーマに関する彼の考察は、彼のブログで読むことができます。また、Twitterで@ckindelをフォローしてください。
[Bigstock経由のタブレット写真]