SlideShare una empresa de Scribd logo
1 de 24
Descargar para leer sin conexión
LLTLIVE in 渋谷
2013.12.13 @maru_cc

13年12月16日月曜日
もくじ

自己紹介
Lemonadeについて
ハイブリットアプリ

13年12月16日月曜日
おまえ誰よ?
Tomoyuki Maruta
maru_cc
http:/
/maru.cc
php,Python,JSとかとかのエンジニア

13年12月16日月曜日
Lemonade Lab, Inc. でエンジニアやってます
Lemonade というWebサービスつくってます

http:/
/lemona.de/
スポーツする人向けSNS
Nike+, Runkeeper, Stravaみたいな

13年12月16日月曜日
Lemonade
エンジニア3人で作成 (現4人)
iOS
Android*2
Web/WebView

13年12月16日月曜日
LemondeのServer
Ubuntu + Python(Django) + MySQL+MongoDB
マスターデータはMySQL
MongoDBは走行ログと、セカンダリ
EC2*3, RDS, S3, ElastiCache, CloudFront, ELB
CoffeeScript, LESSコンパイルにNodeJS

13年12月16日月曜日
LemonadeのWeb
CoffeeScript + RequreJS + Knockout.js
jQuery系プラグインあれこれ
LESS + BLESS (一部 bootstrapを使用)
mixinとか

13年12月16日月曜日
LemonadeのApp
Apache Cordova(PhoneGap)ベースのハイブリッド
ログ記録等はNativeのアプリ
表示はWebView
WebViewからNativeを制御

13年12月16日月曜日
今日はアプリのお話

13年12月16日月曜日
Native

WebView

13年12月16日月曜日
ハイブリッドにした理由
iOS,Androidを両方作るリソースが足りない!
しかもエンジニアが3人ともWeb系
CordovaはすべてJSで実装する思想だが。。
計測機能はNativeでそれぞれ実装が必要
後々Nativeに置き換えていきたい

13年12月16日月曜日
最低限のhtml,JSのみ同梱
各Viewのhtml,JSは実行時にdownloadする
Native部分の制御はCordovaPluginを作成

13年12月16日月曜日
WebViewの表示フロー
1.同梱したhtmlが読み込まれる
2.config.json と呼ばれるファイルを呼ぶ
401ならログイン処理
RequireJSの設定等が入っている

13年12月16日月曜日
3.開きたいページに該当するViewModelが読み
込まれる
notebook/top -> notebook/top.xxxx.js
ViewModelに書かれている htmlも読み込ま
れて、表示

13年12月16日月曜日
History管理

ページのHistoryはNative側で管理
AppView PluginのHistory関連
アプリ復帰時に前回画面を復帰できる

13年12月16日月曜日
ページ遷移
Nativeトリガーの場合
WebView内のJSメソッドを呼ぶ
AppView.redirect_controller(‘notebook/top’, ‘user_id=2’)

WebViewが開いていない場合はHisotoryに
入れてから初期化する

13年12月16日月曜日
ページ遷移

WebView内で遷移する場合
Nativeの遷移用プラグインを呼ぶ
後はNativeトリガーと同じ

13年12月16日月曜日
html,JSの読み込みにRequireJSを使用
ViewModelとhtmlはKnockoutJSを使用
基本 1対1でシンプルにページ追加ができる
ファイルはNative側でキャッシュ
ファイル名にハッシュ値を付けている

13年12月16日月曜日
ページ間のデータ連携に
Backbone.jsの Collection,Modelを使用
localStorageに保存して永続化

13年12月16日月曜日
Backbone.js Collectionの表示に
Knockback.jsを使用
Collectionのデータの表示が楽にできる

13年12月16日月曜日
2013.11.03

ツール・ド・東北でオフィシャルアプリ
使ってもらいました

13年12月16日月曜日
今後の課題
WebView遅いw (特にAndroid)
部分的にNative化していきたい
WebViewのJSをサーバから配布しているので
アプリリリースとは別に機能や見た目を対応
できる良さは殺したくない
ハイブリット化の次の形を模索中

