SlideShare a Scribd company logo
1 of 41
Download to read offline
クロスプラットフォームはまだ早い!
既存のアプリをクロスプラット
フォームっぽくする方法
自己紹介
●
○
●
●
話すこと
● モバイルアーキテクチャ決定のプロセス
● と の違い
● ドキュメント化
クロスプラットフォームにしたい
クロスプラットフォームフレームワークに憧れる
● 現状、モバイル向けアプリで と に対応しないはありえない
● 両 でほぼ同じロジックを別々に開発するのは非効率
● アプリだけでは実装できないことも多々ある
○ 弊社の例だと、歩数計等のセンサー周りなど
クロスプラットフォームを導入するメリット
● 実装 実行サイクルが圧倒的に早い
○ や での話
○ 動作確認に 分以上も消費してしまう開発体験は卒業したい
● ビジネスロジックを共通化できる
● 部分も共通化できる
○ ただし、失敗しているアプリも多いのでここは様子見
クロスプラットフォームを導入できる状況
にあるか?
!
現実は厳しい
クロスプラットフォーム導入できる状況にあるか?
● 新規で機能が小さければ十分あり
● 既存のアプリを移行できるか?
○ 移行にかかる調査・実際に移行する際の見積もり
○ 巨大に膨れ上がったアプリ
■ それに伴う負債
○ 移行する工数に見合うメリットを得られるのか?
容赦ない現実が
襲いかかってくる
何を解決するべきなのか?
そもそも何を解決したいのか?
● バグを抑えたい
● 品質を上げたい
● 開発効率を上げたい
現状を整理する
● 各 で実装が違う
● 各 で使っている アーキテクチャが違う
● 各 で同じ機能なのに使っているデザインパターンが違う
● バグの温床
● ごとに設計して、無駄な工数がかかる
設計を揃える
とか
(とか)
ってなんだよ!
現状を把握する
●
○
●
○ 画面単位で使われている アーキテクチャが違った
○ 主に が使われていた
○ 秩序はなかった
あるべきアーキテクチャを考える
● と チームで認識を揃える必要がある
● プロジェクトはかなり巨大
○ ビジネスロジック部分もアーキテクチャを入れる必要がある
アーキテクチャを決定する
● を採用
●
○ 既に 側が を採用していた
○ も の登場があって導入しやすい状況にあった
●
○ プロジェクトが巨大だった
○ ビジネスロジック部分もちゃんとレイヤ化しないと辛い
ライブラリを決定する
● 、 を採用した
● は?
○
■ 検討当時はまだ実験段階
○
■ 現在もまだない
ドキュメント化
● 各チーム全体で認識を揃えるためにも必ずやるべきこと
○ ドキュメントツール を活用して、参照しやすいようにする
● 特に の認識や知識がまだ足りなかった
○ 用語の認識にズレがあると議論のときに不便
● サンプルコードがあると理解が早くなる
○ と の両方のサンプルを用意
○ サンプルコードベースで実装のレビューが可能
ドキュメント化の例
ドキュメント化の例
実装を揃える
用語や言語の違い
● と
○ ほぼ同じ役割なのだが、議論のときに混乱の元となる
● と の扱い
○ が便利過ぎて
● お互いの言語の違いをわかっていると議論がスムーズに進行する
例: 実装の違い
あれ?
に 制御って
無いの??
エンジニア
例: 実装の違い
そんなものはない
エンジニア
お互いの実装背景
とか言語背景を知る
違いや対応表もドキュメント化する
実際運用してみて
実際運用してみて
● 設計で迷うとかの時間がかなり減った
○ これはドキュメント化の功績がかなり強い
● 両 エンジニアがお互いにレビューできる環境になった
○ デザインパターンを使用するかどうかでしっかり議論ができた
まとめ
まとめ
● 設計・認識を揃えるだけで、開発効率や品質は向上する
● 両 のエンジニアが互いに知見を交換できる環境が作れる
● ドキュメント化は正義
おまけ
これでいいのでは???
うんとはいえ、色々事情がある
将来的な話
●
○ ビジネスロジック部分は で実装して、 部分は各 で実装
○ エンジニア側で調べた結果、 対応が現状イマイチなので見送ってる
○ 将来的に使う可能性は高い
●
○ 既に一部で導入している。こちらにある程度のロジックを寄せることも可能
○ 詳しくは の さんの発表を参照のこと
氏による技術よりな解説もあります

