Tour of Sencha - キヤノンITソリューションズ

Tour of Sencha
HTML5 App Development
Frameworks and Tools
キヤノンITソリューションズ株式会社
CNB推進部
川野 忍
© Canon IT Solutions Inc. 2014
エンタープライズ 領域の
システム開発に 変化 が生じている
© Canon IT Solutions Inc. 2014
クラウド・コンピューティング
スマートデバイスの業務利用
BYOD (Bring Your Own Device)
高いユーザビリティの要求
Windows XP のサポート終了
© Canon IT Solutions Inc. 2014
エンタープライズシステム の HTML5 化
HTML5 とは?
 HTML の 5回目の改訂版
 ページ から アプリケーション としての Web に
 実用段階へ(今年、正式勧告予定)
© Canon IT Solutions Inc. 2014
多様化 するデバイス、プラットフォーム
 デバイス
デスクトップPC、スマートフォン、
タブレット、スマートTV・家電、
Google Glass、etc ..
 プラットフォーム
Windows、Mac OS X、Linux、
iOS、Android、BlackBerry、
Tizen、FireFox OS、etc ..
© Canon IT Solutions Inc. 2014
それに伴う 対応コストの増大
技術・ツールの習得
配布の管理
体制確立
要員の育成
バッドノウハウ
テスト
アプリ承認
メンテナンス
© Canon IT Solutions Inc. 2014
クロスプラットフォーム を実現する HTML5
 開発者に優しい
- ネイティブアプリよりも開発が簡単
- 技術者の確保が容易
 利用者に優しい
- インストール不要
- アップデート不要
 自由でオープンな技術
- 特定のベンダーに依存しない
- 大規模で活発な開発者コミュニティ
- 日進月歩で改善されるウェブブラウザ
© Canon IT Solutions Inc. 2014
企業向けモバイルアプリの大半は HTML5 に
Gartner Says by 2016, More
Than 50 Percent of Mobile
Apps Deployed Will be Hybrid
http://www.gartner.com/newsro
om/id/2324917
© Canon IT Solutions Inc. 2014
開発者の願い
=> よいアプリケーション を作りたい!!
 使い勝手のよい ものを作りたい
 品質のよい ものを作りたい
 効率よく 作りたい
© Canon IT Solutions Inc. 2014
スクラッチ(ゼロからの開発)ではなく、
ライブラリ(外部のソースコード)を利用する
© Canon IT Solutions Inc. 2014
HTML5 アプリケーションを作るための
ライブラリは オープンソース のものがほとんど
© Canon IT Solutions Inc. 2014
オープンソースのライブラリ

ある目的に特化した単機能のソースコード

将来性

ドキュメント
© Canon IT Solutions Inc. 2014
オープンソースのライブラリ
ある目的に特化した単機能のソースコード
効果的に組み合わせるのは職人芸の世界
 将来性


ドキュメント
© Canon IT Solutions Inc. 2014
オープンソースのライブラリ
ある目的に特化した単機能のソースコード
効果的に組み合わせるのは職人芸の世界
 将来性
メンテナンスが放置されることもある
 ドキュメント

© Canon IT Solutions Inc. 2014
オープンソースのライブラリ
ある目的に特化した単機能のソースコード
効果的に組み合わせるのは職人芸の世界
 将来性
メンテナンスが放置されることもある
 ドキュメント
ソースコードが仕様、ということも

© Canon IT Solutions Inc. 2014
生存期間の短いアプリなら、それでもよかった
 期間限定サイト
 趣味のアプリ
etc..
© Canon IT Solutions Inc. 2014
エンタープライズでは、それでは困る!
© Canon IT Solutions Inc. 2014
エンタープライズシステム開発者の責任
業務を改善する責任
 トラブルを起こさない責任
 長期のメンテナンスをする責任
 しっかりと説明する責任
etc 責任、責任、責任…

© Canon IT Solutions Inc. 2014
そこに、Sencha 製品の 存在理由 があります!
© Canon IT Solutions Inc. 2014
フルスタック(全部込み)の開発ツール
 豊富な UI コンポーネント
 クラスシステム
 MVC アーキテクチャ
 データパッケージ
 ユーティリティ関数
 依存性管理
 チャート
 テーマシステム
 ビルドツール
 IDE(統合開発環境)