13年12月16日月曜日
今後の課題2
Djangoのテストはほぼ全機能で最低限の自動
テストはしている
Jenkinsがテスト実行後に開発環境に配布
iOS, Androidは現在徐々に追加
JSの自動テストが無い!

13年12月16日月曜日
おしまい
ご清聴ありがとうございました

13年12月16日月曜日

Más contenido relacionado

La actualidad más candente

Microsoft open technologies の ross gardler さんを囲む会 改め 『microsoft open technolo...
Microsoft open technologies の ross gardler さんを囲む会 改め 『microsoft open technolo...Microsoft open technologies の ross gardler さんを囲む会 改め 『microsoft open technolo...
Microsoft open technologies の ross gardler さんを囲む会 改め 『microsoft open technolo...Kazumi Hirose
 
MS open technologies の ross gardler さんを囲む会 改め 『MS open technologies に必ず伝えてほしい...
MS open technologies の ross gardler さんを囲む会 改め 『MS open technologies に必ず伝えてほしい...MS open technologies の ross gardler さんを囲む会 改め 『MS open technologies に必ず伝えてほしい...
MS open technologies の ross gardler さんを囲む会 改め 『MS open technologies に必ず伝えてほしい...Kazumi Hirose
 
人間たちとsystemd
人間たちとsystemd人間たちとsystemd
人間たちとsystemdUchio Kondo
 
Opa - Cloud Language
Opa - Cloud LanguageOpa - Cloud Language
Opa - Cloud LanguageTozo Tanaka
 
OSC 2016 Hokkaido セミナー資料
OSC 2016 Hokkaido セミナー資料OSC 2016 Hokkaido セミナー資料
OSC 2016 Hokkaido セミナー資料slankdev
 
Way that Symfony2 to be installed on windows7 and xampp
Way that Symfony2 to be installed on windows7 and xamppWay that Symfony2 to be installed on windows7 and xampp
Way that Symfony2 to be installed on windows7 and xamppHotaruMaru HM
 
NuAns NEO of Shibuya LoFt @20160416 NL名古屋
NuAns NEO of Shibuya LoFt @20160416 NL名古屋NuAns NEO of Shibuya LoFt @20160416 NL名古屋
NuAns NEO of Shibuya LoFt @20160416 NL名古屋MasuqaT
 
一部のWebアクセスだけ回線を切り替える方法
一部のWebアクセスだけ回線を切り替える方法一部のWebアクセスだけ回線を切り替える方法
一部のWebアクセスだけ回線を切り替える方法Yoshitake Takata
 
スマホのパケットを節約したいけど音泉をもっと楽しみたい
スマホのパケットを節約したいけど音泉をもっと楽しみたいスマホのパケットを節約したいけど音泉をもっと楽しみたい
スマホのパケットを節約したいけど音泉をもっと楽しみたいYoshitake Takata
 

La actualidad más candente (12)

Realm
RealmRealm
Realm
 
Microsoft open technologies の ross gardler さんを囲む会 改め 『microsoft open technolo...
Microsoft open technologies の ross gardler さんを囲む会 改め 『microsoft open technolo...Microsoft open technologies の ross gardler さんを囲む会 改め 『microsoft open technolo...
Microsoft open technologies の ross gardler さんを囲む会 改め 『microsoft open technolo...
 
MS open technologies の ross gardler さんを囲む会 改め 『MS open technologies に必ず伝えてほしい...
MS open technologies の ross gardler さんを囲む会 改め 『MS open technologies に必ず伝えてほしい...MS open technologies の ross gardler さんを囲む会 改め 『MS open technologies に必ず伝えてほしい...
MS open technologies の ross gardler さんを囲む会 改め 『MS open technologies に必ず伝えてほしい...
 
#31 愛しのst2
#31 愛しのst2#31 愛しのst2
#31 愛しのst2
 
