LLTLIVE in Shibuya 2013.12.13

M
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日月曜日
1 of 24

Recommended

ペパボのサービスとRuby by
ペパボのサービスとRubyペパボのサービスとRuby
ペパボのサービスとRubyUchio Kondo
6.3K views28 slides
Kernel vm13lt by
Kernel vm13ltKernel vm13lt
Kernel vm13ltslankdev
638 views20 slides
サイボウズ・ラボユース中間報告会 by
サイボウズ・ラボユース中間報告会サイボウズ・ラボユース中間報告会
サイボウズ・ラボユース中間報告会slankdev
670 views34 slides
MacRuby を使ってみました by
MacRuby を使ってみましたMacRuby を使ってみました
MacRuby を使ってみましたYoshiyuki MIYAGI
2.2K views17 slides
ペパボ福岡支社におけるRubyの活用事例 by
ペパボ福岡支社におけるRubyの活用事例ペパボ福岡支社におけるRubyの活用事例
ペパボ福岡支社におけるRubyの活用事例Uchio Kondo
15.6K views56 slides
鹿児島Linux勉強会2016.04 by
鹿児島Linux勉強会2016.04鹿児島Linux勉強会2016.04
鹿児島Linux勉強会2016.04Kenichiro MATOHARA
607 views4 slides

More Related Content

What's hot

Realm by
RealmRealm
Realmm ishizaki
184 views17 slides
Microsoft open technologies の ross gardler さんを囲む会 改め 『microsoft open technolo... by
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
909 views21 slides
MS open technologies の ross gardler さんを囲む会 改め 『MS open technologies に必ず伝えてほしい... by
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
561 views21 slides
#31 愛しのst2 by
#31 愛しのst2#31 愛しのst2
#31 愛しのst2森下 智裕
723 views20 slides
Railsの今昔 by
Railsの今昔Railsの今昔
Railsの今昔よしだ あつし
1.6K views31 slides
人間たちとsystemd by
人間たちとsystemd人間たちとsystemd
人間たちとsystemdUchio Kondo
1.7K views64 slides

What's hot(12)

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

Similar to LLTLIVE in Shibuya 2013.12.13

CyberAgentにおけるMongoDB by
CyberAgentにおけるMongoDBCyberAgentにおけるMongoDB
CyberAgentにおけるMongoDBAkihiro Kuwano
17.7K views94 slides
CodeIgniterでXMLを処理してみる by
CodeIgniterでXMLを処理してみるCodeIgniterでXMLを処理してみる
CodeIgniterでXMLを処理してみる智之 大野
5K views18 slides
Batch and Stream processing with SQL by
Batch and Stream processing with SQLBatch and Stream processing with SQL
Batch and Stream processing with SQLSATOSHI TAGOMORI
10.6K views47 slides
Devsumi2013 gunta 2_pdf by
Devsumi2013 gunta 2_pdfDevsumi2013 gunta 2_pdf
Devsumi2013 gunta 2_pdfGunther Brunner
1.2K views68 slides
20131216 Android App Inventor and LEGO Robot Mindstorms by
20131216 Android App Inventor and LEGO Robot Mindstorms20131216 Android App Inventor and LEGO Robot Mindstorms
20131216 Android App Inventor and LEGO Robot MindstormsKenichi Ohwada
1.7K views32 slides
20130112 lod android by
20130112 lod android20130112 lod android
20130112 lod androidKenichi Ohwada
497 views18 slides

Similar to LLTLIVE in Shibuya 2013.12.13(20)

