33
HTML5 ビギナーのための AngularJS 2014.11.27

HTML5 ビギナーのための AngularJS

Embed Size (px)

DESCRIPTION

HTML5 ビギナー部で使用したスライドです

Citation preview

Page 1: HTML5 ビギナーのための AngularJS

HTML5 ビギナーのための

AngularJS 2014.11.27

Page 2: HTML5 ビギナーのための AngularJS

About me

!

金井 健一 / Kenichi Kanai !!!

@can_i_do_web !

Web先端技術味見部部長

AngularJS Japan User Group

Page 3: HTML5 ビギナーのための AngularJS

Now On Sale.

Page 4: HTML5 ビギナーのための AngularJS

Agenda

• About AngularJS

• Data Binding

• Template Engine

• Directive / Filter

• Conclusion

Page 5: HTML5 ビギナーのための AngularJS
Page 6: HTML5 ビギナーのための AngularJS

About AngularJS

• for Web Application

• Fullstack

• HTML enhanced

Page 7: HTML5 ビギナーのための AngularJS

Others

etc…

Page 8: HTML5 ビギナーのための AngularJS

Trends

Page 9: HTML5 ビギナーのための AngularJS

About AngularJS• Data Binding

• Template Engine

• Routing

• Ajax Support

• Test

• Security

• DI ( Dependency Injection )

• Service / Directive / Filter

Page 10: HTML5 ビギナーのための AngularJS

About AngularJS• Data Binding

• Template Engine

• Routing

• Ajax Support

• Test

• Security

• DI ( Dependency Injection )

• Service / Directive / Filter

今日はコレだけ!

Page 11: HTML5 ビギナーのための AngularJS

Data Binding

コレを

ココに

Page 12: HTML5 ビギナーのための AngularJS

Data Binding By jQuery <body>

<input type="text" id="someWord">

<p>Hello <span id=“greeting"></span></p>

</body>

$('#someWord').on('keyup', function(event){

var textBoxValue = $(this).val();

$('#greeting').html(textBoxValue);

});

JavaScript

HTML

Page 13: HTML5 ビギナーのための AngularJS

Data Binding By AngularJS <body>

<input type="text" ng-model=“greeting”>

<p>Hello <span ng-bind=“greeting”></span></p>

</body>

// no code.

JavaScript

HTML

Page 14: HTML5 ビギナーのための AngularJS

<ul> @for(order <- orders) { <li>@order.title</li> } </ul>

Template Engine

<ul> <% foreach ($this->data as $d): %> <li><%=$d[‘title']%> & <%=$d[‘description']%></li> <% endforeach %> </ul>

<ul> <% writers.each do |writer| %> <li><%= writer %></li> <% end %> </ul> Ruby on RailsPlay Framework

PHP

Page 15: HTML5 ビギナーのための AngularJS

Template Engine

Page 16: HTML5 ビギナーのための AngularJS

Template Engine

<ul>

<li ng-repeat=“person in list”>

<p ng-bind=“person”></p>

</li>

</ul>

AngularJS

Page 17: HTML5 ビギナーのための AngularJS

Template Engine <body>

<input type="text" ng-model=“myModel”>

<p>Hello <span ng-bind=“myModel”></span></p>

</body>

HTML の要素に カスタム属性 として定義

※ 一部、カスタム要素でも定義できたりする

HTML

Page 18: HTML5 ビギナーのための AngularJS

Service / Directive / Filter

• Directive

• AngularJS 流 カスタム要素・カスタム属性 ( 最初から70 個くらい用意されている!)

• Filter

• 表示項目の一時的なフィルタリングex)201411271930 -> 2014/11/27 19:30

超ざっくり!

Page 19: HTML5 ビギナーのための AngularJS

Service / Directive / Filter

Filter

Directive

Page 20: HTML5 ビギナーのための AngularJS

Service / Directive / Filter

<input type=“checkbox” ng-model=“checked”>

<p ng-show=“checked”>こんにちわ</p> <p ng-hide=“checked”>こんばんわ</p>

built-in-Directive

Page 21: HTML5 ビギナーのための AngularJS

Service / Directive / Filter

<div ng-init=“model = 123.456”>

<p ng-bind=“model | number: 1”></p>

</div>

Filter

123.5

Browser

Page 22: HTML5 ビギナーのための AngularJS

Service / Directive / Filter

それでも足りなければ作りましょう!

超ざっくり!

Page 23: HTML5 ビギナーのための AngularJS

Web Components

<x-twitter-button>

Page 24: HTML5 ビギナーのための AngularJS

Web Components

Page 25: HTML5 ビギナーのための AngularJS

Web Components

Page 26: HTML5 ビギナーのための AngularJS

Web Components

<x-twitter-button ( type=“tweet” )> default

<x-twitter-button type=“follow”>

<x-twitter-button type=“hashtag”>

<x-twitter-button type=“mention”>

Page 27: HTML5 ビギナーのための AngularJS

Web Components

<body> <header></header>

<x-user></x-user>

<x-trend></x-trend>

<x-timeline></x-timeline>

<x-recommend-user></x-recommend-user>

<footer></footer> </body>

Page 28: HTML5 ビギナーのための AngularJS

Web Components<header>

<x-user>

<x-trend><x-timeline>

<x-recommend

-user>

<footer>

Page 29: HTML5 ビギナーのための AngularJS

Web Components

Page 30: HTML5 ビギナーのための AngularJS

Web Components

AngularJS でWeb Components の予習ができる!

Page 31: HTML5 ビギナーのための AngularJS

Conclusion

• Data Binding が超簡単

• Template は HTML 拡張なのでわかりやすい

• Directive っていうカスタム要素・属性

• Filter 便利!

ビギナー向けまとめ

そこから先はまた別の機会に!

Page 32: HTML5 ビギナーのための AngularJS

Conclusion

AngularJS Japan User Group #ng_jp

わからないことがあれば!

Page 33: HTML5 ビギナーのための AngularJS

Thank you.

@can_i_do_web