Railsの今昔
Railsの今昔Railsの今昔
Railsの今昔
 
人間たちとsystemd
人間たちとsystemd人間たちとsystemd
人間たちとsystemd
 
Opa - Cloud Language
Opa - Cloud LanguageOpa - Cloud Language
Opa - Cloud Language
 
OSC 2016 Hokkaido セミナー資料
OSC 2016 Hokkaido セミナー資料OSC 2016 Hokkaido セミナー資料
OSC 2016 Hokkaido セミナー資料
 
Way that Symfony2 to be installed on windows7 and xampp
Way that Symfony2 to be installed on windows7 and xamppWay that Symfony2 to be installed on windows7 and xampp
Way that Symfony2 to be installed on windows7 and xampp
 
NuAns NEO of Shibuya LoFt @20160416 NL名古屋
NuAns NEO of Shibuya LoFt @20160416 NL名古屋NuAns NEO of Shibuya LoFt @20160416 NL名古屋
NuAns NEO of Shibuya LoFt @20160416 NL名古屋
 
一部のWebアクセスだけ回線を切り替える方法
一部のWebアクセスだけ回線を切り替える方法一部のWebアクセスだけ回線を切り替える方法
一部のWebアクセスだけ回線を切り替える方法
 
スマホのパケットを節約したいけど音泉をもっと楽しみたい
スマホのパケットを節約したいけど音泉をもっと楽しみたいスマホのパケットを節約したいけど音泉をもっと楽しみたい
スマホのパケットを節約したいけど音泉をもっと楽しみたい
 

Similar a LLTLIVE in Shibuya 2013.12.13

CyberAgentにおけるMongoDB
CyberAgentにおけるMongoDBCyberAgentにおけるMongoDB
CyberAgentにおけるMongoDBAkihiro Kuwano
 
CodeIgniterでXMLを処理してみる
CodeIgniterでXMLを処理してみるCodeIgniterでXMLを処理してみる
CodeIgniterでXMLを処理してみる智之 大野
 
Batch and Stream processing with SQL
Batch and Stream processing with SQLBatch and Stream processing with SQL
Batch and Stream processing with SQLSATOSHI TAGOMORI
 
20131216 Android App Inventor and LEGO Robot Mindstorms
20131216 Android App Inventor and LEGO Robot Mindstorms20131216 Android App Inventor and LEGO Robot Mindstorms
20131216 Android App Inventor and LEGO Robot MindstormsKenichi Ohwada
 
Getting started raspberry pi osc hamamatsu
Getting started raspberry pi osc hamamatsuGetting started raspberry pi osc hamamatsu
Getting started raspberry pi osc hamamatsuMasafumi Ohta
 
Resemaraを支えた技術 フライングゲットガチャの舞台裏 #ksgstudy #ドリコム
Resemaraを支えた技術 フライングゲットガチャの舞台裏 #ksgstudy #ドリコムResemaraを支えた技術 フライングゲットガチャの舞台裏 #ksgstudy #ドリコム
Resemaraを支えた技術 フライングゲットガチャの舞台裏 #ksgstudy #ドリコムGo Sueyoshi (a.k.a sue445)
 
NDS31 はじめてChrome App
NDS31 はじめてChrome AppNDS31 はじめてChrome App
NDS31 はじめてChrome Appcivic Sasaki
 
20130719 始めるdev ops
20130719 始めるdev ops20130719 始めるdev ops
20130719 始めるdev opsaktsk
 
2012 11-17.nagoyapm08
2012 11-17.nagoyapm082012 11-17.nagoyapm08
2012 11-17.nagoyapm08IWATA Susumu
 
Sencha Touch working with AWS
Sencha Touch working with AWSSencha Touch working with AWS
Sencha Touch working with AWS久司 中村
 