etc…
© Canon IT Solutions Inc. 2014
開発ベンダーによる強力な サポート
 API ドキュメント
 チュートリアル
 ビデオ
 サンプルプログラム
 フォーラム
 トレーニング
 コンサルティング
etc ..
© Canon IT Solutions Inc. 2014
メンテナンス や カスタマイズ しやすい設計
 クラスベースのオブジェクト指向プログラミング
 コンポーネントの継承
 プラグイン機構
 組み込み API の拡張
 バリデーションの追加
 独自テーマの作成
etc ..
© Canon IT Solutions Inc. 2014
長年、エンタープライズ領域で利用されてきた 実績!
© Canon IT Solutions Inc. 2014
これなら安心して、業務で利用できる!
© Canon IT Solutions Inc. 2014
お客様も Happy :)
とっても使いやすい
HTML5 アプリを
あっという間に作って
くれて、ありがとう!
快適に操作できるから、
仕事がとっても捗るわ!
バグ??そんなの、
聞いたことないわよ。
© Canon IT Solutions Inc. 2014
※ Sencha は ライブラリ から
フレームワーク へと成長
 コンポーネントはコンフィグ(設定)で振る舞いを切り替える
 パラメータを指定するだけで機能ができあがる
 ルールに則ってプログラムを組み立てる
 大人数で開発する場合にメンテナンスしやすい
 慣れる程、開発効率があがる
© Canon IT Solutions Inc. 2014
Sencha フレームワークを利用することで
 様々なデバイス・プラットフォーム で動作する
 使い勝手の良い HTML5 アプリケーションを
 低コスト で開発できます!
© Canon IT Solutions Inc. 2014
Agenda
 Sencha 製品概要
 利用事例
 開発準備
 デモンストレーション
© Canon IT Solutions Inc. 2014
Sencha 製品概要
“We're choosing Sencha as our name because it
evokes next-generation software development
and it's easy to remember, spell and pronounce.
Sencha -- the name of a popular Japanese green
tea -- is in the tradition of Java, and represents a
new level of development.”
Ext JS + jQTouch + Raphaël = Sencha
http://www.sencha.com/blog/ext-js-jqtouch-raphael-sencha/
© Canon IT Solutions Inc. 2014
Sencha, Inc.
 米シリコンバレーに本社を構える開発ツールのメーカー
 設立は 2007 年。世界で 200 万人以上の利用者がいる
 従業員は約 150 名
© Canon IT Solutions Inc. 2014
Sencha, Inc.
 2010年 Sequoia Capital などから、14M$を調達
 2011年 Jafco Ventures などから、15M$を調達
© Canon IT Solutions Inc. 2014
yui-ext から Ext JS へ
 Yahoo! が公開している Yahoo! User Interface Library (YUI) の
拡張プログラムとして、Jack Slocum 氏が開発したものが始まり。
当時の名称は、yui-ext(ワイユーアイ イーエックスティ)
 YUI への依存をなくし、独立して動作するように。
ライブラリの名称を Ext JS(イーエックスティ ジェイエス)に変更
 2007 年、Ext JS のライセンス販売を行う Ext .LLC を創業
 商用版とオープンソース版の デュアルライセンス に変更
© Canon IT Solutions Inc. 2014
Ext JS から Sencha へ
 2010 年、jQTouch の作者と Raphaël の作者が合流。
社名を Sencha, Inc. に。ベンチャーキャピタルから資金調達。
モバイルアプリ開発フレームワーク Sencha Touch をリリース
 2012 年、Sencha Architect をリリース
 2013 年、キヤノン IT ソリューションズ株式会社と
プレミアムディストリビュータ契約 を締結
© Canon IT Solutions Inc. 2014
フォーチュン 100 社のうちの 50% 以上が利用
© Canon IT Solutions Inc. 2014
海外では高い評価。日本での普及はこれから
 ガートナー社
「Visionary 賞」を2年連続(2011年、2012年)で受賞
 インフォテック リサーチグループ
IBM や SAP と並び技術分野の市場で「Champion」と評価(2013年)
© Canon IT Solutions Inc. 2014
P. 42
Sencha 製品ラインナップ
PC用
スマートデバイス用
Sencha Ext JS
Sencha Touch
Sencha Architect
開発ツール
アニメーション作成ツール
Sencha Animator
© Canon IT Solutions Inc. 2014
P. 43
Sencha 製品ラインナップ
PC用
Sencha Ext JS
Sencha Touch
Sencha Architect
Sencha Animator
© Canon IT Solutions Inc. 2014
Sencha Ext JS
 デスクトップPC向け
