html5 in-nagoya-11th
DESCRIPTION
「業務アプリケーションにおけるモダンWeb開発の現状ーHTML5開発って簡単なの?」スライドのショートバージョンですTRANSCRIPT
HTML5勉強会#11 in 名古屋
HTML5勉強会#11 in 名古屋
!
!
佐川 夫美雄
HTML5Expert.jpコントリビュータ html5jエンタープライズ部 副部長 Angularユーザ会 スタッフ Sencha UG CO-ORGANIZER
@albatrosary http://albatrosary.hateblo.jp/ http://html5experts.jp/albatrosary/
Profile:
HTML5勉強会#11 in 名古屋
Single-page Application(SPA)
単一ページによるWebアプリケーション
ページはDOMの操作により切り替える
サーバとのやりとりはAjaxやWebSocket等を利用
何か最近話題だよね?!でもSPAって書くとお風呂になっちゃうんだよ
HTML5勉強会#11 in 名古屋
こんなの簡単さ!
HTML5勉強会#11 in 名古屋
HTML CSS
JavaScript
image
SPAを開発するには?
HTML5勉強会#11 in 名古屋
HTML CSS
JavaScript
Sass Compass
image
SPAを開発するには?
HTML5勉強会#11 in 名古屋
HTML CSS
JavaScript
Sass
CoffeeScript
Compass
image
SPAを開発するには?
HTML5勉強会#11 in 名古屋
HTML CSS
JavaScript
Sass
CoffeeScript
backboneunderscore
jQueryrequire
Compass
image
SPAを開発するには?
HTML5勉強会#11 in 名古屋
HTML CSS
JavaScript
Sass
CoffeeScript
backboneunderscore
jQueryrequire
Compass
image
Yuidoc
SPAを開発するには?
HTML5勉強会#11 in 名古屋
HTML CSS
JavaScript
Sass
CoffeeScript
backboneunderscore
jQueryrequire
Compass
image imagemin
htmlmincssmin
jsmin
Yuidoc
SPAを開発するには?
HTML5勉強会#11 in 名古屋
HTML CSS
JavaScript
Sass
CoffeeScript
backboneunderscore
jQueryrequire
Compass
image imagemin
htmlmincssmin
jsmin
mocha chaiテスト
Yuidoc
SPAを開発するには?
HTML5勉強会#11 in 名古屋
ちょっと大変じゃない。。。
HTML5勉強会#11 in 名古屋
どーやって開発するの? ┐(‾ヘ‾)┌
HTML5勉強会#11 in 名古屋
そこで統合開発ツールの登場です!
HTML5勉強会#11 in 名古屋
開発環境のおはなし
http://yeoman.io/
面倒なことは全部このおっさんにやらせちゃえばいいんだよ
HTML5勉強会#11 in 名古屋
Yeoman とは
Google社が作成した総合開発ツール群
yo(雛形作成ツール)
grunt(タスクランナー)
bower(フロントエンドパッケージマネージャ)
MODERN WORKFLOWS FOR MODERN WEBAPPS
Javaのmavenみたいなもんです もうちょっと高機能かも
HTML5勉強会#11 in 名古屋
インストールは簡単
使ってみる
$ npm install -g yo
HTML5勉強会#11 in 名古屋
$ yo backbone
yoこれだけで使いたい環境ができてしまう!
AngularだってknockoutだってChrome Apps、Firefox OS用だってあるんだぜぃ!
HTML5勉強会#11 in 名古屋
$ yo backbone:view view名 --coffee $ yo backbone:model model名 --coffee $ yo backbone:collection collection名 --coffee $ yo backbone:router router名 --coffee
yoモジュールのテンプレートが作成できる
HTML5勉強会#11 in 名古屋
bower
依存関係およびライブラリの情報を管理するためのファイル
bower.jsonとは?
HTML5勉強会#11 in 名古屋
bower
$ bower install --save-dev [パッケージ名] !
新しいコンポーネントをダウンロードしbower.jsonにその情報を書き込みます
使い方
HTML5勉強会#11 in 名古屋
gruntタスクランナー
gruntにはpackage.jsonとGruntfile.jsが必要
HTML5勉強会#11 in 名古屋
gruntpackage.jsonとは?
必要なタスクプラグインを管理するためのファイル
HTML5勉強会#11 in 名古屋
gruntGruntfile.jsとは?
タスクを定義したファイルです
HTML5勉強会#11 in 名古屋
gruntGruntfile.jsとは?
いろんなタスクがあります $ grunt serve $ grunt build $ grunt test
grunt serveってやるとnodeサーバが立ち上がるんだぜぃ
HTML5勉強会#11 in 名古屋
完璧だ!! さー開発しよう!
HTML5勉強会#11 in 名古屋
ちょっと待って!
HTML5勉強会#11 in 名古屋
そう言えばAjaxってAPIサーバ必要なんだけど・・
HTML5勉強会#11 in 名古屋
よし!全員APIサーバ構築しろ!!
HTML5勉強会#11 in 名古屋
Σ(゚д゚;) ヌオォ!?
HTML5勉強会#11 in 名古屋
モック開発で効率良くgruntタスクに追加するんだよ
HTML5勉強会#11 in 名古屋
grunt-connect-proxyの構築
connect: { options: { port: SERVER_PORT, hostname: 'localhost' }, livereload: { ・・・ }, /* プロキシサーバの設定 */ proxies: [{ context: '/mockapi', host: 'localhost', port: '3000', https: false, changeOrigin: false }],
Gruntfile.jsを少し書き換えろ!$ npm install grunt-connect-proxy --save-dev
モック開発で効率良く
HTML5勉強会#11 in 名古屋
grunt.initConfig({ yeoman: yeomanConfig, /* easymockの設定 */ easymock: { mockapi: { options: { port: 3000, path: 'server/api-server', config: { routes: [ '/users/:id' ] }, }, }, },
$ npm install grunt-easymock --save-dev
モック開発で効率良くgrunt-easymockの構築
Gruntfile.jsを少し書き換えろ!
HTML5勉強会#11 in 名古屋
モックサーバを構築するとめんどうなAPIサーバを構築しなくていい
モック開発で効率良く
Yeoman
HTML5勉強会#11 in 名古屋
モック開発で効率良く
http://albatrosary.hateblo.jp/entry/2014/02/06/155004
詳しくはこちら
HTML5勉強会#11 in 名古屋
Yeomanを使って効率良くSingle-page Applicationを作ろう!
結構大変だけどね。。
イカしてるだろ
HTML5勉強会#11 in 名古屋
ご清聴ありがとうございました