Flashじゃなくて HTML5で ビュンビュン動くサイトを 作ってと言われたら
Flashじゃなくて HTML5で ビュンビュン動くサイトを 作ってと言われたらFlashじゃなくて HTML5で ビュンビュン動くサイトを 作ってと言われたら
Flashじゃなくて HTML5で ビュンビュン動くサイトを 作ってと言われたらHiroaki Okubo
 
The Way of Fun Development - たのしい開発への道 / Sapporo RubyKaigi2012
The Way of Fun Development - たのしい開発への道 / Sapporo RubyKaigi2012The Way of Fun Development - たのしい開発への道 / Sapporo RubyKaigi2012
The Way of Fun Development - たのしい開発への道 / Sapporo RubyKaigi2012tatsuo sakurai
 
Windowsストアアプリ開発ハンズオントレーニングに行ってきました 2012-09-22-lt
Windowsストアアプリ開発ハンズオントレーニングに行ってきました 2012-09-22-ltWindowsストアアプリ開発ハンズオントレーニングに行ってきました 2012-09-22-lt
Windowsストアアプリ開発ハンズオントレーニングに行ってきました 2012-09-22-ltTomokazu Kizawa
 
ソーシャルアプリを分析してみた
ソーシャルアプリを分析してみたソーシャルアプリを分析してみた
ソーシャルアプリを分析してみたDrecom Co., Ltd.
 
【Jpug勉強会】10大ニュースで振り返るpg con2013
【Jpug勉強会】10大ニュースで振り返るpg con2013【Jpug勉強会】10大ニュースで振り返るpg con2013
【Jpug勉強会】10大ニュースで振り返るpg con2013Daichi Egawa
 
PaaSで簡単Railsアプリを公開しよう!
PaaSで簡単Railsアプリを公開しよう!PaaSで簡単Railsアプリを公開しよう!
PaaSで簡単Railsアプリを公開しよう!Yoshitake Takata
 

Similar a LLTLIVE in Shibuya 2013.12.13 (20)

CyberAgentにおけるMongoDB
CyberAgentにおけるMongoDBCyberAgentにおけるMongoDB
CyberAgentにおけるMongoDB
 
CodeIgniterでXMLを処理してみる
CodeIgniterでXMLを処理してみるCodeIgniterでXMLを処理してみる
CodeIgniterでXMLを処理してみる
 
Batch and Stream processing with SQL
Batch and Stream processing with SQLBatch and Stream processing with SQL
Batch and Stream processing with SQL
 
Devsumi2013 gunta 2_pdf
Devsumi2013 gunta 2_pdfDevsumi2013 gunta 2_pdf
Devsumi2013 gunta 2_pdf
 
20131216 Android App Inventor and LEGO Robot Mindstorms
20131216 Android App Inventor and LEGO Robot Mindstorms20131216 Android App Inventor and LEGO Robot Mindstorms
20131216 Android App Inventor and LEGO Robot Mindstorms
 
20130112 lod android
20130112 lod android20130112 lod android
20130112 lod android
 
Getting started raspberry pi osc hamamatsu
Getting started raspberry pi osc hamamatsuGetting started raspberry pi osc hamamatsu
Getting started raspberry pi osc hamamatsu
 
Resemaraを支えた技術 フライングゲットガチャの舞台裏 #ksgstudy #ドリコム
Resemaraを支えた技術 フライングゲットガチャの舞台裏 #ksgstudy #ドリコムResemaraを支えた技術 フライングゲットガチャの舞台裏 #ksgstudy #ドリコム
Resemaraを支えた技術 フライングゲットガチャの舞台裏 #ksgstudy #ドリコム
 
ngx_small_light
ngx_small_lightngx_small_light
ngx_small_light
 
NDS31 はじめてChrome App
NDS31 はじめてChrome AppNDS31 はじめてChrome App
NDS31 はじめてChrome App
 
20130719 始めるdev ops
20130719 始めるdev ops20130719 始めるdev ops
20130719 始めるdev ops
 
12 13-lecture
12 13-lecture12 13-lecture
12 13-lecture
 
