デブサミ行ってきました。今後のスマートフォンについて

    あまり時間がとれず、1日目の4つほどしか見れませんでしたが・・・
    主に開発プロセス、Tiddとアジャイル関係をいくつか見させていただきました。
    弊社は一応Redmineを採用してTiDDの形式をとっていますがより改善すべきポイント、また今までどうしてもうまくいく方法が見えていなかった弊社レベルの案件単価での受託(さらにはオフショア)におけるアジャイル開発手法に関して「答え」とまではいきませんが、ヒントが見えた気がします。
    本当はモバイル&フューチャー、DeNAさんのスマートフォン関係も聞きたかったですが今はそちらが重要なじきでしたので、優先度がプロセスに偏りました。残念。

    帰りにオライリーブースでJavaScriptパターンという本を買いました。これは必読です!!HTML5もそうですが、Titaniumやnode.jsなどの環境も考えると僕の好きなJavascriptは今後も重要な言語でありつづけそうです。

    ちなみに、先日TitaniumMobileのおはなしを聞きに@masuidrive さんのセミナーを見に行ったのですがいろいろと考えるところがあり。。。


    最近考えていること
    現状スマートフォンといえばネイティブアプリ。iPhoneはXCodeでObjective-C、AndroidはEclipseでJava。互換性がありません。
    当然開発工数がかかります。

    しかし、この現象には違和感があります。
    PC
    ではこの数年間で一気にネイティブアプリからFlashやJavascriptを多用したWEBアプリへとステージが移っています。まぁ理由は様々ですが
    大きな理由はクロスプラットフォーム対応がしやすい、した上での工数が抑えられるというのが大きいでしょうね。そういう意味ではAdobeAIRはひとつ
    の回答だと思います。
    AdobeAIRの中身はほとんどFlashかJavascript。いわゆるWEB開発環境です。

    ではなぜ、スマートフォンはやたらと、なんでもかんでもネイティブアプリを作るのでしょうか?クロスプラットフォーム開発環境もまだ成熟しているとは言えない状況のなかネイティ
    ブアプリでなんでもつくっていくことにどんな意味があるのか?を最近良く考えます。なぜ、先端デバイスの代名詞であるスマートフォンが時代の潮流に逆行し
    ているのか?
    新規プラットフォーム普及期におけるいつもの”プチバブル”で済ますのは簡単なのですが、今後の情報デバイスの世界において今回はかなり大きなターニングポイントになるはずですのでクヨクヨ考えるわけです。

    1つの原因としてAndroidが普及したきっかけとなったXPeria発売時のOSが1.6だったのも影響があるかもしれません。いわゆるHTML5に対応していなかったことです。やはりAudioや動画を扱えないと厳しいところはあるかもしれません。
    ただしXperiaもバージョンアップがされ、iOSもAndroidもHTML5をネイティブ対応するようになってきました。
    こうなると今後は一気にWEBアプリ化がかなり進んでいくことになると思います。(個人的には)
    AirForAndroidはひとつのAdobeからの回答だったのでしょうが、iOSでは絶望的です。

    今後は

    • Appcelerator社のTitaniumやDeNA社の「ngCore」みたいな、クロスプラットフォームアプリケーション開発環境、
      開発効率化フレームワークによって開発されるWEBサービスクライアントとしてのアプリケーション(Appcelerator社がAptanaを吸収する
      ことで統合開発環境化を進めているそうです。楽しみ!)
    • HTML5、Javascript(と一部Flash)を利用したWEBアプリケーションへの分散が始まり、
    •  ElectronicArts社のような3DやFPS等の独自のゲームエンジンに特化したゲーム(DeadSpace最高です!)を代表と
      する、
      CAPCOM社やSEGA社のようにコンシューマ向けゲームと一緒に開発することで今までのiPhoneアプリゲームと一線を画すクオリティを実現する
      ゲーム(iPhoneアプリ単体での収益ではコンシューマゲーム並の予算を投入するのは難しいですよね・・・)
    • その他業務系とかユーティリティ系、単機能系でネイティブアプリ(Dropboxとかエディタ類とか)

    というように住み分け、統廃合が行われると予想しています。

    ゲーム系は厳しいですが現在でているアプリは実はWEBアプリで実現可能なものが非常に多く。もちろんiOSとAndroid、さらには端末毎の画面サイ
    ズ違いの吸収などもWEBアプリ(というかHTMLとCSSですね)は得意としています。要するにネイティブアプリよりも工数を下げることが出来ます。
    Twitter
    やFacebookのクライアントなどブラウザだけではなくネイティブのアプリケーションとしてクライアントをつくることでよりリアルタイム性の高い環境
    を用意することもサービスに合わせて選択する必要がありますが、それこそTitaniumのようなWEBアプリケーションライクな開発フレームワークの得
    意分野ですね。結局内部的にはWEBアプリケーションなんです。

    現状は新規デバイスの普及時期にありがちな「とにかくネイティブアプリを出すこと」自体が目的となっている場合が多いのですが今後需要が落ち着いたタイミングでは費用対効果、機能実現性などを踏まえてそのようなプラットフォームでの提案が大事になるのだと考えています。

    今の状況、なんでもかんでもiアプリが作りまくられていたガラケー創世記を思い出しますね。

    ChromeのアプリケーションブックマークやAdobe AIRという各社の思惑をはらんではいるもののWEBアプリケーションとデスクトップアプリケーションの融合が図られている時期に一気に普及したスマートフォンのおかげで市場が改めて複雑化。楽しいですね。
    一度ネイティブアプリケーションとWEBアプリケーション。アプリケーションブックマークやAdobeAIRらへんの関係性について考えてみると面白いと思います。
    いやー開発は言語も環境もプロセスも楽しいなー