アプリケーション開発
フレームワーク
 グリッドやチャートなど
業務アプリケーションの
開発に適したコンポーネント
 幅広いブラウザ対応
IE6 から Chrome の最新版まで
© Canon IT Solutions Inc. 2014
P. 45
Sencha 製品ラインナップ
スマートデバイス用
Sencha Ext JS
Sencha Touch
Sencha Architect
Sencha Animator
© Canon IT Solutions Inc. 2014
Sencha Touch
 スマートデバイス向けHTML5
アプリケーション開発
フレームワーク
 ネイティブパッケージングにより
ネイティブアプリとしても配布可能
© Canon IT Solutions Inc. 2014
P. 47
Sencha 製品ラインナップ
PC用
Sencha GXT
Sencha Touch
Sencha Architect
Sencha Animator
© Canon IT Solutions Inc. 2014
Sencha GXT
 Java で Web フロントエンドを
開発するためのフレームワーク
 Google が開発・公開している
Google Web Toolkit がベース
 Java の開発ツールや経験が
利用できる
(JavaScript を書かなくてもよい)
© Canon IT Solutions Inc. 2014
P. 49
Sencha 製品ラインナップ
Sencha Ext JS
Sencha Touch
Sencha Architect
開発ツール
Sencha Animator
© Canon IT Solutions Inc. 2014
Sencha Architect
 Sencha フレームワークを
利用したビジュアル
アプリケーションビルダー
 コンポーネントを
ドラッグ&ドロップして、
プレビューで確認
 アプリケーションを
効率的に開発
© Canon IT Solutions Inc. 2014
P. 51
Sencha 製品ラインナップ
Sencha Ext JS
Sencha Touch
Sencha Architect
アニメーション作成ツール
Sencha Animator
© Canon IT Solutions Inc. 2014
Sencha Animator
 CSS3のアニメーションを
開発するためのツール
 Adobe の Flash を使わずに
Web のアニメーションを
作成できる
© Canon IT Solutions Inc. 2014
Sencha シリーズで一貫した開発を
 デスクトップとスマートデバイスで多くのコードを共通化
 異なるのは、MVC の View の部分
Sencha Ext JS
Sencha Touch
MVC は、プログラムを
モデル、ビュー、コントローラの
役割毎に分割する設計パターン
Sencha Data Package
Server
© Canon IT Solutions Inc. 2014
ライセンス
Sench
a
Suppor
t
Packag
e
Sencha
Architec
t
Sencha
Touch
Sencha
ExtJS
Sencha
Gxt
Sencha
Animato
r
Sench
a
Touch
Charts
Sench
a
Eclipse
Plugin
Sencha
Mobile
Packaging
Enterpris
e
Data
Connecto
rs
○
○
○
-
-
○
○
○
○
○
Sencha
Touch
Bundle
○
○
-
-
-
○
○
○
-
○
Sencha
ExtJS
-
-
○
-
-
-
-
-
-
-
-
-
-
○
-
-
-
-
-
-
-
-
-
-
○
-
-
-
-
-
Sencha
Complete
Sencha
GXT
Sencha
Animator
© Canon IT Solutions Inc. 2014
ライセンス(キヤノンITソリューションズ付加サービス)
Sencha Complete
Sencha Touch Bundle
Sencha ExtJS
日本語
ドキュメント
日本語
E-Mail
サポート
○
○
○
○
○
○
-
○
○
-
Sencha GXT
Sencha Animator
© Canon IT Solutions Inc. 2014
ライセンス価格
商品名
Pack
価格
1 Developer Pack
Sencha Conplete
5 Developer Pack
20 Developer Pack
1 Developer Pack
Sencha Touch
Bundle
Sencha ExtJS
5 Developer Pack
詳細はキヤノンITソリューションズに
20 Developer Pack
1 Developerお問い合わせください。
Pack
http://www.canon-its.co.jp/tools/sencha/s_price.html
5 Developer Pack
20 Developer Pack
1 Developer Pack
Sencha Animator
5 Developer Pack
20 Developer Pack
※ 開発者ライセンス
(開発者1:ライセンス1)
© Canon IT Solutions Inc. 2014
利用事例
モンテネグロの Hipotekarna 銀行
© Canon IT Solutions Inc. 2014
モンテネグロの Hipotekarna 銀行
 ネットバンキングのアプリ
 ネイティブアプリのように操作 できるが