More Related Content

What's hot

Msを16倍出し抜くwpf開発2回目
Msを16倍出し抜くwpf開発2回目Msを16倍出し抜くwpf開発2回目
Msを16倍出し抜くwpf開発2回目cct-inc
 
無料環境でWindows Mobileアプリ開発
無料環境でWindows Mobileアプリ開発無料環境でWindows Mobileアプリ開発
無料環境でWindows Mobileアプリ開発7shi
 
WinFormsからWPFへ
WinFormsからWPFへWinFormsからWPFへ
WinFormsからWPFへYamamoto Reki
 
デザイナーでも構築できる多言語/マルチデバイス対応サイト
デザイナーでも構築できる多言語/マルチデバイス対応サイトデザイナーでも構築できる多言語/マルチデバイス対応サイト
デザイナーでも構築できる多言語/マルチデバイス対応サイトAtushi Sugiyama
 
いまさら学ぶMVVMパターン
いまさら学ぶMVVMパターンいまさら学ぶMVVMパターン
いまさら学ぶMVVMパターンYuta Matsumura
 
Cdci for asaserviceera
Cdci for asaserviceeraCdci for asaserviceera
Cdci for asaserviceeraTakao Tetsuro
 
Prototyping with Sketch
Prototyping with SketchPrototyping with Sketch
Prototyping with Sketchmasaaki komori
 

What's hot (7)

Msを16倍出し抜くwpf開発2回目
Msを16倍出し抜くwpf開発2回目Msを16倍出し抜くwpf開発2回目
Msを16倍出し抜くwpf開発2回目
 
無料環境でWindows Mobileアプリ開発
無料環境でWindows Mobileアプリ開発無料環境でWindows Mobileアプリ開発
無料環境でWindows Mobileアプリ開発
 
WinFormsからWPFへ
WinFormsからWPFへWinFormsからWPFへ
WinFormsからWPFへ
 
デザイナーでも構築できる多言語/マルチデバイス対応サイト
デザイナーでも構築できる多言語/マルチデバイス対応サイトデザイナーでも構築できる多言語/マルチデバイス対応サイト
デザイナーでも構築できる多言語/マルチデバイス対応サイト
 
いまさら学ぶMVVMパターン
いまさら学ぶMVVMパターンいまさら学ぶMVVMパターン
いまさら学ぶMVVMパターン
 
Cdci for asaserviceera
Cdci for asaserviceeraCdci for asaserviceera
Cdci for asaserviceera
 
Prototyping with Sketch
Prototyping with SketchPrototyping with Sketch
Prototyping with Sketch
 

Similar to クロスプラットフォームはまだ早い!既存のアプリをクロスプラットフォームっぽくする方法

スマートフォン開発の事例 Html5開発の導入ポイント
スマートフォン開発の事例 Html5開発の導入ポイントスマートフォン開発の事例 Html5開発の導入ポイント
スマートフォン開発の事例 Html5開発の導入ポイントMasakazu Muraoka
 
なぜ Enterprise は Sencha を選ぶのか?
なぜ Enterprise は Sencha を選ぶのか?なぜ Enterprise は Sencha を選ぶのか?
なぜ Enterprise は Sencha を選ぶのか?久司 中村
 
これからのOpenShiftの話をしよう
これからのOpenShiftの話をしようこれからのOpenShiftの話をしよう
これからのOpenShiftの話をしようKazuto Kusama
 
HTML5 ~よくわからないけど言葉だけはよく聞きます~
HTML5 ~よくわからないけど言葉だけはよく聞きます~HTML5 ~よくわからないけど言葉だけはよく聞きます~
HTML5 ~よくわからないけど言葉だけはよく聞きます~Yusuke Hirano
 
