phone gap by yeoman

58
佐川 夫美雄@albatrosary 株式会社ゼノフィ yoからはじまるPhoneGap物語

Upload: fumio-sagawa

Post on 15-Jan-2015

1.535 views

Category:

Technology


4 download

DESCRIPTION

 

TRANSCRIPT

Page 1: Phone gap by yeoman

佐川 夫美雄@albatrosary 株式会社ゼノフィ

yoからはじまるPhoneGap物語

Page 2: Phone gap by yeoman

佐川 夫美雄

HTML5Expert.jpコントリビュータ html5jエンタープライズ部 副部長 html5j Web Platform部 - メンバー knockoutjs Japan User Group Sencha UG CO-ORGANIZER AngularJS Japan User Group - メンバー

http://albatrosary.hateblo.jp/ http://html5experts.jp/albatrosary/

(Fumio SAGAWA)

Page 3: Phone gap by yeoman

Xenophy CO.,LTDWebアプリケーション開発をトータルサポート

開発者の生産力向上 複数のプラットフォーム開発環境の提供 高品質なユーザーエクスペリエンスの提供 モバイル、タブレット、デスクトップへの対応

Page 4: Phone gap by yeoman

Sencha Ext JSExt JS 3.0がリリースされました

Page 5: Phone gap by yeoman

Sencha Touch

Page 6: Phone gap by yeoman

Sencha ArchitectBuild for Mobile and Desktop

Build apps using Sencha Architect 3 and reach more people on more platforms leveraging HTML5. Sencha Architect 3 is the fastest way to build HTML5 apps for the web and mobile devices.

Page 7: Phone gap by yeoman

Sencha Space

Page 8: Phone gap by yeoman

本日のテーマ

http://phonegap.com/

Page 9: Phone gap by yeoman

HTML5のお話

Page 10: Phone gap by yeoman

HTML5が2014年に正式勧告

Page 11: Phone gap by yeoman

Webの歴史SGML(standard Generalized Markup Language) 1986年

HTML(HyperText Markup Language) 1989年

HTML 4.0(HyperText Markup Language) 1997年

XML(eXtensible Markup Language) 1998年

XHTML(eXtensible HyperText Markup Language) 2000年

HTML 5.0(HyperText Markup Language) 2012年

CSS 1 1996年

CSS 2 1998年

CSS 2.1 2004年

CSS 3 2011年

HTTP 1.1 1999年

HTTP 1.0 1996年

HTTP 0.9 1993年

SPDY 2011年

XHTML 2.0(eXtensible HyperText Markup Language) 2010年

HTTP 2(draft) 2012年

Page 12: Phone gap by yeoman

HTML5の方向性

Webのプラットフォーム化

Elements Offline Web Application

Application Cache Web Strage Indexed Database File API

Network WebSocket SPDY

マルチメディア対応 video audio canvas SVG WebGL

Page 13: Phone gap by yeoman

Webの標準化

Page 14: Phone gap by yeoman

難しい技術が扱いやすくなる

Page 15: Phone gap by yeoman

Over View

Page 16: Phone gap by yeoman

HTML5の問題

まだハードウェアすべてをコントロールできない

Page 17: Phone gap by yeoman

ネイティブ Webアプリ

OS固有の機能 ○ ○

オフラインでの動作 ○ ○

動作スピード ○ △

開発言語 ネイティブ HTML5+JavaScript+CSS

開発の容易さ △ ○

マルチプラットフォーム × ○

ハードウェア ○ △

Storeでの配布 ○ ×

Page 18: Phone gap by yeoman

いいとこ取りしたい

Page 19: Phone gap by yeoman

HTML5+JavaScript+CSSを使って 開発できるネイティブ

Titanium

Unity

PhoneGap

Apache Cordova

Page 20: Phone gap by yeoman

PhoneGapとCordova

Nitobi という会社が開発したクロスプラットフォームのスマートフォンアプリ開発・実行環境

Page 21: Phone gap by yeoman

Nitobiは2011年10月にAdobeに買収された !

PhoneGapはApache Software Foundationへ寄贈 Apache Cordovaへ名称変更

Page 22: Phone gap by yeoman

Apache Cordova

http://cordova.apache.org/

Page 23: Phone gap by yeoman

PhoneGap

http://phonegap.com/

Page 24: Phone gap by yeoman

PhoneGapの特徴

