SlideShare a Scribd company logo
1 of 99
今流行りのウェブアプリ開発環
境
Yeoman
html5j 鹿児島代表
政倉 智
自己紹介
● 氏名: 政倉 智 (まさくら とも)
● 所属
– codeArts 株式会社
– html5j 鹿児島代表
● 趣味
– プログラムとか
– バイクとか
● お仕事
– C#/Visual Basic/PHP/Java/JavaScriptなどでシステム開発
– Linuxのサーバー管理
– 一年半くらい前からHTML5/JavaScriptのアプリ開発支援を行っている
アジェンダ
● ”ウェブアプリ開発ツール Yeoman”の紹介
● あると便利なエディタープラグインの紹介
● Yeoman Generatorをいくつか紹介
● 自作のgraybullet-cordovaで簡単Cordova開発
ウェブアプリ開発ツールYeomanの紹介
と、その前に
開発ツールって必要ですか?
HTML5/JavaScriptは簡単に始められるけど、
ちゃんとアプリを書こうとすると
やんないといけないことがたくさんある!
これらのツールをまずは紹介します
ファイル結合
● 開発中は複数のファイルに分けているJavaScript/CSSを結
合する
● 複数のファイルを一つにまとめることで、サーバーへのリ
クエスト回数を減らし、高速化する
コード圧縮
● ソースコードから余分な改行文字・空白文字等を取り除く
● 変数名や関数名を短くするまでやることも
● バイト数を減らすことで通信量を減らし、高速化する
altJS
● ブラウザーでは基本的にJavaScriptしか使えない
● でも、JavaScriptにはいろいろと問題が...
● 他のプログラム言語をJavaScriptに変換すればよくね?と
いうのがaltJS
altJS
● 代表的なのはTypeScript/CoffeeScript
● どちらともクラスが使えます
● ある程度の規模以上だと必須かも
コード検査
● JavaScriptで書いたコードの問題点を検出するツール
– JSHint: 主にコーディング上の問題の検出
– JSCS: 主にコードフォーマットの問題の検出
● LLはスペルミスに厳しいので、こういったツールは必須!
CSSプリプロセッサー
● CSSの不便なところを処理してくれるプリプロセッサー
– 変数が使えたり
– 継承やミックスインなども使える
● 代表的なのはSass/Compass/Less/Styles
これらのツールを手で実行したり、
エディタープラグインを設定するのは
結構大変!
それを解決してくれる
Yeomanを本日は紹介します!
Yeomanとは?
● http://yeoman.io/
● Yeomanとは以下の三つのツールからなります
– ”スキャフォールディングツールの yo”
– ビルドツールの“Grunt” ”及び Gulp”(今回はGruntのみ)
– ”パッケージマネージャーの Bower”
● YeomanはNode.js上で動作します
Node.jsのインストール
● YeomanはNode.jsで動作するため、Node.jsが必要
– https://nodejs.org/
– ”ホームページの INSTALL”ボタンからダウンロードして実
行するだけ
● Macな人は、Homebrewにあるnodebrewやnvmを使ってイン
ストールするのがオススメ
● UNIXの人はnvmを使ってインストールするのがオススメ
● 以後、全部CUIで操作するので、Windowsの人はコマンドプ
ロンプトを、Mac/Unixな人はターミナルを起動してください
Bower
まずはBowerから触ってみます
Bowerの概要
– http://bower.io/
– ウェブサイトを作るのに必要なライブラリ・フレーム
ワーク・ユーティリティなどを管理してくれます
– パッケージの依存関係を考慮してインストールしてく
れるので便利
Bowerのインストール
● BowerはGitを使っているのでGitをまずはインストールす
る必要あり
● Windowsの人はGit for Windowsをインストールすればいい
けど、インストールオプションに注意!
– https://github.com/bower/bower#windows-users
Bowerのインストール
● インストールは簡単!
– “npm install -g bower”だけ
● 最初で匿名の統計情報の レポートを送るか聞いてくる
ので、予め答えておいたほうがいい
– “bower” ”と実行して y” ”か n”を押してエンターキーを押す
$ npm install -g bower
…
$ bower
? May bower anonymously report usage statistics to improve the
tool over time? y
Bowerプロジェクトの作成
● Bower ”プロジェクトを作成するのは bower init”だけ!
– ずらずら出てくる質問に適当に応える
$ mkdir sample1
$ cd sample1
$ bower init
? name: sample1
? version: 0.0.0
? description:
…
? Looks good? y
bower.json
● ”プロジェクトディレクトリに bower.json”ファイルが作ら
れる
{
"name": "bower1",
"version": "0.0.0",
"authors": [
…
]
}
パッケージをインストール
● “bower install {パッケージ名} --save”だけで簡単!
● Backbone.jsが必要とするUnderscore.jsまでインストール
してくれる
$ bower install backbone --save
…
bower install backbone#1.2.1
bower install underscore#1.8.3
backbone#1.2.1 bower_components/backbone
└── underscore#1.8.3
underscore#1.8.3 bower_components/underscore
パッケージをインストール
● パッケージはbower_componentsディレクトリにインス
トールされる
● こういうディレクトリ構造になる
sample1
- bower.json
- bower_components
- backbone
- underscore
bower.json
● bower.jsonにインストールしたパッケージの名前が書き込
まれる
● bower_components ”ディレクトリ消しても bower install”で
復元できる
{
"name": "bower1",
"version": "0.0.0",
…
],
"dependencies": {
"backbone": "~1.2.1"
}
}
インストールしたパッケージを使
う
● インストールしたパッケージを使うにはscript要素などで
パスを指定するだけ
<!doctype html>
<html>
<head>
<meta charset="UTF-8"/>
<title>sample1</title>
<script src="bower_components/backbone/backbone-
min.js"></script>
<script src="bower_components/underscore/underscore-
min.js"></script>
</head>
<body></body>
</html>
Bowerまとめ
● Bowerはウェブサイトを作るのに必要なライブラリ等の
パッケージマネージャー
● “bower init”でプロジェクトを作る
● “bower install {パッケージ名} –save”でインストールする
● bower.jsonファイルにインストールされたパッケージが記
録される
● インストールされたパッケージはbower_componentsディ
レクトリに格納される
Grunt
次はGruntです
Gruntの概要
– http://gruntjs.com/
– JavaScriptでタスクが書けるビルドツール
● Javaで言うところのAnt/Maven/Gradle
● Rubyで言うところのRake
Gruntのインストール
● インストールは簡単!
– “npm install -g grunt-cli”だけ
$ npm install -g grunt-cli
…
npmプロジェクトの作成
● Gruntを使うためにはnpmプロジェクトを作る
● ”プロジェクトを作成するのは npm init”だけ!
– ずらずら出てくる質問に適当に答える
$ mkdir sample2
$ cd sample2
$ npm init
…
name: (sample2)
version: (1.0.0)
description:
...
Is this ok? (yes)
ローカルGruntをインストールする
● プロジェクトにGruntの実体をインストールしないといけ
ない
● “npm install grunt --save-dev”とするだけ
$ npm install grunt --save-dev
…
Gruntタスクをインストールする
● 今回はjshintを使うタスクgrunt-contrib-jshintをインストー
ルする
● “npm install grunt-contrib-jshint --save-dev”とするだけ
$ npm install grunt-contrib-jsthint --save-dev
…
Gruntfile.jsを書く
● ビルドタスクを記述するためにGruntfile.jsを書く
module.exports = function (grunt) {
grunt.loadNpmTasks('grunt-contrib-jshint');
grunt.initConfig({
jshint: {
all: ['*.js'],
options: {
unused: true
}
}
});
};
検査対象のJavaScriptファイルを書
く
● 実際に検査するJavaScriptファイルを書く
● 今回はmain.jsを作る
var hoge;
タスクを実行する
● “grunt jshint”でjshintタスクを実行し、コード検査ができる
● コードの問題を報告してくれる!
$ grunt jshint
Running "jshint:all" (jshint) task
main.js
1 |var hoge;
^ 'hoge' is defined but never used.
>> 1 error in 2 files
Warning: Task "jshint:all" failed. Use --force to continue.
Aborted due to warnings.
タスクを追加する
● こんな感じでタスクを追加していく
● 複数のタスクをまとめることで、一連の処理を自動化でき
る
– コード検査
– 結合・圧縮
– などなど
Gruntまとめ
● Gruntはビルドツール
● “npm install -g grunt-cli”でインストール
● “npm init” ”で作成したプロジェクトに npm install grunt –
save-dev”で使えるようになる
● “npm install grunt-{パッケージ名} --save-dev”でタスクをイ
ンストール
● Gruntfile.jsにタスクを記述する
● “grunt {タスク名}”でタスクを実行する
最後にyoを紹介
その前に、今までの説明を聞いて
面倒そうだと思いませんか?
実は
Gruntfile.jsを書くのが
とっても大変なんです!
そこでyoの出番です!
yoの概要
● yoはウェブアプリのためのスキャフォールディングツール
です
● スキャフォールディングとは足場のことです
● yoを使って土台を作ってその上にアプリを作っていきます
yoのインストール
● インストールは簡単!
– “npm install -g yo”だけ
$ npm install -g yo
…
ジェネレーターのインストール
● ウェブアプリを開発するプロジェクトを作るジェネレー
ターをインストールする
● 今回は最も基本的なgenerator-webappをインストール
$ npm install -g generator-webapp
…
プロジェクトの作成
● ウェブアプリ開発のプロジェクトを作ります
– “yo webapp”として簡単な質問に答えるだけ!
● 最初の一回だけ統計情報を送るか聞いてくる
$ mkdir sample3
$ cd sample3
$ yo webapp
…
Out of the box I include HTML5 Boilerplate, jQuery, and a
Gruntfile.js to build your app.
? What more would you like? (Press <space> to select)
◉❯ Bootstrap
◯ Sass
◯ Modernizr
プロジェクトの構成
● ジェネレーターでも違うけど大体似てる
sample3
- .jshintrc
- bower.json
- Gruntfile.js
- package.json
- app
- index.html
- scripts
- styles
- test
Gruntfile.jsを見る
● 生成されたGruntfile.jsを見てみる
● 長いね... 390行ありました!
module.exports = function (grunt) {
// Time how long tasks take. Can help when optimizing build
times
require('time-grunt')(grunt);
// Load grunt tasks automatically
require('load-grunt-tasks')(grunt);
// Configurable paths
var config = {
...
Gruntfile.jsを見る
● 開発に便利なタスクが予めプリセット済み
● Gruntfile.jsを書くのは結構大変なので助かります
開発する
● 開発するにはserveタスクを使う
– “grunt serve”で実行する
● ブラウザーが起動します!
開発する
● この状態でapp/index.htmlを書き換えると... なんと何もせ
ずにブラウザーがリロードされます!
– LiveReload 超便利!
● 実演します
開発する
● 開発中はserveタスクを立ち上げっぱなし
● エディターでファイルを修正し、ブラウザーで確認を繰り
返すだけ!
● ブラウザーのリロードボタンを押す必要はない
● ブラウザーのデベロッパーツールと組み合わせればデバッ
グもできる
パッケージをインストールする
● Bowerで説明したとおり、bowerコマンドでパッケージを
インストールできる
– “bower install backbone --save”とするだけ!
$ bower install backbone --save
…
backbone#1.2.1 bower_components/backbone
└── underscore#1.8.3
underscore#1.8.3 bower_components/underscore
パッケージをインストールする
● インストールしたパッケージはindex.htmlに自動で追加さ
れる
● Bowerで説明したような作業を勝手にやってくれる
<!-- build:js(.) scripts/vendor.js -->
<!-- bower:js -->
<script src="bower_components/jquery/dist/jquery.js"></script>
<script
src="bower_components/underscore/underscore.js"></script>
<script
src="bower_components/backbone/backbone.js"></script>
<!-- endbower -->
<!-- endbuild -->
成果物を作る
● 成果物を作るにはdefaultタスクを使う
– defaultタスクは規定のタスクなので指定しなくてもよ
い
– “grunt”とするだけ
● 成果物はdistディレクトリに作られるので、これをサー
バーにアップロードするだけ
$ grunt
…
Done, without errors.
…
成果物を作る
● 成果物はdistディレクトリに作られるので、これをサー
バーにアップロードするだけ
成果物を作る
● 成果物のファイルは結合や圧縮済み
● Index.htmlはこんな感じになる
<!DOCTYPE html> <html class=no-js> <head> <meta
charset=utf-8> <title>sample3</title> <meta name=description
content=""> <meta name=viewport content="width=device-
width"> <link rel="shortcut icon" href=/6df2b309.favicon.ico> <!--
Place favicon.ico and apple-touch-icon.png in the root directory
--> <link rel=stylesheet href=styles/9c307a9d.vendor.css> <link
rel=stylesheet href=styles/a5896f90.main.css> <body> <!--[if lt
IE 10]>
yoまとめ
● “npm install -g yo”でインストールする
● “npm install -g generator-{ジェネレーター名}”でジェネ
レーターをインストールする
● “yo {ジェネレーター名}”でプロジェクトを作る
● “grunt serve”で開発する
– エディターでファイルを書き換える
– 起動したブラウザーは自動リロードされる
– ブラウザーのデベロッパーツールを使う
yoまとめ
● ”パッケージのインストールは bower install {パッケージ名}
--save”で
● “grunt”で成果物がdistディレクトリに作られる
– 成果物は圧縮結合されている
– これをサーバーにアップロードするだけ
● yoを使うことで、面倒なプロジェクト作成とGruntfile.jsの
作成の時間をかなり省ける
ここで少しだけ寄り道
あると便利なエディタープラグインの紹介
エディター側にプラグインをインストールすると
開発がはかどります
有名どころのプラグインを
いくつか紹介します
EditorConfig
● http://editorconfig.org/
● 文字エンコード・改行コード・タブ・末端の改行の有無な
どをプロジェクト単位で設定できる
● yoで作ったプロジェクトには大体EditorConfigに対応して
いて、予めこれらが設定してある
● エディターにEditorConfigプラグインをインストールして
おくと、この設定が勝手に使われる
EditorConfig
● .editorconfigファイルで設定を行う
● 今回の場合、インデントはスペースに文字、改行コードは
LF、文字エンコードはUTF-8、などとなってる
[*]
# Change these settings to your own preference
indent_style = space
indent_size = 2
# We recommend you to keep these unchanged
end_of_line = lf
charset = utf-8
trim_trailing_whitespace = true
insert_final_newline = true
Emmet
● http://emmet.io/
● 昔はZen-Codingと呼ばれていた
● HTML/CSSの入力にかかる時間を大幅短縮!
Emmet
● CSSセレクタに似た記法を使って、一気に入力できる
● 実演します
#page>div.logo+ul#navigation>li*5>a{Item $}
これが、下のように展開される
<div id="page">
<div class="logo"></div>
<ul id="navigation">
<li><a href="">Item 1</a></li>
<li><a href="">Item 2</a></li>
<li><a href="">Item 3</a></li>
<li><a href="">Item 4</a></li>
<li><a href="">Item 5</a></li>
</ul>
</div>
JSHint
● “grunt jshint” ”でも検査できるし、 grunt serve”の実行中も
JSHint検査結果は表示される
● けど、どのファイルの何行目かを探すのが結構大変
● エディターにもプラグインを入れてたほうがいい
● こんな感じですぐにエラーの場所がわかる
自分がインストールしているプラグインは
これくらいです
もっと便利なのもあるようなので、
探してみてはいかがでしょうか?
さて、Yeomanに戻ります
Yeoman Generatorをいくつか紹介
Yeoman Generators
● http://yeoman.io/generators/
● 1700以上登録されている
紹介するもの
● generator-webapp – 基本的なもの
● generator-angular – AngularJSプロジェクト
● generator-angular-fullstack – サーバーサービス込み
● generator-angular-eggs - いろいろついてて便利
● generator-flux – React/Fluxプロジェクト
generator-webapp
● 今回使ったもっとも基本的なもの
● 一番単純なので最初に覚えるといいかも
● “yo webapp --coffee”でCoffeeScriptが使えます
generator-angular
● AngularJSを使ったアプリのプロジェクト
– “npm install -g generator-angular”でインストール
– “yo angular”でプロジェクト作成
● Yeoman Tutorialがこれを使っているので試してみるとよいかも
– http://yeoman.io/codelab.html
● サブジェネレーターがあるので、コントローラーも簡単に作れる
– “yo angular:controller {コントローラー名}”
– “yo angular:factory {ファクトリ名}”
generator-angular-fullstack
● generator-angularをベースにサーバーサイドもセットに
なったもの
– generator-angularがベースだけど、今はもう面影ない
くらい違う
● そのままHerokuなどにデプロイできる、らしい
generator-angular-eggs
● こちらもサーバーサイドまでセットになったもの
● e2eテストまでついてくるので本格的にアプリを書きたい
人向き
● New Angular Routerを使用している
– New RouterはAngular 2.0につながるものなので、
ちょっと先をいきたい人にはいいかも
generator-flux
● 最近話題のReact/Fluxを使うプロジェクト
● React/Fluxを動くようにするのは少し面倒なので、これを
使ってまずは学習するといいかもしれない
– 自分はかなりお世話になってます
その他のジェネレーター
● 他にもジェネレーターはたくさんあるので、いろいろと探
してみるといいかも
● 自分にぴったりのを見つけよう!
自作の
generator-graybullet-cordovaの紹介
概要
● generator-webappの感覚でApache Cordovaアプリを作ろ
うというもの
– generator-cordovaというのがあったけど、対応してい
るCordovaが古いから自作してみた
● generator-webappのいいところ(圧縮とかLiveReloadとか)
とCordovaのいいところ(ハイブリッドアプリが作れる)を
組み合わせた
Apache Cordovaとは
● Apache Cordovaは、Android/iOSなどの様々なOSで動作
することができるハイブリッドアプリを作成するフレーム
ワーク
– 一つのソースコードで複数のプラットフォームで動作
する
● HTML5/CSS3/JavaScriptで書いたアプリを、WebViewと
いう組み込みブラウザーと合わせて同梱しネイティブアプ
リ化するもの
インストール&プロジェクトの作成
● “npm install -g generator-graybullet-cordova”でインストー
ル!
– 一緒にCordovaもインストールされる
● Android SDKやXcodeを忘れないように!
● “yo graybullet-cordova”でプロジェクトを作成
● 実演します
– と思ったらgenerator-webappの新バージョンがリリー
スされて動かなくなった...
修正方法
● ”追加で npm install”を実行する
修正方法
● Gruntfile.jsを修正
// Automatically load required grunt tasks
require('jit-grunt')(grunt, {
useminPrepare: 'grunt-usemin'
});
下のように書き換える
// Automatically load required grunt tasks
require('jit-grunt')(grunt, {
useminPrepare: 'grunt-usemin',
cordova: 'grunt-cordova-ng'
});
修正方法
● Gruntfile.jsを修正
server: {
baseDir: ['.tmp', config.app],
routes: {
'/bower_components': './bower_components'
下のように書き換える
server: {
baseDir: ['.fake', '.tmp', config.app],
routes: {
'/bower_components': './bower_components'
修正方法
● これでOKです!
● ごめんなさい...
– 今度直しておきます...
開発する
● 開発の方法はgenerator-webappと変わらない
● Google Chromeでモバイルエミュレーションを有効にする
といい感じに
エミュレーター&実機で動かす
● “grunt emulate”でエミュレーターで実行する
– Android Emulatorを立ち上げておいてね!
● “grunt run”で実機で実行する
– USB接続しておいてね!
● Cordovaとほとんど同じ!
エミュレーター&実機で動かす
● こんな感じ!
● 実演します
エミュレーター&実機でのデバッグ
● エミュレーターや実機でのデバッグはChrome(Android)や
Safari(iOS)を使う
● Chromeの場合URL ”に chrome://inspect”を入力
エミュレーター&実機でのデバッグ
● 接続されているAndroid端末の一覧が表示されるので
inspectをクリックする
エミュレーター&実機でのデバッグ
● リモートでもデベロッパーツールが使える!
● 実演します
これで簡単にハイブリッドアプリが作れます!
というわけで
Yeomanと
generator-graybullet-cordovaを使って
ハイブリッドアプリ開発をしてみませんか?
ご清聴ありがとうございました!

More Related Content

What's hot

GUIツールで送る快適な Gitライフ@Creators MeetUp #29
GUIツールで送る快適な Gitライフ@Creators MeetUp #29GUIツールで送る快適な Gitライフ@Creators MeetUp #29
GUIツールで送る快適な Gitライフ@Creators MeetUp #29Erina Takei
 
Yeomanではじめる爆速webアプリ開発
Yeomanではじめる爆速webアプリ開発Yeomanではじめる爆速webアプリ開発
Yeomanではじめる爆速webアプリ開発Masakazu Muraoka
 
JSオジサン openframeworks emscripten
JSオジサン openframeworks emscriptenJSオジサン openframeworks emscripten
JSオジサン openframeworks emscriptenminoru nakanou
 
Web frontend performance tuning
Web frontend      performance tuningWeb frontend      performance tuning
Web frontend performance tuningssuser3c214d
 
がんばらなくても C# で Single Page Web アプリケーションが書けてしまう「Blazor」とは
がんばらなくても C# で Single Page Web アプリケーションが書けてしまう「Blazor」とはがんばらなくても C# で Single Page Web アプリケーションが書けてしまう「Blazor」とは
がんばらなくても C# で Single Page Web アプリケーションが書けてしまう「Blazor」とはJun-ichi Sakamoto
 
エンジニアの為のWordPress入門 〜WordPressはWebAppプラットフォームです〜
エンジニアの為のWordPress入門 〜WordPressはWebAppプラットフォームです〜エンジニアの為のWordPress入門 〜WordPressはWebAppプラットフォームです〜
エンジニアの為のWordPress入門 〜WordPressはWebAppプラットフォームです〜Yuji Nojima
 
【B-1】kintoneでお手軽コールセンター!
【B-1】kintoneでお手軽コールセンター!【B-1】kintoneでお手軽コールセンター!
【B-1】kintoneでお手軽コールセンター!Sakae Saito
 
C# で Single Page Web アプリが開発できるフレームワーク&開発環境 「Blazor」 ― その概要と Web アプリ開発者にもたらす利点
C# で Single Page Web アプリが開発できるフレームワーク&開発環境 「Blazor」 ― その概要と Web アプリ開発者にもたらす利点C# で Single Page Web アプリが開発できるフレームワーク&開発環境 「Blazor」 ― その概要と Web アプリ開発者にもたらす利点
C# で Single Page Web アプリが開発できるフレームワーク&開発環境 「Blazor」 ― その概要と Web アプリ開発者にもたらす利点Jun-ichi Sakamoto
 
[社内勉強会]Gradleを使おう
[社内勉強会]Gradleを使おう[社内勉強会]Gradleを使おう
[社内勉強会]Gradleを使おうhirooooo
 
いまさら聞けない!?Backbone.js 超入門
いまさら聞けない!?Backbone.js 超入門いまさら聞けない!?Backbone.js 超入門
いまさら聞けない!?Backbone.js 超入門Kohei Kadowaki
 
Webサイトに動きをつける、jQueryプラグインの設置方法 先生:田中 晶子
Webサイトに動きをつける、jQueryプラグインの設置方法 先生:田中 晶子Webサイトに動きをつける、jQueryプラグインの設置方法 先生:田中 晶子
Webサイトに動きをつける、jQueryプラグインの設置方法 先生:田中 晶子schoowebcampus
 
HTML5でできるカメラアプリを実際に体験しよう
HTML5でできるカメラアプリを実際に体験しよう HTML5でできるカメラアプリを実際に体験しよう
HTML5でできるカメラアプリを実際に体験しよう Hideki Akiba
 
モダンWeb開発ワークショップ
モダンWeb開発ワークショップモダンWeb開発ワークショップ
モダンWeb開発ワークショップStaffnet_Inc
 
Blazor 触ってみた
Blazor 触ってみたBlazor 触ってみた
Blazor 触ってみたOda Shinsuke
 
Pinoco phptal-phpcon-kansai
Pinoco phptal-phpcon-kansaiPinoco phptal-phpcon-kansai
Pinoco phptal-phpcon-kansaiHisateru Tanaka
 
Chrome Developer Toolsを使いこなそう!
Chrome Developer Toolsを使いこなそう!Chrome Developer Toolsを使いこなそう!
Chrome Developer Toolsを使いこなそう!yoshikawa_t
 
Mojoliciousでつくる! Webアプリ入門
Mojoliciousでつくる! Webアプリ入門Mojoliciousでつくる! Webアプリ入門
Mojoliciousでつくる! Webアプリ入門Yusuke Wada
 
Web制作者がandriodのcddを読んでみた
Web制作者がandriodのcddを読んでみたWeb制作者がandriodのcddを読んでみた
Web制作者がandriodのcddを読んでみたMasakazu Muraoka
 
イマドキのフロントエンドエンジニアの道具箱
イマドキのフロントエンドエンジニアの道具箱イマドキのフロントエンドエンジニアの道具箱
イマドキのフロントエンドエンジニアの道具箱Fumio SAGAWA
 
WordCamp Kansai 2015 CI ハンズオン
WordCamp Kansai 2015 CI ハンズオンWordCamp Kansai 2015 CI ハンズオン
WordCamp Kansai 2015 CI ハンズオンタカシ キタジマ
 

What's hot (20)

GUIツールで送る快適な Gitライフ@Creators MeetUp #29
GUIツールで送る快適な Gitライフ@Creators MeetUp #29GUIツールで送る快適な Gitライフ@Creators MeetUp #29
GUIツールで送る快適な Gitライフ@Creators MeetUp #29
 
Yeomanではじめる爆速webアプリ開発
Yeomanではじめる爆速webアプリ開発Yeomanではじめる爆速webアプリ開発
Yeomanではじめる爆速webアプリ開発
 
JSオジサン openframeworks emscripten
JSオジサン openframeworks emscriptenJSオジサン openframeworks emscripten
JSオジサン openframeworks emscripten
 
Web frontend performance tuning
Web frontend      performance tuningWeb frontend      performance tuning
Web frontend performance tuning
 
がんばらなくても C# で Single Page Web アプリケーションが書けてしまう「Blazor」とは
がんばらなくても C# で Single Page Web アプリケーションが書けてしまう「Blazor」とはがんばらなくても C# で Single Page Web アプリケーションが書けてしまう「Blazor」とは
がんばらなくても C# で Single Page Web アプリケーションが書けてしまう「Blazor」とは
 
エンジニアの為のWordPress入門 〜WordPressはWebAppプラットフォームです〜
エンジニアの為のWordPress入門 〜WordPressはWebAppプラットフォームです〜エンジニアの為のWordPress入門 〜WordPressはWebAppプラットフォームです〜
エンジニアの為のWordPress入門 〜WordPressはWebAppプラットフォームです〜
 
【B-1】kintoneでお手軽コールセンター!
【B-1】kintoneでお手軽コールセンター!【B-1】kintoneでお手軽コールセンター!
【B-1】kintoneでお手軽コールセンター!
 
C# で Single Page Web アプリが開発できるフレームワーク&開発環境 「Blazor」 ― その概要と Web アプリ開発者にもたらす利点
C# で Single Page Web アプリが開発できるフレームワーク&開発環境 「Blazor」 ― その概要と Web アプリ開発者にもたらす利点C# で Single Page Web アプリが開発できるフレームワーク&開発環境 「Blazor」 ― その概要と Web アプリ開発者にもたらす利点
C# で Single Page Web アプリが開発できるフレームワーク&開発環境 「Blazor」 ― その概要と Web アプリ開発者にもたらす利点
 
[社内勉強会]Gradleを使おう
[社内勉強会]Gradleを使おう[社内勉強会]Gradleを使おう
[社内勉強会]Gradleを使おう
 
いまさら聞けない!?Backbone.js 超入門
いまさら聞けない!?Backbone.js 超入門いまさら聞けない!?Backbone.js 超入門
いまさら聞けない!?Backbone.js 超入門
 
Webサイトに動きをつける、jQueryプラグインの設置方法 先生:田中 晶子
Webサイトに動きをつける、jQueryプラグインの設置方法 先生:田中 晶子Webサイトに動きをつける、jQueryプラグインの設置方法 先生:田中 晶子
Webサイトに動きをつける、jQueryプラグインの設置方法 先生:田中 晶子
 
HTML5でできるカメラアプリを実際に体験しよう
HTML5でできるカメラアプリを実際に体験しよう HTML5でできるカメラアプリを実際に体験しよう
HTML5でできるカメラアプリを実際に体験しよう
 
モダンWeb開発ワークショップ
モダンWeb開発ワークショップモダンWeb開発ワークショップ
モダンWeb開発ワークショップ
 
Blazor 触ってみた
Blazor 触ってみたBlazor 触ってみた
Blazor 触ってみた
 
Pinoco phptal-phpcon-kansai
Pinoco phptal-phpcon-kansaiPinoco phptal-phpcon-kansai
Pinoco phptal-phpcon-kansai
 
Chrome Developer Toolsを使いこなそう!
Chrome Developer Toolsを使いこなそう!Chrome Developer Toolsを使いこなそう!
Chrome Developer Toolsを使いこなそう!
 
Mojoliciousでつくる! Webアプリ入門
Mojoliciousでつくる! Webアプリ入門Mojoliciousでつくる! Webアプリ入門
Mojoliciousでつくる! Webアプリ入門
 
Web制作者がandriodのcddを読んでみた
Web制作者がandriodのcddを読んでみたWeb制作者がandriodのcddを読んでみた
Web制作者がandriodのcddを読んでみた
 
イマドキのフロントエンドエンジニアの道具箱
イマドキのフロントエンドエンジニアの道具箱イマドキのフロントエンドエンジニアの道具箱
イマドキのフロントエンドエンジニアの道具箱
 
WordCamp Kansai 2015 CI ハンズオン
WordCamp Kansai 2015 CI ハンズオンWordCamp Kansai 2015 CI ハンズオン
WordCamp Kansai 2015 CI ハンズオン
 

Viewers also liked

ENJOY H@RMONY!!とボーダーbot
ENJOY H@RMONY!!とボーダーbotENJOY H@RMONY!!とボーダーbot
ENJOY H@RMONY!!とボーダーbottreby
 
データ可視化とコスト管理
データ可視化とコスト管理データ可視化とコスト管理
データ可視化とコスト管理Applibot, Inc.
 
About Servicegrant / digest
About Servicegrant / digestAbout Servicegrant / digest
About Servicegrant / digestServicegrant
 
能年玲奈ちゃんのファンとして本気を出してみた
能年玲奈ちゃんのファンとして本気を出してみた能年玲奈ちゃんのファンとして本気を出してみた
能年玲奈ちゃんのファンとして本気を出してみた真一 北原
 
LT駆動開発03 Web制作をカレー作りで例えてみる
LT駆動開発03 Web制作をカレー作りで例えてみるLT駆動開発03 Web制作をカレー作りで例えてみる
LT駆動開発03 Web制作をカレー作りで例えてみるKawakami Hiroko
 
リクルート式 自然言語処理技術の適応事例紹介
リクルート式 自然言語処理技術の適応事例紹介リクルート式 自然言語処理技術の適応事例紹介
リクルート式 自然言語処理技術の適応事例紹介Recruit Technologies
 
2011インターンシップ_09N1123_前野沙織
2011インターンシップ_09N1123_前野沙織2011インターンシップ_09N1123_前野沙織
2011インターンシップ_09N1123_前野沙織saolympic
 
東方紅魔郷AI
東方紅魔郷AI東方紅魔郷AI
東方紅魔郷AIaki33524
 
「PUSH 大阪」の紹介
「PUSH 大阪」の紹介「PUSH 大阪」の紹介
「PUSH 大阪」の紹介Kouji Kozaki
 
営業プロセス研修資料
営業プロセス研修資料営業プロセス研修資料
営業プロセス研修資料Kouichi Morita
 
俺の仕事がこんなに楽しいわけが無い・公開版(初出:2010/12/20 株式会社ECナビ会社説明会@IAMAS)
俺の仕事がこんなに楽しいわけが無い・公開版(初出:2010/12/20 株式会社ECナビ会社説明会@IAMAS)俺の仕事がこんなに楽しいわけが無い・公開版(初出:2010/12/20 株式会社ECナビ会社説明会@IAMAS)
俺の仕事がこんなに楽しいわけが無い・公開版(初出:2010/12/20 株式会社ECナビ会社説明会@IAMAS)bash0C7
 
⑨Web制作、デザイン、セキュリティなどの基礎を学ぼう
⑨Web制作、デザイン、セキュリティなどの基礎を学ぼう⑨Web制作、デザイン、セキュリティなどの基礎を学ぼう
⑨Web制作、デザイン、セキュリティなどの基礎を学ぼうNishida Kansuke
 
日経ITpro EXPO 2015: 次世代IoTアーキテクチャ CEO玉川、CTO安川
日経ITpro EXPO 2015: 次世代IoTアーキテクチャ CEO玉川、CTO安川日経ITpro EXPO 2015: 次世代IoTアーキテクチャ CEO玉川、CTO安川
日経ITpro EXPO 2015: 次世代IoTアーキテクチャ CEO玉川、CTO安川SORACOM,INC
 
リクルートにおけるVDI導入とCiscoデータセンタソリューション
リクルートにおけるVDI導入とCiscoデータセンタソリューションリクルートにおけるVDI導入とCiscoデータセンタソリューション
リクルートにおけるVDI導入とCiscoデータセンタソリューションRecruit Technologies
 
リクルートのWebサービスを支える共通インフラ「RAFTEL」
リクルートのWebサービスを支える共通インフラ「RAFTEL」リクルートのWebサービスを支える共通インフラ「RAFTEL」
リクルートのWebサービスを支える共通インフラ「RAFTEL」Recruit Technologies
 
libpgenでパケット操作
libpgenでパケット操作libpgenでパケット操作
libpgenでパケット操作slankdev
 
自己紹介用プレゼン
自己紹介用プレゼン自己紹介用プレゼン
自己紹介用プレゼンKatsuhisa Maeda
 
テスト駆動インフラ構築-Chefとserverspecを使ったインフラ自動化のすすめ-
テスト駆動インフラ構築-Chefとserverspecを使ったインフラ自動化のすすめ-テスト駆動インフラ構築-Chefとserverspecを使ったインフラ自動化のすすめ-
テスト駆動インフラ構築-Chefとserverspecを使ったインフラ自動化のすすめ-賢 秋穂
 

Viewers also liked (20)

ENJOY H@RMONY!!とボーダーbot
ENJOY H@RMONY!!とボーダーbotENJOY H@RMONY!!とボーダーbot
ENJOY H@RMONY!!とボーダーbot
 
データ可視化とコスト管理
データ可視化とコスト管理データ可視化とコスト管理
データ可視化とコスト管理
 
About Servicegrant / digest
About Servicegrant / digestAbout Servicegrant / digest
About Servicegrant / digest
 
能年玲奈ちゃんのファンとして本気を出してみた
能年玲奈ちゃんのファンとして本気を出してみた能年玲奈ちゃんのファンとして本気を出してみた
能年玲奈ちゃんのファンとして本気を出してみた
 
LT駆動開発03 Web制作をカレー作りで例えてみる
LT駆動開発03 Web制作をカレー作りで例えてみるLT駆動開発03 Web制作をカレー作りで例えてみる
LT駆動開発03 Web制作をカレー作りで例えてみる
 
リクルート式 自然言語処理技術の適応事例紹介
リクルート式 自然言語処理技術の適応事例紹介リクルート式 自然言語処理技術の適応事例紹介
リクルート式 自然言語処理技術の適応事例紹介
 
過換気症候群
過換気症候群過換気症候群
過換気症候群
 
2011インターンシップ_09N1123_前野沙織
2011インターンシップ_09N1123_前野沙織2011インターンシップ_09N1123_前野沙織
2011インターンシップ_09N1123_前野沙織
 
東方紅魔郷AI
東方紅魔郷AI東方紅魔郷AI
東方紅魔郷AI
 
「PUSH 大阪」の紹介
「PUSH 大阪」の紹介「PUSH 大阪」の紹介
「PUSH 大阪」の紹介
 
営業プロセス研修資料
営業プロセス研修資料営業プロセス研修資料
営業プロセス研修資料
 
俺の仕事がこんなに楽しいわけが無い・公開版(初出:2010/12/20 株式会社ECナビ会社説明会@IAMAS)
俺の仕事がこんなに楽しいわけが無い・公開版(初出:2010/12/20 株式会社ECナビ会社説明会@IAMAS)俺の仕事がこんなに楽しいわけが無い・公開版(初出:2010/12/20 株式会社ECナビ会社説明会@IAMAS)
俺の仕事がこんなに楽しいわけが無い・公開版(初出:2010/12/20 株式会社ECナビ会社説明会@IAMAS)
 
⑨Web制作、デザイン、セキュリティなどの基礎を学ぼう
⑨Web制作、デザイン、セキュリティなどの基礎を学ぼう⑨Web制作、デザイン、セキュリティなどの基礎を学ぼう
⑨Web制作、デザイン、セキュリティなどの基礎を学ぼう
 
日経ITpro EXPO 2015: 次世代IoTアーキテクチャ CEO玉川、CTO安川
日経ITpro EXPO 2015: 次世代IoTアーキテクチャ CEO玉川、CTO安川日経ITpro EXPO 2015: 次世代IoTアーキテクチャ CEO玉川、CTO安川
日経ITpro EXPO 2015: 次世代IoTアーキテクチャ CEO玉川、CTO安川
 
リクルートにおけるVDI導入とCiscoデータセンタソリューション
リクルートにおけるVDI導入とCiscoデータセンタソリューションリクルートにおけるVDI導入とCiscoデータセンタソリューション
リクルートにおけるVDI導入とCiscoデータセンタソリューション
 
リクルートのWebサービスを支える共通インフラ「RAFTEL」
リクルートのWebサービスを支える共通インフラ「RAFTEL」リクルートのWebサービスを支える共通インフラ「RAFTEL」
リクルートのWebサービスを支える共通インフラ「RAFTEL」
 
libpgenでパケット操作
libpgenでパケット操作libpgenでパケット操作
libpgenでパケット操作
 
自己紹介用プレゼン
自己紹介用プレゼン自己紹介用プレゼン
自己紹介用プレゼン
 
⼤企業で実現するイマドキの内製開発
⼤企業で実現するイマドキの内製開発⼤企業で実現するイマドキの内製開発
⼤企業で実現するイマドキの内製開発
 
テスト駆動インフラ構築-Chefとserverspecを使ったインフラ自動化のすすめ-
テスト駆動インフラ構築-Chefとserverspecを使ったインフラ自動化のすすめ-テスト駆動インフラ構築-Chefとserverspecを使ったインフラ自動化のすすめ-
テスト駆動インフラ構築-Chefとserverspecを使ったインフラ自動化のすすめ-
 

Similar to 今流行りのウェブアプリ開発環境Yeoman

はてなにおける継続的デプロイメントの現状と Docker の導入
はてなにおける継続的デプロイメントの現状と Docker の導入はてなにおける継続的デプロイメントの現状と Docker の導入
はてなにおける継続的デプロイメントの現状と Docker の導入Yu Nobuoka
 
GruntでJavaScript 前作業の自動化!
GruntでJavaScript 前作業の自動化!GruntでJavaScript 前作業の自動化!
GruntでJavaScript 前作業の自動化!leverages_event
 
13016 n分で作るtype scriptでnodejs
13016 n分で作るtype scriptでnodejs13016 n分で作るtype scriptでnodejs
13016 n分で作るtype scriptでnodejsTakayoshi Tanaka
 
Cordovaコトハジメ( Html5fun×senchUG )
Cordovaコトハジメ( Html5fun×senchUG )Cordovaコトハジメ( Html5fun×senchUG )
Cordovaコトハジメ( Html5fun×senchUG )Masayuki Abe
 
Spring native について
Spring native についてSpring native について
Spring native についてTakamasa Mitsuji
 
Nseg20120825
Nseg20120825Nseg20120825
Nseg20120825hiro345
 
Build 番号の自動更新スクリプトについて #cocoa_kansai
Build 番号の自動更新スクリプトについて #cocoa_kansaiBuild 番号の自動更新スクリプトについて #cocoa_kansai
Build 番号の自動更新スクリプトについて #cocoa_kansaiTomohiro Kumagai
 
もろもろの AI ツールを Windows のローカル環境にインストールする手順
もろもろの AI ツールを Windows のローカル環境にインストールする手順もろもろの AI ツールを Windows のローカル環境にインストールする手順
もろもろの AI ツールを Windows のローカル環境にインストールする手順Hide Koba
 
ブラウザだけで学ぶWebアプリ開発
ブラウザだけで学ぶWebアプリ開発 ブラウザだけで学ぶWebアプリ開発
ブラウザだけで学ぶWebアプリ開発 schoowebcampus
 
Nseg20120929
Nseg20120929Nseg20120929
Nseg20120929hiro345
 
3分間 開発環境クッキング 2012.07 #pyfes
3分間 開発環境クッキング 2012.07 #pyfes3分間 開発環境クッキング 2012.07 #pyfes
3分間 開発環境クッキング 2012.07 #pyfesTakeshi Komiya
 
今すぐブラウザでES6を使おう
今すぐブラウザでES6を使おう今すぐブラウザでES6を使おう
今すぐブラウザでES6を使おうHayashi Yuichi
 
【学習メモ#1st】12ステップで作る組込みOS自作入門
【学習メモ#1st】12ステップで作る組込みOS自作入門【学習メモ#1st】12ステップで作る組込みOS自作入門
【学習メモ#1st】12ステップで作る組込みOS自作入門sandai
 
まっつんチャレンジ OSC出張編 45分でわかる PHP+Eclipseによるテスト駆動開発環境の構築
まっつんチャレンジ OSC出張編 45分でわかる PHP+Eclipseによるテスト駆動開発環境の構築まっつんチャレンジ OSC出張編 45分でわかる PHP+Eclipseによるテスト駆動開発環境の構築
まっつんチャレンジ OSC出張編 45分でわかる PHP+Eclipseによるテスト駆動開発環境の構築Hideharu MATSUFUJI
 
ネットワークエンジニアのための Puppet / Chef
ネットワークエンジニアのための Puppet / Chefネットワークエンジニアのための Puppet / Chef
ネットワークエンジニアのための Puppet / Chefnpsg
 
今、話題のビルドツール gulp/Gruntを徹底解剖! ~ハンズオンで基礎から学ぶ、Web制作の味方 ビルドツール~
今、話題のビルドツール gulp/Gruntを徹底解剖! ~ハンズオンで基礎から学ぶ、Web制作の味方 ビルドツール~今、話題のビルドツール gulp/Gruntを徹底解剖! ~ハンズオンで基礎から学ぶ、Web制作の味方 ビルドツール~
今、話題のビルドツール gulp/Gruntを徹底解剖! ~ハンズオンで基礎から学ぶ、Web制作の味方 ビルドツール~知己 久保
 
Node予備校 vol.1 名古屋
Node予備校 vol.1 名古屋Node予備校 vol.1 名古屋
Node予備校 vol.1 名古屋Mori Shingo
 

Similar to 今流行りのウェブアプリ開発環境Yeoman (20)

はてなにおける継続的デプロイメントの現状と Docker の導入
はてなにおける継続的デプロイメントの現状と Docker の導入はてなにおける継続的デプロイメントの現状と Docker の導入
はてなにおける継続的デプロイメントの現状と Docker の導入
 
GruntでJavaScript 前作業の自動化!
GruntでJavaScript 前作業の自動化!GruntでJavaScript 前作業の自動化!
GruntでJavaScript 前作業の自動化!
 
13016 n分で作るtype scriptでnodejs
13016 n分で作るtype scriptでnodejs13016 n分で作るtype scriptでnodejs
13016 n分で作るtype scriptでnodejs
 
Cordovaコトハジメ( Html5fun×senchUG )
Cordovaコトハジメ( Html5fun×senchUG )Cordovaコトハジメ( Html5fun×senchUG )
Cordovaコトハジメ( Html5fun×senchUG )
 
Grunt入門
Grunt入門Grunt入門
Grunt入門
 
Spring native について
Spring native についてSpring native について
Spring native について
 
Nseg20120825
Nseg20120825Nseg20120825
Nseg20120825
 
Build 番号の自動更新スクリプトについて #cocoa_kansai
Build 番号の自動更新スクリプトについて #cocoa_kansaiBuild 番号の自動更新スクリプトについて #cocoa_kansai
Build 番号の自動更新スクリプトについて #cocoa_kansai
 
もろもろの AI ツールを Windows のローカル環境にインストールする手順
もろもろの AI ツールを Windows のローカル環境にインストールする手順もろもろの AI ツールを Windows のローカル環境にインストールする手順
もろもろの AI ツールを Windows のローカル環境にインストールする手順
 
ブラウザだけで学ぶWebアプリ開発
ブラウザだけで学ぶWebアプリ開発 ブラウザだけで学ぶWebアプリ開発
ブラウザだけで学ぶWebアプリ開発
 
Nseg20120929
Nseg20120929Nseg20120929
Nseg20120929
 
0621 ndk game
0621 ndk game0621 ndk game
0621 ndk game
 
3分間 開発環境クッキング 2012.07 #pyfes
3分間 開発環境クッキング 2012.07 #pyfes3分間 開発環境クッキング 2012.07 #pyfes
3分間 開発環境クッキング 2012.07 #pyfes
 
今すぐブラウザでES6を使おう
今すぐブラウザでES6を使おう今すぐブラウザでES6を使おう
今すぐブラウザでES6を使おう
 
【学習メモ#1st】12ステップで作る組込みOS自作入門
【学習メモ#1st】12ステップで作る組込みOS自作入門【学習メモ#1st】12ステップで作る組込みOS自作入門
【学習メモ#1st】12ステップで作る組込みOS自作入門
 
まっつんチャレンジ OSC出張編 45分でわかる PHP+Eclipseによるテスト駆動開発環境の構築
まっつんチャレンジ OSC出張編 45分でわかる PHP+Eclipseによるテスト駆動開発環境の構築まっつんチャレンジ OSC出張編 45分でわかる PHP+Eclipseによるテスト駆動開発環境の構築
まっつんチャレンジ OSC出張編 45分でわかる PHP+Eclipseによるテスト駆動開発環境の構築
 
Djangoのススメ
DjangoのススメDjangoのススメ
Djangoのススメ
 
ネットワークエンジニアのための Puppet / Chef
ネットワークエンジニアのための Puppet / Chefネットワークエンジニアのための Puppet / Chef
ネットワークエンジニアのための Puppet / Chef
 
今、話題のビルドツール gulp/Gruntを徹底解剖! ~ハンズオンで基礎から学ぶ、Web制作の味方 ビルドツール~
今、話題のビルドツール gulp/Gruntを徹底解剖! ~ハンズオンで基礎から学ぶ、Web制作の味方 ビルドツール~今、話題のビルドツール gulp/Gruntを徹底解剖! ~ハンズオンで基礎から学ぶ、Web制作の味方 ビルドツール~
今、話題のビルドツール gulp/Gruntを徹底解剖! ~ハンズオンで基礎から学ぶ、Web制作の味方 ビルドツール~
 
Node予備校 vol.1 名古屋
Node予備校 vol.1 名古屋Node予備校 vol.1 名古屋
Node予備校 vol.1 名古屋
 

今流行りのウェブアプリ開発環境Yeoman