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

HTML5 ビギナーのための AngularJS

Jul 07, 2015

Download

Technology

Kenichi Kanai

HTML5 ビギナー部で使用したスライドです
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
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