笑いながらコードを書く。

vimから出たくないフロントエンドエンジニアの備忘録的な何か。

第29回 HTML5とか勉強会 メモとか思ったこととか

 

アジェンダ

  • ngCore on HTML5
  • PhoneGap
  • Titanium Mobile
  • 座談会

 

ngCore on HTML5

    紀平 拓男さん ソフトウェアソリューション部所属

    FlashPlayer ExGameなどを制作

 

    ngCoreとは?

        1ソースでiOS&android対応

        個人で無料で使用可能

 

    実例

        忍者ロワイヤル

        アクアコレクション

        牧場ホッコリーナ

        海外多数

 

    仕組み

    Game Core(JS) → JSEngine → ngCore Engine → iOS/Android

 

    ngCoreの特徴

        SDKに標準でソーシャル系のAPI

        開発言語がjavascriptである

 

    javascriptだと何が嬉しいのか

        高速なスクリプト実行エンジン

            V8,JSCore

 

        豊富なツール群

            JSLint、etc...

            

        ブラウザでそのまま実行できる

 

    そのままゲームアプリをインストールすること無く動作させることが出来る。

        インストール無く起動可能

        起動時間の短縮

        特定シーンをURLで共有可能

 

        気に入ればそのまま始めてもらえる。

 

 

    HTML5化のメリット

        リアルタイム更新

            バグがすぐ直せないとか

            クリスマス終了後のクリスマスイベント・・・

            などの悲しい事態が起きにくい。 

 

        新しいプラットフォームの対応

            windows phone, PS Vita, etc...

 

        既存資産の移行可能

            アプリとWeb, どちらが流行っても即時対応可能

 

言いたいこと

    フレームワークjavascriptであるべき

    アプリのフレームワークhtml5移行を見据えるべき

 

個人的な感想

    基本的に1ソースで対応、というのは後である座談会でも話題になってたけど厳しそう。(Androidのフラグメント問題が解決しない限りは)

    ただデフォルトでゲームとソーシャル系のAPIが導入できるのは確かに便利。

    一度使ってみる。

 

 

PhoneGap

    タチゾノマサヒコさん

        組み込みソフトウェア・エンジニア

        ngCoreを中心に開発もしてた

        現ウェブエディア

 

ウェブアプリかネイティブアプリか?

    AppStore, GooglePlayが焦点

 

    ウェブアプリの良い所

        色んなプラットフォームに対応しやすい

        アップデートが簡単

        HTML/CSS/JavaScriptなど、ウェブ技術が使える

    ウェブアプリの弱いところ

        AppStoreなどが使えない。

        課金などは精神的障害が大きい

 

        カメラ、傾きセンサーなど端末の機能が使えない

 

    ネイティブアプリの良いところ

        パフォーマンスが高い

        端末機能をフルに使える

        AppStoreが使える

    ネイティブアプリの弱いところ

        開発が大変

        プラットフォームごとに開発が必要

        Storeの審査があるためアップデートしにくい

 

    まとめ

        アプリ形式でないと色々厳しい

        が、ネイティブ開発は単一プラットフォームでも大変だし。。。

 

    ハイブリットという選択

        ネイティブアプリ上でWebViewからHTML/JSを読み込み動作させる

        AppStoreで配布可能

 

    そこでPhoneGap

        WebViewをベースにWebアプリをラップ

        JSからネイティブAPIへのブリッジを提供

        多彩なプラットフォーム

        対応APIも多彩

        UIウィジェットは無い

        対応してないAPIもある

            →プラグインで対応できるかも

 

    PhoneGap Build

        PhoneGapをWeb上でコンパイル

        Githubからインポートできる

        BlackBerryとかWindowPhoneにも対応してる

 

    DreamWeaver CS6連携と連携してそのまま書き出せる!

 

    まとめ

        PhoneGapはHTML5ベース

        UIは提供しないから自分で作る

        サポートプラットフォームは多い

        ウェブサイトをベースにアプリにも展開するような用途に向くかも

 

    個人的な感想

        一番導入しやすいと思う。

        重い動作とかするアプリとかを作る、というよりは既に有るWebアプリなんかや

        そもそもアプリでないものをAppStoreなどにも展開したい場合なんかにリーチしてるっぽい。

        性質上、ほとんどがWebアプリをラップすることになるため、実効速度はほぼ問題になら無い(と言われてた)ことを考えるといい方向だと思う。

 

 

Titanium Mobile

    Yuichiro MASUIさん(@masuidrive)

    Appeceletor, Inc

  

    ネイティブアプリはOSによって環境が違う!

        ObjectiveCだとかJavaだとか.Netとか

       

    クロスプラットフォームHTML5

            でもできないことも多い・・・(端末の機能とか)

 

        かと言ってObjectCはきつい

 

        → JavaScriptを使ってつくるTitanium Mobile

 

    HTMLは使わない

        JSで出力させる

 

    HTML5 vs Titaniumは間違い

        混在させることも可能 (あとでやりやすいかどうか検討してみたい)

 

    実用に堪えるのか

        30万の開発者、4万近いアプリがマーケット(アプリストアにあるものだけで

       

            ココログ

            サイボウズLive

            積ん読

 

    同じソースでもOSによって表示が異なったりする

        なるべくデフォルトのUIを使って実行するため、慣れた表示になる

        それぞれのOSによってかき分けがしやすい設計になってる

 

    何ができないの?

        画像操作が得意ではない

            写真の操作とかも不得意 → そもそも画像操作のAPIが殆ど無い

        高いリアルタイム性の強いアプリとかは弱い

 

    逃げ道

        Module → 組み込み系の言語などを使ってアプリを作れる

 

    http://bit.ly/ACSTodo

        サーバ保存ToDo

 

    個人的な感想

        昔触った時からだいぶ進化してるみたいでもう一度やってみたくなった。

        特にデバッガが有料じゃなくなったのは知らなかったのでまた触ってみたい。