D-3 今だからこそ考える エンタープライズ モバイル アプリケーション開発 2015/07/15 株式会社エクサ テクノロジーイノベーション部開発品質技術室 原嶋徹 2015 EXA CORPORATION
Web 技術を使ったモバイル アプリで 業務改善してみませんか? Apache Cordova のご紹介 1
エンタープライズの定義 エンタープライズ 企業向けアプリケーション例 : 営業管理 生産管理 コンシューマ 個人向けアプリケーション例 :EC サイト ゲーム 組み込み ハードウェア制御アプリケーション例 : エレベータ制御 2
今日の内容 1. 業務環境の変化 2. モバイル動向 3. ハイブリッド モバイル開発 4. Apache Cordova 検証 5. まとめ 3
1. 業務環境の変化 2. モバイル動向 3. ハイブリッド モバイル開発 4. Apache Cordova 検証 5. まとめ 4
業務環境の変化 業務プロセスの標準化 から 標準化 + 個別化 へ データ プロセス統制 日常生活でのモバイル利用 ワーク ライフ バランス 5
業務環境の変化 モバイルも業務のプラット フォームとして活用したい! 6
1. 業務環境の変化 2. モバイル動向 3. ハイブリッド モバイル開発 4. Apache Cordova 検証 5. まとめ 7
モバイル動向 Android と ios に 2 分割 2015/3 月のシェア ( 日本 ) 0.4% 2.1% 45.1% 52.3% Android ios Windows other 8 Kantar Worldpanel 社調査
モバイル アプリの課題 ベンダーに依存 & 増加中 iphone ios8 Objective-C Swift 2.0 Xcode Windows Phone Windows Phone 8.1 C#/VB.net.Net Framework 4.5 VisualStudio 2013 Android Android 5.1 lollipop Java SE 8.0 Android Application Framework Android Studio 9
モバイル向け Web 技術動向 レスポンシブ Web デザイン シングルページアプリケーション HTML5 10
レスポンシブ Web デザイン コンバートサービスから CSS フレームワークを使ってデバイスごとにデザイン指定 モバイルファースト モバイル端末での利用を第一に考えてデザイン 11
Bootstrap 全ての端末 ブラウザで同じ表示にするための CSS フレームワーク 4 タイプの画面サイズを定義し 個別にレイアウト構造が 指定できる 12
シングルページアプリケーション プラグインによる拡張ベースからブラウザ標準機能でのリッチなインタフェース実現 DOM 操作による画面切り替え より流動的な UX を提供 13
AngularJS 動的に画面を構成できるJavaScriptフレームワーク ルーティング テンプレートで実現 CRUD アプリケーションに親和性が高い MVC パターンで今までのアプリケーションに構造が近い Dependency-Injection の実装 独立性を保ち 多人数で開発する時に影響範囲を限定できる 14
HTML5 グラフィックスの強化 ローカルのファイル操作 非同期通信の強化 カメラや加速度センサーなどのローカルデバイスへ接続 15
モバイル向け Web の課題 ローカルデバイスはまだ使えない カメラ対応状況 (2014/12 版 ) Mobile HTML5 調査 Push 通知はブラウザが立ち上がっていることが前提 16
モバイルを最大限に活用するために ベンダーは固定されたくない モバイルアプリケーション ローカルデバイスの機能は使いたい Web アプリケーション Web+ モバイル 17
1. 業務環境の変化 2. モバイル動向 3. ハイブリッド モバイル開発 4. Apache Cordova 検証 5. まとめ 18
ハイブリッドとは アプリケーションはWeb 技術で開発 ローカルデバイス操作はモバイル技術で開発 フレームワークで差分を吸収 ハイブリッド用フレームワーク 19
Apache Cordova1- 概要 - PhoneGap を Adobe 社が買収し Apache へ寄贈したハイブリッド モバイル アプリケーション開発フレームワーク IBM MobileFirst, Oracle Mobile Application Framework IonicFramework 等で採用 20
Apache Cordova2- 仕組み - Web 技術を使って画面作成 Node.jsを使って環境毎にビルド ライブラリからローカルデバイス操作 21
1. 業務環境の変化 2. モバイル動向 3. ハイブリッド モバイル開発 4. Apache Cordova 検証 5. まとめ 22
Apache Cordova- 検証ポイント - 1 アプリケーションの開発生産性 2 ローカルデバイス制御の容易性 3 Web サーバとの通信方針の確立 テキストデータ バイナリデータ 23
Apache Cordova- 検証ソフトウェア構成 - 今まで作成してきた Web アプリケーションと同じ構成で実現 24
Apache Cordova- 検証コンポーネント構成 - 一般的なシングルページアプリケーションのコンポーネント構成で実装 RPC Template Factory View Controller Model JSON Action Service Dao Utils DTO Container Device 25
26 検証実施状況
検証結果 1: アプリケーションの開発生産性 Web 技術のみでアプリケーション作成可能 ブラウザでも動作確認でき テストしやすく生産性が良い Web 画面用フレームワークが必須 画面を統一するために CSS フレームワークが必須 画面制御のために JavaScript フレームワークが必須 27
検証結果 2: ローカルデバイス制御の容易性 Apache Cordova で公開されているプラグインを使い ローカルデバイスへアクセス可能 ローカルデバイス初期化処理に時間がかかるため シングルページアプリケーションパターンが必須 標準 API の複雑度が高いため Wrap したフレームワークを使うと良い 28
検証結果 3:Web サーバとの通信方針の確立 テキストデータは Ajax で通信 バイナリデータは Apache Cordova のプラグインを使い 1 ファイルごと通信 モバイルでトランザクション制御の仕組みが必要になるため フレームワークが必須 複数ファイル操作を行いたい場合には ファイル ごとに送信し 1 リクエストになる様に制御する 29
検証結果まとめ Apache Cordova は有用 Apache Cordova 単体で使うのではなく Wrapper + Web 画面フレームワークを併用すべし Apache Cordova + ngcordova + AngularJS + Bootstrap 30
1. 業務環境の変化 2. モバイル動向 3. ハイブリッド モバイル開発 4. Apache Cordova 検証 5. まとめ 31
まとめ 業務環境の変化 業務効率化のために 個人のモバイルが重要 最近のモバイル動向 クロスプラットフォーム+ローカルデバイス利用のために ハイブリッド ハイブリッド モバイル開発 Apache Cordova Apache Cordova 検証 + ngcordova + AngularJS + Bootstrap 32
ハイブリッドの適用範囲 エンタープライズ コンシューマ ローカルデバイスを使う ハイブリッド ネイティブ ローカルデバイスを使わない Web 33
今後 Mobile Enterprise Application Platform IBM MobileFirst Platform + クラウド Bluemix 34
おわりに 一緒に Web 技術を使ったモバイル アプリで業務改善してみませんか? 35 webpot@exa-corp.co.jp
36 QA
37 END
本資料で使用されている商標 登録商標 Apache Cordova, Struts2 は Apache Software Foundation の商標または登録商標です Node.js は Joyent, Inc の商標または登録商標です ngcordova, IonicFramework は Drifty 社の商標また登録商標です Bootstrap は Twitter 社の商標または登録商標です AngularJS, Android, Android lollipop, Android Application Framework, Android Studio は Google, Inc. の商標または登録商標です iphone, ios, Objective-C, Swift, Xcode は Apple Computer, Inc. の商標または登録商標です Windows, Windows Phone,.Net Framework, VisualStudio2013 は Microsoft 社の商標または登録商標です IBM MobileFirst Platform, IBM Bluemix は International Business Machines Corporation の商標または登録商標です Oracle Mobile Application Framework, Java SE, JavaWebStart は Oracle Corporation 及びその子会社 関連会社の商標または登録商標です Curl は SCSK 社の商標または登録商標です SpringFramework は SpringSource の商標または登録商標です mybatis は The Mybatis team の商標または登録商標です 38