実態は HTML5 アプリ。インストール不要
 ひとつのプログラムで様々なデバイスで動く
© Canon IT Solutions Inc. 2014
米ユナイテッドヘリテージ生命保険
© Canon IT Solutions Inc. 2014
米ユナイテッドヘリテージ生命保険
 外交員が基幹システムを利用するためのアプリ
 Sencha を利用することで 低コストで簡単に開発 できた
 ネイティブアプリにパッケージング して配布
 ひとつのプログラムで iPhone、Andriod に対応
© Canon IT Solutions Inc. 2014
米スマイルブランズ
© Canon IT Solutions Inc. 2014
米スマイルブランズ
 歯科医向け業務管理プラットフォーム
 Ext JS を利用することで 美しいインターフェイスを実現
 MVC アーキテクチャ により 効率的に
サーバーサイドプログラムとの連携部分を開発 できた
© Canon IT Solutions Inc. 2014
米 ADP の営業支援システム
© Canon IT Solutions Inc. 2014
イスラエルの Office 365 クライアント
© Canon IT Solutions Inc. 2014
ハードロックホテルの注文受付アプリ
© Canon IT Solutions Inc. 2014
北欧の写真加工 Web サービス
© Canon IT Solutions Inc. 2014
セールスフォース・ドットコム
© Canon IT Solutions Inc. 2014
開発準備
Sencha Ext JS
 Sencha 公式サイトから Ext JS SDK をダウンロード
http://www.sencha.com/products/extjs/download/
展開し、任意のフォルダに配置します
 Sencha 公式サイトから Sencha Cmd をダウンロード
http://www.sencha.com/products/sencha-cmd/download/
インストーラーを起動し、インストールします
© Canon IT Solutions Inc. 2014
Sencha Ext JS
 Sencha Cmd を使ってアプリケーションの雛形を生成します
$ sencha –s extjs generate app MyApp myapp
 Sencha Cmd を使って Web サーバーを起動します(※)
$ sencha fs web start
ブラウザから Web アプリケーションにアクセスします
(※)Sencha Cmd 以外の Web サーバー(Apache HTTP Server, IIS, etc)を
利用頂いても構いません。
© Canon IT Solutions Inc. 2014
Sencha Ext JS
 JavaScript でインターフェイスを組み立てます
HTML タグは記述しません
© Canon IT Solutions Inc. 2014
Sencha Ext JS
 クラスベース のオブジェクト指向プログラミングが可能です
クラスを定義し、そのクラスを
継承したクラスを定義し、利用
© Canon IT Solutions Inc. 2014
Sencha Ext JS
 MVC パターン に則って、プログラムを構築します
モデル
… アプリケーションのデータを管理
ビュー
… データの表示とユーザー操作の受付
コントローラ … モデルとビューを制御
© Canon IT Solutions Inc. 2014
Sencha ドキュメンテーション
Sencha フレームワークには 充実したドキュメント が用意されています
http://docs.sencha.com/
© Canon IT Solutions Inc. 2014
Sencha ドキュメンテーション
Sencha フレームワークには 充実したドキュメント が用意されています
http://docs.sencha.com/
キヤノンITソリューションズからライセンスを
ご購入頂いたお客様には
日本語版のドキュメントをご提供しています
http://www.canon-its.co.jp/tools/sencha/s_price.html#pr02
© Canon IT Solutions Inc. 2014
Sencha Touch
 Sencha 公式サイトから Sencha Touch SDK をダウンロード
http://www.sencha.com/products/touch/download/
展開し、任意のフォルダに配置します
 Sencha 公式サイトから Sencha Cmd をダウンロード
http://www.sencha.com/products/sencha-cmd/download/
インストーラーを起動し、インストールします
© Canon IT Solutions Inc. 2014
Sencha Touch
 Sencha Cmd を使ってアプリケーションの雛形を生成します
$ sencha –s touch generate app TouchApp touchapp
 Sencha Cmd を使って Web サーバーを起動します(※)
$ sencha fs web start
ブラウザから Web アプリケーションにアクセスします
(※)Sencha Cmd 以外の Web サーバー(Apache HTTP Server, IIS, etc)を
利用頂いても構いません。
© Canon IT Solutions Inc. 2014
Sencha Touch
テーマ を変更する
 scss ファイルの更新
 Sencha Cmd を実行
