AMD
basic & practice

2013.11.11 HTML5 Caravan Tokyo
Bathtimefish 村岡 正和
むらおか まさかず

村岡正和
@bathtimefish
Webアプリケーション開発 IT業務システム設計/開発
Webサービス導入/事業戦略コンサルティング
HTML5-WEST.jp代表 / html5j マークアップ部 部長 / HTML5 Experts.jp メンバー
GDG京都 / CSS Nite in OSAKA / 神戸ITフェスティバル実行委員など

HTML5-WEST.jp
監修しました。

実例ごとの実装例がたくさん書いてあ
ります。ウェブサイト制作やCMSの運
用時に便利です。

好評販売中!!
JavaScript
Suited to Large-scale dev?
JS disable import
| “include” | “require”..
JS

Java etc..

moduleA()

main()

moduleB()

.....
main()

import(a)

moduleA()

import(b)

moduleB()
Hard to inherit... & OOP
AMD
Asynchronous Module Definition
https://github.com/amdjs/amdjs-api/wiki/AMD
AMD API
•
•
•

ID base module management
loading asynchronously
difining module dependencies
implementation..
http://requirejs.org/
requirejs features
•
•
•
•

AMD
using require API
cross-platform

browser / node.js

includeing optimization tool

r.js
Demonstration
http://yeoman.io/
http://www.slideshare.net/bathtimefish/yeoman-html5-web20130424-2
https://github.com/yeoman/generator-webapp
main.js
modules location

dependencies

require callback
app.js
define callback
use jQuery in app.js
requirejs for multipage
https://github.com/robdodson/requirejs-multipage-shim-tutorial
in Yeoman

https://gist.github.com/bathtimefish/7080839
Thanks!

AMD basic and practice