2012 11-17.nagoyapm08
2012 11-17.nagoyapm082012 11-17.nagoyapm08
2012 11-17.nagoyapm08
 
Sencha Touch working with AWS
Sencha Touch working with AWSSencha Touch working with AWS
Sencha Touch working with AWS
 
Flashじゃなくて HTML5で ビュンビュン動くサイトを 作ってと言われたら
Flashじゃなくて HTML5で ビュンビュン動くサイトを 作ってと言われたらFlashじゃなくて HTML5で ビュンビュン動くサイトを 作ってと言われたら
Flashじゃなくて HTML5で ビュンビュン動くサイトを 作ってと言われたら
 
The Way of Fun Development - たのしい開発への道 / Sapporo RubyKaigi2012
The Way of Fun Development - たのしい開発への道 / Sapporo RubyKaigi2012The Way of Fun Development - たのしい開発への道 / Sapporo RubyKaigi2012
The Way of Fun Development - たのしい開発への道 / Sapporo RubyKaigi2012
 
Windowsストアアプリ開発ハンズオントレーニングに行ってきました 2012-09-22-lt
Windowsストアアプリ開発ハンズオントレーニングに行ってきました 2012-09-22-ltWindowsストアアプリ開発ハンズオントレーニングに行ってきました 2012-09-22-lt
Windowsストアアプリ開発ハンズオントレーニングに行ってきました 2012-09-22-lt
 
ソーシャルアプリを分析してみた
ソーシャルアプリを分析してみたソーシャルアプリを分析してみた
ソーシャルアプリを分析してみた
 
【Jpug勉強会】10大ニュースで振り返るpg con2013
【Jpug勉強会】10大ニュースで振り返るpg con2013【Jpug勉強会】10大ニュースで振り返るpg con2013
【Jpug勉強会】10大ニュースで振り返るpg con2013
 
PaaSで簡単Railsアプリを公開しよう!
PaaSで簡単Railsアプリを公開しよう!PaaSで簡単Railsアプリを公開しよう!
PaaSで簡単Railsアプリを公開しよう!
 

Último

プレイマットのパターン生成支援ツール
プレイマットのパターン生成支援ツールプレイマットのパターン生成支援ツール
プレイマットのパターン生成支援ツールsugiuralab
 
IoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptxIoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptxAtomu Hidaka
 
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。iPride Co., Ltd.
 
20240412_HCCJP での Windows Server 2025 Active Directory
20240412_HCCJP での Windows Server 2025 Active Directory20240412_HCCJP での Windows Server 2025 Active Directory
20240412_HCCJP での Windows Server 2025 Active Directoryosamut
 
プレイマットのパターン生成支援ツールの評価
プレイマットのパターン生成支援ツールの評価プレイマットのパターン生成支援ツールの評価
プレイマットのパターン生成支援ツールの評価sugiuralab
 
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。
新人研修のまとめ       2024/04/12の勉強会で発表されたものです。新人研修のまとめ       2024/04/12の勉強会で発表されたものです。
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。iPride Co., Ltd.
 
PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000Shota Ito
 

Último (7)

プレイマットのパターン生成支援ツール
プレイマットのパターン生成支援ツールプレイマットのパターン生成支援ツール
プレイマットのパターン生成支援ツール
 
IoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptxIoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptx
 
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
 
20240412_HCCJP での Windows Server 2025 Active Directory
20240412_HCCJP での Windows Server 2025 Active Directory20240412_HCCJP での Windows Server 2025 Active Directory
20240412_HCCJP での Windows Server 2025 Active Directory
 
プレイマットのパターン生成支援ツールの評価
プレイマットのパターン生成支援ツールの評価プレイマットのパターン生成支援ツールの評価
プレイマットのパターン生成支援ツールの評価
 
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。
新人研修のまとめ       2024/04/12の勉強会で発表されたものです。新人研修のまとめ       2024/04/12の勉強会で発表されたものです。
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。
 
PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000
 

LLTLIVE in Shibuya 2013.12.13