$ sencha compass compile resources/sass/
© Canon IT Solutions Inc. 2014
Sencha Touch
ネイティブアプリ(ハイブリットアプリ)にパッケージングする
(Sencha ネイティブパッケージャーを利用)
 設定ファイル(packager.json)の記述
 Sencha Cmd を実行
$ sencha app build native
© Canon IT Solutions Inc. 2014
Sencha Touch
ネイティブアプリ(ハイブリットアプリ)にパッケージングする
(Cordova / PhoneGap を利用)
 Sencha Cmd で Cordova の利用を有効化する
$ sencha cordova init [AppID]
 設定ファイル(cordova.local.properties )の記述
 Sencha Cmd を実行
$ sencha app build native
© Canon IT Solutions Inc. 2014
Sencha Touch
プロダクションビルド時には、モバイル環境で快適に表示できるよう
最適化が自動で行われます
Application Cache や
Local Storage を利用
© Canon IT Solutions Inc. 2014
Sencha GXT
 Sencha 公式サイトから Sencha GXT SDK をダウンロード
http://www.sencha.com/products/gxt/download/
展開し、任意のフォルダに配置します
 Eclipse(or Intellij IDEA)のインストール
Eclipse
https://www.eclipse.org/
IntelliJ IDEA
http://www.jetbrains.com/idea/
© Canon IT Solutions Inc. 2014
Sencha GXT
 GWT(Google Web Toolkit)プラグインのインストール
 Chrome GWT developer plugin のインストール
 GWT プロジェクトの作成
 gxt-3.x.x.jar を外部ライブラリとして追加
 GWT XML module の定義
© Canon IT Solutions Inc. 2014
Sencha GXT
© Canon IT Solutions Inc. 2014
Sencha Architect
 Sencha Architect をダウンロード
http://www.sencha.com/products/architect/download
インストーラーを起動し、インストールします
© Canon IT Solutions Inc. 2014
Sencha Architect
コンポーネントの
コンフィグを指定
ドラッグ&ドロップで
コンポーネントを配置
© Canon IT Solutions Inc. 2014
Sencha Architect
対応するソースコードが
生成されます
© Canon IT Solutions Inc. 2014
Sencha Animator
 Sencha Animator をダウンロード
https://www.sencha.com/products/animator/download/
インストーラーを起動し、インストールします
© Canon IT Solutions Inc. 2014
Sencha Animator
Flash の作成と似たフローで
CSS3 アニメーションを
作成できます
© Canon IT Solutions Inc. 2014
Sencha Animator
作成したアニメーションは
Web ページとして出力します
© Canon IT Solutions Inc. 2014
デモンストレーション
付録: 学習リソース
 Sencha Touch でつくる HTML5 モバイルアプリ(翔泳社)
http://books.shoeisha.co.jp/book/b157266.html
 Sencha Touch パーフェクトガイド(アスキーメディアワークス)
http://ascii.asciimw.jp/books/books/detail/978-4-04-886956-0.shtml
 Ext JS 実践開発ガイド(パレード)
http://www.amazon.co.jp/dp/4939061493
 Ext JS in Action(Manning)※洋書
http://www.manning.com/garcia3/
© Canon IT Solutions Inc. 2014
付録: Japanese Sencha Forum
昨年12月にリニューアルしました
https://www.sencha.com/forum/forumdispl
ay.php?35-Japanese-Sencha-Forum
© Canon IT Solutions Inc. 2014
Sencha フレームワークを、ぜひご利用下さい!
© Canon IT Solutions Inc. 2014
●
●
●
●
Senchaは、Sencha Inc.の登録商標です。
Microsoft、Windows、Internet Explorerは、米国Microsoft Corporationの米国、日本およびその他の国における登録商標または商標です。
Mac は、米国およびその他の国で登録されているApple Inc.の商標です。その他記載された社名、製品名等は、それぞれ各社の登録商標または商標です。
Photo Credit
http://www.flickr.com/photos/nirak/644335254, http://www.flickr.com/photos/smemon/7118761213,
http://www.flickr.com/photos/technamyte/11024299844, http://www.flickr.com/photos/cannedtuna/8573329797,
http://www.flickr.com/photos/kartooner/9520954, http://www.flickr.com/photos/create_joy/4291306755,
http://www.flickr.com/photos/msittig/7268114390/, http://www.flickr.com/photos/benmillett/306074038,
http://www.flickr.com/photos/jstar/409405305