HTML5を使用したiPhone/Androiアプリ開発 ネイティブAPIのアクセス マルチプラットフォーム対応 既存のJavascriptフレームワークにも対応 様々なPhoneGapプラグイン

Page 25: Phone gap by yeoman

PhoneGapは

問題を解決してくれる

ハイブリット開発フレームワーク

Page 26: Phone gap by yeoman

PhoneGapの仕組み

Page 27: Phone gap by yeoman

開発するための技術

ハイブリット構造はHTML5とJavaScriptで開発 周りをネイティブコードで取り囲むような構成

Page 28: Phone gap by yeoman

iOS版はUIWebView

Android版はWebView

Page 29: Phone gap by yeoman

PhoneGap API Documentation

http://docs.phonegap.com/en/3.4.0/guide_support_index.md.html#Platform%20Support

Page 30: Phone gap by yeoman

http://yeoman.io/

Page 31: Phone gap by yeoman

いいところテンプレートがそろってる

Web開発に必要なツールがたくさんある

lint,hint,ビルド,テストが行える

html,css,js,画像をminifyしてくれる

まだまだ色々あります

Page 32: Phone gap by yeoman

エディターは何でも

Sublime Text

Vim

Emacs

Page 33: Phone gap by yeoman

YEOMANというのは

Web開発のscaffolding

scaffoldingとは、1(建築現場などの)足場/2[集合的に] 足場材料

Page 34: Phone gap by yeoman

使い始めるのは簡単!

Page 35: Phone gap by yeoman

これは必要必須事項です。これ入れないと何もできません。

node.js

nodeはnodebrewがおすすめ

Page 36: Phone gap by yeoman

$ npm install -g yo

Page 37: Phone gap by yeoman

YEOMANはYEOMANはyoとbowerとgruntから成り立ってます

yo bower grunt

Page 38: Phone gap by yeoman

yo 雛形作成ツール

bower フロントエンドパッケージマネージャ

grunt タスクランナー

Page 39: Phone gap by yeoman

具体的には

$ npm install -g generator-hoge

$ yo hoge (※$ bower installも実行してます)

$ grunt serve

$ grunt build

Page 40: Phone gap by yeoman

ちなみに入れる場合があります

ruby

comapss

Page 41: Phone gap by yeoman

scaffoldingツール

多くのgenerator

Page 42: Phone gap by yeoman

OFFICIAL GENERATORS 20

COMMUNITY GENERATORS 782

Page 43: Phone gap by yeoman

パッケージマネージャ

Twitter, opne-source community

bower.jsonで設定管理

Page 44: Phone gap by yeoman

Bower Packages 13,178

Page 45: Phone gap by yeoman

JavaScriptラスクランナー

package.jsonで設定管理

Gruntfile.jsでタスクを定義

Page 46: Phone gap by yeoman

Grunt plugin 2,990

Page 47: Phone gap by yeoman

構成(概要)

generator

bower.jsonGruntfile.json

package.json

Node Packager Managergithub

Page 48: Phone gap by yeoman

cordovaに関するgenerator

Page 49: Phone gap by yeoman

phonegapに関するgenerator

Page 50: Phone gap by yeoman

見てみます

Page 51: Phone gap by yeoman

使い方(generator-phonegap)

$ npm install -g generator-phonegap $ mkdir my-phonegap-project && cd $_ $ yo phonegap

Page 52: Phone gap by yeoman

エミュレータでの起動 (generator-phonegap)

$ grunt platform-build $ cd phonegap $ cordova emulate ios -d $ cordova emulate android -d

Page 53: Phone gap by yeoman

使い方(generator-cordova)

$ npm install -g generator-cordova $ mkdir my-cordova-project && cd $_ $ yo cordova

Page 54: Phone gap by yeoman

エミュレータでの起動 (generator-cordova)

$ grunt cordova-buildemulate

Page 55: Phone gap by yeoman

スマートデバイスへの取り込み

(1) USBデバッグモードでMACにUSB接続 (2) スマートデバイスの開発者向けオプション設定 (3) アプリケーションの実機転送 $ cd platforms  $ cordova run android --device

Page 56: Phone gap by yeoman

Android sdkは入れておく

Page 57: Phone gap by yeoman

Thanks

Page 58: Phone gap by yeoman

Webアプリケーション開発はゼノフィ http://www.xenophy.com/