Movatterモバイル変換


[0]ホーム

URL:


剛志 森田, profile picture
Uploaded by剛志 森田
PPTX, PDF5,032 views

smartFXにおけるApache Cordovaの活用について

当初Webサービスとしてリリースした「smartFX」をハイブリットアプリとしてリリースすることになった背景やその効果についてご報告するとともに、Webサービスをハイブリットアプリ化するにあたって出てきた問題点とその対応策について説明したいと思います。

Embed presentation

Downloaded 12 times
smartFXにおける Apache Cordova の活用について 株式会社みんかぶ森田剛志
Who am I ? 所属: 株式会社みんかぶ twitter: @takeshy github: https://github.com/takeshy qiita: http://qiita.com/takeshy みんかぶではプログラマを募集しています。 JavaScriptが読み書きできれば、業務経験がなくて もOK! dev_recruitment@minkabu.co.jpまで
アジェンダ I. Apache Cordovaを導入した経緯と結果 II. Apache Cordovaを使った開発について III. まとめ
I. smartFXでApache Cordovaを導入した経緯
smartFXの狙い(リリース前) • 24時間マーケットが開いていて、秒に数回も レートが更新されるFXに対して、どこでもサッと 今の情報をチェックしたいというニーズがあるはず • SPAにより快適にページ遷移ができ、リアルタイム に表示が更新されるスマホ用のFX情報Webサイト を作ろう!! • Webだとインストールの必要もないし、SNSで簡単 に拡散され大ヒットするはず。
SmartFX powerd by みんなの外為 リアルタイムかつネイティ ブと変わらない操作性をも つ無料FX情報サイト2014 年2月28日 Debut!!
リリース後の辛い現実 • 全然人が来ない。。 • みんな直帰。。 • リピートしてくれない。。
空いてるビルの下 の階のフロア、こ れから人が増える から、今のうちに 押さえちゃってっ て言ったのに。。
なぜ人が来ない? • 検索エンジンにひっかからない(SPAだし。。) • _escaped_fragment_ を指定して、ロボットに対し てはPhantom.jsを使って静的ページを返すようにし ても、スマホ用に極力文字をへらしていたり、そも そもアプリなのでキーワードをたくさん載せにくい 。 • あまりにも無名でSNSで広がらない。。
なぜみんな直帰? • 普通の人にとってSPAってなにそれ?状態 • たとえ知っていたとしても次のページに遷移するま で知る由もない。 • 初期ページ表示が遅い=サイトが重い。
なぜリピートしてくれない? • スマホの使用時間のほとんどはアプリ。 • ブラウザで毎日訪れるサイトがある人自体かなり少 ない。
アプリにしたら 解決するんじゃ ない?
人が来ない問題に対して • "FX バーチャル”をWebで検索すれば69万6千件なの に対してApp Storeで検索すれば、たった10件 • App Storeのランキングに載れば、優良な導線が 無料で手に入る!!
みんな直帰問題に対して • ネイティブだと初期ロードに時間がかかるが、以降 の遷移は素早いという感覚が当たり前。 • ナビゲーションを常に固定することで、とりあえず 色々な画面を見てもらえるのでは?
リピートしてくれない問題に対し て • アイコン化により容易にアクセス • push通知による誘導も可能
でもアプリにする って大変じゃない?
Yes!! Here We are!
Cordovaへの移行について • サイト全部だとアプリとしては複雑すぎるので、 バーチャルトレード機能のみをアプリ化する。 • もともとSPAだったので、コードはほぼそのまま流 用できた。 • プラグインも必要なものはすべてあったので、ネイ ティブコードを1行も触らずにすんだ。 • 移行+ Push通知機能通知の実装が開発者1人で1週 間でできた。 そして・・・
2014年8月15日smartFX virtual trade リリース!
で、結果は?
リリース結果 • バーチャルトレード大会に参加登録したユーザ数 参加者が8倍に増加!! 118 51 422 500 375 250 125 0 ← 8/15 リリース 6月7 月8 月 ※参加登録をしなくても使えるので、インストー ルしたユーザはこの数倍 PR Times -> マイナビニュース-> Gunosyまでリーチ!!
II.Apache Cordovaを 使った開発について
Apache Cordovaってなんなのに対する私の 認識 • アプリ内のHTML内でアプリ内のcordova.jsを呼び出し、そのjs 経由でネイティブの機能を呼び出せる(ローカルドメイン) • 外部とはAjaxもしくはWebsocket、JSONPで通信できる • 外部リンク経由等で外部のサイトを表示することもできるが、 ネイティブの機能が使えず、ただのWebViewになってしまう。 • アプリ内に画面ごとのHTMLを用意すれば、SPAでなくても画 面遷移が可能だが、結局外部とはAjax通信が必要だし、画面ご とにjsやcssをパースすることを考えると、SPAで作ったほうが 昨今のJSのフレームワークが使えるし有利。
開発環境 • 開発ツールVim パッケージングする時だけ 、EclipseとXCodeを立ち上げています • WebアプリサーバRails • 言語CoffeeScript • ライブラリBackbone.js Socket.IO CCChart ios-imagefile- megapixel OnsenUI
Apach Cordova開発時の注意 • UIがガイドライン (https://developer.apple.com/jp/devcenter/ios/library/documentation/userexpe rience/conceptual/mobilehig/BasicsPart/BasicsPart.html)に則っていないと AppleからRejectされる。 • 書籍を参考にCSS3で頑張る。 • Onsen UIを使う。 • Androidの場合、バックグラウンド処理がデフォルトで有効になっているの で、タイマーなどで定期的にポーリングする処理を行っていたりするとバッ テリ消費が大変なことになる • keepRunnningの設定をfalseにする
Apache Cordova開発での問題点 • Webサーバーとのやり取りがAjaxに限定 • cookieが使いものにならない • pushStateを使うとreloadがきかない • ブラウザで動いてもアプリだとエラーになるコード がある • 端末によって動作が違う
Apache Cordova開発での 問題点に対する smartFXでの対応
Webサーバとのやり取りがAjaxに限定 • SPAで作成。各AJAXのURLにホスト名を記載。 CSRF用のtokenもAjaxで取得 • 申請を待たずにアプリを更新するために、起動時に SPA本体のjsのURLが書かれたjsをサーバから毎回 取得し、記述されたURLのjsを読み込む • Social Login等外部サイトを呼ぶ必要がある場合は 、InAppBrowserというアプリ内ブラウザを使う
cookieが使いものにならない • LocalStorageを使う。 • ただし、Webサービスでも提供していた場合、クラ イアントのブラウザがシークレットモードの場合は LocalStorageがエラーになるに注意。
pushStateを使うとreloadがきかない • 起動時にpushStateを使う前のurlを保存しておき、 reloadしたい場面では保存したURLを開く
ブラウザで動いてもアプリだとエラーにな るコードがある • iOS6以上のiOS Simulator、Android 4.4以上だと WebViewも外部からdebugできるので頑張る。 • iOSのWebViewの場合、初期化処理の中でそのオブ ジェクトのprototype関数を呼び出すとエラーになっ た。
端末によって動作が違う • 頑張る。特にAndroid4.0はCanvasのバグが激しい。 canvasに書き込みつつも、canvasタグ自体は hiddenにして、toDataURL()でimageタグに対して 出力している。 • Androidの場合、crosswalkというサードパーティの pluginを使えばWebView自体がアプリに組込まれる ので最新の技術+端末ごとの差異がなくなり解決す るはず。。
III.まとめ
• ネイティブの機能を使わなくてもアプリ化するメリ ットは大きい • Apache Cordovaを使えば、Object-CやJavaを1行も 書いたことがなくても、まともなアプリが作れる • 最近の端末(iPhone5以降)だとネイティブと遜色ない と言えるレベルで動作する(smartfx.jp splax.net) • SPAは習得するのにちょっと慣れが必要だが、必須 の技術になりつつあるので、ぜひ覚えよう。 保守性もUpするよ!!
ご静聴 ありがとうございました

Recommended

PDF
~新しい着回しと出会おう~ 『XZ(クローゼット)』 を支える技術 -Cordova編-
PDF
スキスキIonic
PDF
Ionicでハイブリッドアプリ入門①
PPTX
【eLV勉強会】AngularJSでのモバイルフロントエンド開発
PPTX
CordovaでAngularJSアプリ開発
PPTX
TechFeedのつくりかた - Angular2/Webpack/Ionic2/Cordova実践入門
PPTX
【ABC2014Spring LT】AngularJSでWEBアプリ開発
PPTX
Cordova を使って本気で商用ハイブリッドアプリ開発をやってみた
PPTX
Monacaでつくるハイブリッドアプリ
 
PDF
120分聞けばドヤ顔で語れる apache cordova スーパー勉強会
 
PDF
noteをAngularJSで構築した話
PDF
Directiveで実現できたこと
PPTX
Cordovaの最近ホットな話題と地雷をまとめて紹介
PDF
Androidでもサクサク動くHTML5ハイブリッドアプリの作り⽅
PDF
Onsen UI 2.0とUIライブラリの未来
PPTX
WEBがネイティブに勝つために - kaumoCTOMeetup(いっちマン)
PPTX
HTML5ハイブリッドアプリ開発のベストプラクティス
PDF
AngularJSで業務システムUI部品化
PPTX
Onsen UIが目指すもの
PDF
ネイティブとHTML5を スマートに連携させる設計と 実装のノウハウについて
PDF
AngularとOnsen UIで作る最高のHTML5ハイブリッドアプリ
PDF
Angular2
PDF
フロントエンド初学者がSPAに手を出してみた
PDF
スマホアプリ開発者のためのWeb api開発入門の入門
PDF
今後のWeb開発の未来を考えてangularJSにしました
PPTX
Monacaで簡単スマートフォンアプリ開発体験講座
 
PDF
はやわかりHTML5ハイブリッドアプリ開発事情
 
PPTX
10分でわかるOpenAPI V3
PPTX
cordova/electronの構造を知る
PDF
PhoneGap勉強会 - 実践編 -

More Related Content

PDF
~新しい着回しと出会おう~ 『XZ(クローゼット)』 を支える技術 -Cordova編-
PDF
スキスキIonic
PDF
Ionicでハイブリッドアプリ入門①
PPTX
【eLV勉強会】AngularJSでのモバイルフロントエンド開発
PPTX
CordovaでAngularJSアプリ開発
PPTX
TechFeedのつくりかた - Angular2/Webpack/Ionic2/Cordova実践入門
PPTX
【ABC2014Spring LT】AngularJSでWEBアプリ開発
PPTX
Cordova を使って本気で商用ハイブリッドアプリ開発をやってみた
~新しい着回しと出会おう~ 『XZ(クローゼット)』 を支える技術 -Cordova編-
スキスキIonic
Ionicでハイブリッドアプリ入門①
【eLV勉強会】AngularJSでのモバイルフロントエンド開発
CordovaでAngularJSアプリ開発
TechFeedのつくりかた - Angular2/Webpack/Ionic2/Cordova実践入門
【ABC2014Spring LT】AngularJSでWEBアプリ開発
Cordova を使って本気で商用ハイブリッドアプリ開発をやってみた

What's hot

PPTX
Monacaでつくるハイブリッドアプリ
 
PDF
120分聞けばドヤ顔で語れる apache cordova スーパー勉強会
 
PDF
noteをAngularJSで構築した話
PDF
Directiveで実現できたこと
PPTX
Cordovaの最近ホットな話題と地雷をまとめて紹介
PDF
Androidでもサクサク動くHTML5ハイブリッドアプリの作り⽅
PDF
Onsen UI 2.0とUIライブラリの未来
PPTX
WEBがネイティブに勝つために - kaumoCTOMeetup(いっちマン)
PPTX
HTML5ハイブリッドアプリ開発のベストプラクティス
PDF
AngularJSで業務システムUI部品化
PPTX
Onsen UIが目指すもの
PDF
ネイティブとHTML5を スマートに連携させる設計と 実装のノウハウについて
PDF
AngularとOnsen UIで作る最高のHTML5ハイブリッドアプリ
PDF
Angular2
PDF
フロントエンド初学者がSPAに手を出してみた
PDF
スマホアプリ開発者のためのWeb api開発入門の入門
PDF
今後のWeb開発の未来を考えてangularJSにしました
PPTX
Monacaで簡単スマートフォンアプリ開発体験講座
 
PDF
はやわかりHTML5ハイブリッドアプリ開発事情
 
PPTX
10分でわかるOpenAPI V3
Monacaでつくるハイブリッドアプリ
 
120分聞けばドヤ顔で語れる apache cordova スーパー勉強会
 
noteをAngularJSで構築した話
Directiveで実現できたこと
Cordovaの最近ホットな話題と地雷をまとめて紹介
Androidでもサクサク動くHTML5ハイブリッドアプリの作り⽅
Onsen UI 2.0とUIライブラリの未来
WEBがネイティブに勝つために - kaumoCTOMeetup(いっちマン)
HTML5ハイブリッドアプリ開発のベストプラクティス
AngularJSで業務システムUI部品化
Onsen UIが目指すもの
ネイティブとHTML5を スマートに連携させる設計と 実装のノウハウについて
AngularとOnsen UIで作る最高のHTML5ハイブリッドアプリ
Angular2
フロントエンド初学者がSPAに手を出してみた
スマホアプリ開発者のためのWeb api開発入門の入門
今後のWeb開発の未来を考えてangularJSにしました
Monacaで簡単スマートフォンアプリ開発体験講座
 
はやわかりHTML5ハイブリッドアプリ開発事情
 
10分でわかるOpenAPI V3

Similar to smartFXにおけるApache Cordovaの活用について

PPTX
cordova/electronの構造を知る
PDF
PhoneGap勉強会 - 実践編 -
KEY
PhoneGapの始め方
PDF
Cordova利用アプリ開発経験談
PDF
NSA NB委員会セミナー「モバイルアプリ開発業務におけるmonacaの活用」
PDF
PhoneGapとハイブリッド開発
PDF
iOS/Android/Windows クロスプラットフォーム モバイルアプリ開発
PDF
My cordovaprojectstory
PDF
Html5/JSモバイルアプリ最前線
PDF
Spring Boot × Vue.jsでSPAを作る
PPTX
Webエンジニアによるスマートフォンアプリ開発
PPTX
PhoneGapユーザー会@大阪 講演資料
 
PPTX
Cordovaは業務システムを簡単にするか?
PDF
HTML5ハイブリッド アプリ開発実践編
 
PDF
PhoneGapでWebアプリをスマホアプリ化
PPTX
【デブサミ関西2014】Web技術で作るエンタープライズアプリ
PPTX
クロスプラットフォーム開発を可能にするMonacaとそのセキュリティ対策
 
PDF
Visual Studio 2015 を使用した Cordova アプリの開発
PDF
PhoneGapで作るハイブリッドアプリケーション
PPTX
Phone gap+javascriptスマホアプリ開発(入門編)
 
cordova/electronの構造を知る
PhoneGap勉強会 - 実践編 -
PhoneGapの始め方
Cordova利用アプリ開発経験談
NSA NB委員会セミナー「モバイルアプリ開発業務におけるmonacaの活用」
PhoneGapとハイブリッド開発
iOS/Android/Windows クロスプラットフォーム モバイルアプリ開発
My cordovaprojectstory
Html5/JSモバイルアプリ最前線
Spring Boot × Vue.jsでSPAを作る
Webエンジニアによるスマートフォンアプリ開発
PhoneGapユーザー会@大阪 講演資料
 
Cordovaは業務システムを簡単にするか?
HTML5ハイブリッド アプリ開発実践編
 
PhoneGapでWebアプリをスマホアプリ化
【デブサミ関西2014】Web技術で作るエンタープライズアプリ
クロスプラットフォーム開発を可能にするMonacaとそのセキュリティ対策
 
Visual Studio 2015 を使用した Cordova アプリの開発
PhoneGapで作るハイブリッドアプリケーション
Phone gap+javascriptスマホアプリ開発(入門編)
 

smartFXにおけるApache Cordovaの活用について


[8]ページ先頭

©2009-2025 Movatter.jp