HTML5 ~よくわからないけど言葉だけはよく聞きます~
HTML5 ~よくわからないけど言葉だけはよく聞きます~HTML5 ~よくわからないけど言葉だけはよく聞きます~
HTML5 ~よくわからないけど言葉だけはよく聞きます~Yusuke Hirano
 
サムライクラウド概要
サムライクラウド概要サムライクラウド概要
サムライクラウド概要ncwg
 
ネットワーク分散型フレームワークConView
ネットワーク分散型フレームワークConViewネットワーク分散型フレームワークConView
ネットワーク分散型フレームワークConViewRakuten Group, Inc.
 
MVCフレームワークとの付き合い方
MVCフレームワークとの付き合い方MVCフレームワークとの付き合い方
MVCフレームワークとの付き合い方Kazuki Shibata
 
協働ロボットCOROの開発における形式的仕様記述KMLの開発と適用
協働ロボットCOROの開発における形式的仕様記述KMLの開発と適用協働ロボットCOROの開発における形式的仕様記述KMLの開発と適用
協働ロボットCOROの開発における形式的仕様記述KMLの開発と適用Life Robotics
 
Applications made ​​with twelve factor-app
Applications made ​​with twelve factor-appApplications made ​​with twelve factor-app
Applications made ​​with twelve factor-appKodai Sakabe
 
Intalio japan special cloud workshop
Intalio japan special cloud workshopIntalio japan special cloud workshop
Intalio japan special cloud workshopDaisuke Sugai
 
クラウドが実現するソフト開発・運用の変革と自動化
クラウドが実現するソフト開発・運用の変革と自動化クラウドが実現するソフト開発・運用の変革と自動化
クラウドが実現するソフト開発・運用の変革と自動化Etsuji Nakai
 
Azureを活用したHoloLensアプリ開発
Azureを活用したHoloLensアプリ開発Azureを活用したHoloLensアプリ開発
Azureを活用したHoloLensアプリ開発Satoshi Fujimoto
 
Cakecon xoops cubeなのにcake-phpを使う
Cakecon   xoops cubeなのにcake-phpを使うCakecon   xoops cubeなのにcake-phpを使う
Cakecon xoops cubeなのにcake-phpを使うha1t
 
HTML5時代のwebクリエイターに必要なこと
HTML5時代のwebクリエイターに必要なことHTML5時代のwebクリエイターに必要なこと
HTML5時代のwebクリエイターに必要なことMasakazu Muraoka
 
クロスプラットフォーム開発入門
クロスプラットフォーム開発入門クロスプラットフォーム開発入門
クロスプラットフォーム開発入門minazou67
 
プロジェクトを成功に導くための秘訣
プロジェクトを成功に導くための秘訣プロジェクトを成功に導くための秘訣
プロジェクトを成功に導くための秘訣loftwork
 
20090924 YAMAHA Webforum Sort
20090924 YAMAHA Webforum Sort20090924 YAMAHA Webforum Sort
20090924 YAMAHA Webforum Sortloftwork
 
月間 250 億 imps 配信するために fluct が考えていること!
月間 250 億 imps 配信するために fluct が考えていること!月間 250 億 imps 配信するために fluct が考えていること!
月間 250 億 imps 配信するために fluct が考えていること!MasamichiIdeue
 
スマートフォンアプリケーション開発の最新動向
スマートフォンアプリケーション開発の最新動向スマートフォンアプリケーション開発の最新動向
スマートフォンアプリケーション開発の最新動向Tsutomu Ogasawara
 

Similar to クロスプラットフォームはまだ早い!既存のアプリをクロスプラットフォームっぽくする方法 (20)

スマートフォン開発の事例 Html5開発の導入ポイント
スマートフォン開発の事例 Html5開発の導入ポイントスマートフォン開発の事例 Html5開発の導入ポイント
スマートフォン開発の事例 Html5開発の導入ポイント
 