CyberAgentにおけるMongoDB by Akihiro Kuwano
CyberAgentにおけるMongoDBCyberAgentにおけるMongoDB
CyberAgentにおけるMongoDB
Akihiro Kuwano17.7K views
CodeIgniterでXMLを処理してみる by 智之 大野
CodeIgniterでXMLを処理してみるCodeIgniterでXMLを処理してみる
CodeIgniterでXMLを処理してみる
智之 大野5K views
Batch and Stream processing with SQL by SATOSHI TAGOMORI
Batch and Stream processing with SQLBatch and Stream processing with SQL
Batch and Stream processing with SQL
SATOSHI TAGOMORI10.6K views
20131216 Android App Inventor and LEGO Robot Mindstorms by Kenichi Ohwada
20131216 Android App Inventor and LEGO Robot Mindstorms20131216 Android App Inventor and LEGO Robot Mindstorms
20131216 Android App Inventor and LEGO Robot Mindstorms
Kenichi Ohwada1.7K views
Getting started raspberry pi osc hamamatsu by Masafumi Ohta
Getting started raspberry pi osc hamamatsuGetting started raspberry pi osc hamamatsu
Getting started raspberry pi osc hamamatsu
Masafumi Ohta1.4K views
Resemaraを支えた技術 フライングゲットガチャの舞台裏 #ksgstudy #ドリコム by Go Sueyoshi (a.k.a sue445)
Resemaraを支えた技術 フライングゲットガチャの舞台裏 #ksgstudy #ドリコムResemaraを支えた技術 フライングゲットガチャの舞台裏 #ksgstudy #ドリコム
Resemaraを支えた技術 フライングゲットガチャの舞台裏 #ksgstudy #ドリコム
NDS31 はじめてChrome App by civic Sasaki
NDS31 はじめてChrome AppNDS31 はじめてChrome App
NDS31 はじめてChrome App
civic Sasaki2.3K views
20130719 始めるdev ops by aktsk
20130719 始めるdev ops20130719 始めるdev ops
20130719 始めるdev ops
aktsk2.8K views
Sencha Touch working with AWS by 久司 中村
Sencha Touch working with AWSSencha Touch working with AWS
Sencha Touch working with AWS
久司 中村2.4K views
Flashじゃなくて HTML5で ビュンビュン動くサイトを 作ってと言われたら by Hiroaki Okubo
Flashじゃなくて HTML5で ビュンビュン動くサイトを 作ってと言われたらFlashじゃなくて HTML5で ビュンビュン動くサイトを 作ってと言われたら
Flashじゃなくて HTML5で ビュンビュン動くサイトを 作ってと言われたら
Hiroaki Okubo54.2K views
The Way of Fun Development - たのしい開発への道 / Sapporo RubyKaigi2012 by tatsuo sakurai
The Way of Fun Development - たのしい開発への道 / Sapporo RubyKaigi2012The Way of Fun Development - たのしい開発への道 / Sapporo RubyKaigi2012
The Way of Fun Development - たのしい開発への道 / Sapporo RubyKaigi2012
tatsuo sakurai1.3K views
Windowsストアアプリ開発ハンズオントレーニングに行ってきました 2012-09-22-lt by Tomokazu Kizawa
Windowsストアアプリ開発ハンズオントレーニングに行ってきました 2012-09-22-ltWindowsストアアプリ開発ハンズオントレーニングに行ってきました 2012-09-22-lt
Windowsストアアプリ開発ハンズオントレーニングに行ってきました 2012-09-22-lt
Tomokazu Kizawa622 views
ソーシャルアプリを分析してみた by Drecom Co., Ltd.
ソーシャルアプリを分析してみたソーシャルアプリを分析してみた
ソーシャルアプリを分析してみた
Drecom Co., Ltd.9.2K views
【Jpug勉強会】10大ニュースで振り返るpg con2013 by Daichi Egawa
【Jpug勉強会】10大ニュースで振り返るpg con2013【Jpug勉強会】10大ニュースで振り返るpg con2013
【Jpug勉強会】10大ニュースで振り返るpg con2013
Daichi Egawa7.1K views
PaaSで簡単Railsアプリを公開しよう! by Yoshitake Takata
PaaSで簡単Railsアプリを公開しよう!PaaSで簡単Railsアプリを公開しよう!
PaaSで簡単Railsアプリを公開しよう!
Yoshitake Takata1.5K views

Recently uploaded

光コラボは契約してはいけない by
光コラボは契約してはいけない光コラボは契約してはいけない
光コラボは契約してはいけないTakuya Matsunaga
25 views17 slides
今、改めて考えるPostgreSQLプラットフォーム - マルチクラウドとポータビリティ -(PostgreSQL Conference Japan 20... by
今、改めて考えるPostgreSQLプラットフォーム - マルチクラウドとポータビリティ -(PostgreSQL Conference Japan 20...今、改めて考えるPostgreSQLプラットフォーム - マルチクラウドとポータビリティ -(PostgreSQL Conference Japan 20...
今、改めて考えるPostgreSQLプラットフォーム - マルチクラウドとポータビリティ -(PostgreSQL Conference Japan 20...NTT DATA Technology & Innovation
151 views42 slides
PCCC23:富士通株式会社 テーマ1「次世代高性能・省電力プロセッサ『FUJITSU-MONAKA』」 by
PCCC23:富士通株式会社 テーマ1「次世代高性能・省電力プロセッサ『FUJITSU-MONAKA』」PCCC23:富士通株式会社 テーマ1「次世代高性能・省電力プロセッサ『FUJITSU-MONAKA』」
PCCC23:富士通株式会社 テーマ1「次世代高性能・省電力プロセッサ『FUJITSU-MONAKA』」PC Cluster Consortium
45 views12 slides
Keycloakの全体像: 基本概念、ユースケース、そして最新の開発動向 by
Keycloakの全体像: 基本概念、ユースケース、そして最新の開発動向Keycloakの全体像: 基本概念、ユースケース、そして最新の開発動向
Keycloakの全体像: 基本概念、ユースケース、そして最新の開発動向Hitachi, Ltd. OSS Solution Center.
89 views26 slides
Windows 11 information that can be used at the development site by
Windows 11 information that can be used at the development siteWindows 11 information that can be used at the development site
Windows 11 information that can be used at the development siteAtomu Hidaka
90 views41 slides
PCCC23:東京大学情報基盤センター 「Society5.0の実現を目指す『計算・データ・学習』の融合による革新的スーパーコンピューティング」 by
PCCC23:東京大学情報基盤センター 「Society5.0の実現を目指す『計算・データ・学習』の融合による革新的スーパーコンピューティング」PCCC23:東京大学情報基盤センター 「Society5.0の実現を目指す『計算・データ・学習』の融合による革新的スーパーコンピューティング」
PCCC23:東京大学情報基盤センター 「Society5.0の実現を目指す『計算・データ・学習』の融合による革新的スーパーコンピューティング」PC Cluster Consortium
23 views36 slides

Recently uploaded(12)

光コラボは契約してはいけない by Takuya Matsunaga
光コラボは契約してはいけない光コラボは契約してはいけない
光コラボは契約してはいけない
Takuya Matsunaga25 views
今、改めて考えるPostgreSQLプラットフォーム - マルチクラウドとポータビリティ -(PostgreSQL Conference Japan 20... by NTT DATA Technology & Innovation
今、改めて考えるPostgreSQLプラットフォーム - マルチクラウドとポータビリティ -(PostgreSQL Conference Japan 20...今、改めて考えるPostgreSQLプラットフォーム - マルチクラウドとポータビリティ -(PostgreSQL Conference Japan 20...
今、改めて考えるPostgreSQLプラットフォーム - マルチクラウドとポータビリティ -(PostgreSQL Conference Japan 20...
PCCC23:富士通株式会社 テーマ1「次世代高性能・省電力プロセッサ『FUJITSU-MONAKA』」 by PC Cluster Consortium
PCCC23:富士通株式会社 テーマ1「次世代高性能・省電力プロセッサ『FUJITSU-MONAKA』」PCCC23:富士通株式会社 テーマ1「次世代高性能・省電力プロセッサ『FUJITSU-MONAKA』」
PCCC23:富士通株式会社 テーマ1「次世代高性能・省電力プロセッサ『FUJITSU-MONAKA』」
Windows 11 information that can be used at the development site by Atomu Hidaka
Windows 11 information that can be used at the development siteWindows 11 information that can be used at the development site
Windows 11 information that can be used at the development site
Atomu Hidaka90 views
PCCC23:東京大学情報基盤センター 「Society5.0の実現を目指す『計算・データ・学習』の融合による革新的スーパーコンピューティング」 by PC Cluster Consortium
PCCC23:東京大学情報基盤センター 「Society5.0の実現を目指す『計算・データ・学習』の融合による革新的スーパーコンピューティング」PCCC23:東京大学情報基盤センター 「Society5.0の実現を目指す『計算・データ・学習』の融合による革新的スーパーコンピューティング」
PCCC23:東京大学情報基盤センター 「Society5.0の実現を目指す『計算・データ・学習』の融合による革新的スーパーコンピューティング」
SNMPセキュリティ超入門 by mkoda
SNMPセキュリティ超入門SNMPセキュリティ超入門
SNMPセキュリティ超入門
mkoda453 views
The Things Stack説明資料 by The Things Industries by CRI Japan, Inc.
The Things Stack説明資料 by The Things IndustriesThe Things Stack説明資料 by The Things Industries
The Things Stack説明資料 by The Things Industries
CRI Japan, Inc.76 views
速習! PostgreSQL専用HAソフトウェア: Patroni(PostgreSQL Conference Japan 2023 発表資料) by NTT DATA Technology & Innovation
速習! PostgreSQL専用HAソフトウェア: Patroni(PostgreSQL Conference Japan 2023 発表資料)速習! PostgreSQL専用HAソフトウェア: Patroni(PostgreSQL Conference Japan 2023 発表資料)
速習! PostgreSQL専用HAソフトウェア: Patroni(PostgreSQL Conference Japan 2023 発表資料)
SSH応用編_20231129.pdf by icebreaker4
SSH応用編_20231129.pdfSSH応用編_20231129.pdf
SSH応用編_20231129.pdf
icebreaker4380 views

LLTLIVE in Shibuya 2013.12.13