なぜ Enterprise は Sencha を選ぶのか?
なぜ Enterprise は Sencha を選ぶのか?なぜ Enterprise は Sencha を選ぶのか?
なぜ Enterprise は Sencha を選ぶのか?
 
これからのOpenShiftの話をしよう
これからのOpenShiftの話をしようこれからのOpenShiftの話をしよう
これからのOpenShiftの話をしよう
 
HTML5 ~よくわからないけど言葉だけはよく聞きます~
HTML5 ~よくわからないけど言葉だけはよく聞きます~HTML5 ~よくわからないけど言葉だけはよく聞きます~
HTML5 ~よくわからないけど言葉だけはよく聞きます~
 
HTML5 ~よくわからないけど言葉だけはよく聞きます~
HTML5 ~よくわからないけど言葉だけはよく聞きます~HTML5 ~よくわからないけど言葉だけはよく聞きます~
HTML5 ~よくわからないけど言葉だけはよく聞きます~
 
サムライクラウド概要
サムライクラウド概要サムライクラウド概要
サムライクラウド概要
 
ネットワーク分散型フレームワークConView
ネットワーク分散型フレームワークConViewネットワーク分散型フレームワークConView
ネットワーク分散型フレームワークConView
 
MVCフレームワークとの付き合い方
MVCフレームワークとの付き合い方MVCフレームワークとの付き合い方
MVCフレームワークとの付き合い方
 
協働ロボットCOROの開発における形式的仕様記述KMLの開発と適用
協働ロボットCOROの開発における形式的仕様記述KMLの開発と適用協働ロボットCOROの開発における形式的仕様記述KMLの開発と適用
協働ロボットCOROの開発における形式的仕様記述KMLの開発と適用
 
Applications made ​​with twelve factor-app
Applications made ​​with twelve factor-appApplications made ​​with twelve factor-app
Applications made ​​with twelve factor-app
 
Intalio japan special cloud workshop
Intalio japan special cloud workshopIntalio japan special cloud workshop
Intalio japan special cloud workshop
 
クラウドが実現するソフト開発・運用の変革と自動化
クラウドが実現するソフト開発・運用の変革と自動化クラウドが実現するソフト開発・運用の変革と自動化
クラウドが実現するソフト開発・運用の変革と自動化
 
Azureを活用したHoloLensアプリ開発
Azureを活用したHoloLensアプリ開発Azureを活用したHoloLensアプリ開発
Azureを活用したHoloLensアプリ開発
 
Cakecon xoops cubeなのにcake-phpを使う
Cakecon   xoops cubeなのにcake-phpを使うCakecon   xoops cubeなのにcake-phpを使う
Cakecon xoops cubeなのにcake-phpを使う
 
HTML5時代のwebクリエイターに必要なこと
HTML5時代のwebクリエイターに必要なことHTML5時代のwebクリエイターに必要なこと
HTML5時代のwebクリエイターに必要なこと
 
クロスプラットフォーム開発入門
クロスプラットフォーム開発入門クロスプラットフォーム開発入門
クロスプラットフォーム開発入門
 
プロジェクトを成功に導くための秘訣
プロジェクトを成功に導くための秘訣プロジェクトを成功に導くための秘訣
プロジェクトを成功に導くための秘訣
 
20090924 YAMAHA Webforum Sort
20090924 YAMAHA Webforum Sort20090924 YAMAHA Webforum Sort
20090924 YAMAHA Webforum Sort
 
月間 250 億 imps 配信するために fluct が考えていること!
月間 250 億 imps 配信するために fluct が考えていること!月間 250 億 imps 配信するために fluct が考えていること!
月間 250 億 imps 配信するために fluct が考えていること!
 
スマートフォンアプリケーション開発の最新動向
スマートフォンアプリケーション開発の最新動向スマートフォンアプリケーション開発の最新動向
スマートフォンアプリケーション開発の最新動向
 

クロスプラットフォームはまだ早い!既存のアプリをクロスプラットフォームっぽくする方法