angular.js & asp.net in study4

34
ASP.NET MVC遇見Angular.js MVC 講者:KYLE SHEN

Upload: kyle-shen

Post on 15-Jul-2015

173 views

Category:

Software


1 download

TRANSCRIPT

Page 1: Angular.js & ASP.NET in Study4

當ASP.NET MVC遇見Angular.js MVC講者:KYLE SHEN

Page 2: Angular.js & ASP.NET in Study4

關於我 Kyle (凱爾)

專注於Web應用程式ASP.NET(Webform & MVC) for C#、MS SQL、jQuery、Angular.js

ASP.NET微軟最有價值專家

藍色小舖ASP.NET版主

IT Home鐵人30天文章比賽

2014當ASP.NET MVC 遇見 Angular.js MVC 客戶管理系統

2013 ASP.NET開發小技巧

Blog –程式宅急便

Github : kyleap

Page 3: Angular.js & ASP.NET in Study4

今天會講什麼&得到什麼?

關於MVC

了解Angular.js與 jQuery開發上的差異性

實作開發了解Angular.js

ASP.NET Web API

得到一大堆的參考連結

本課程完整程式碼下載

售後服務

Page 4: Angular.js & ASP.NET in Study4

關於網頁前後端 & MVC

Asp

ASP.NET Webform

ASP.NET MVC

ASP.NET MVC & Angular.js

Controller

Controller(Web API)

View (Angular.js)

Page 5: Angular.js & ASP.NET in Study4

關於網頁前後端 & MVC

Asp

ASP.NET Webform

ASP.NET MVC

ASP.NET MVC & Angular.js

Controller

Controller(Web API)

View (Angular.js)

Page 6: Angular.js & ASP.NET in Study4

關於網頁前後端 & MVC

Asp

ASP.NET Webform

ASP.NET MVC

ASP.NET MVC & Angular.js

Controller

Controller(Web API)

View (Angular.js)

Page 7: Angular.js & ASP.NET in Study4

關於網頁前後端 & MVC

Asp

ASP.NET Webform

ASP.NET MVC

ASP.NET MVC & Angular.js

Controller

Controller(Web API)

View (Angular.js)

Page 8: Angular.js & ASP.NET in Study4

MVC到底好在哪?

關注點分離

易於維護

開發彈性

高度客製化

易於測試

Page 9: Angular.js & ASP.NET in Study4

jQuery 與 Angular.js

jQuery

已”DOM”的概念來操作

輕量級

簡單、直覺、學習曲線低

特效與動畫

套件非常多

Page 10: Angular.js & ASP.NET in Study4

jQuery 與 Angular.js

Angular.js

已”Model”的概念來操作

由Google推出,目前 1.3.X(Stable) 、2.0(Preview)

HTML Template

使用 {{ }}來做資料繫結

非常適合做CRUD,過於依賴操控DOM的網站不適合

Code會少很多,關注點分離變成很好維護

Page 11: Angular.js & ASP.NET in Study4

jQuery 與 Angular.js

一個簡單的jQuery例子…

HTML

JS

Page 12: Angular.js & ASP.NET in Study4

jQuery 與 Angular.js

One Way Binding

Page 13: Angular.js & ASP.NET in Study4

jQuery 與 Angular.js

Two Way Binding

Page 14: Angular.js & ASP.NET in Study4

Start Angular.js

怎麼開始?載入.js ,宣告 ng

<html ng-app>

……

</html>

<html ng-app="myapp"> … </html>

<script>

var app = angular. module("myapp", []);

</script>

Page 15: Angular.js & ASP.NET in Study4

Hello World & Two Way Binding

Demo

Page 16: Angular.js & ASP.NET in Study4
Page 17: Angular.js & ASP.NET in Study4

Controller

model 與view的橋樑

運作的邏輯寫在 Controller

前端的分層

Page 18: Angular.js & ASP.NET in Study4

Model (Scope )

Page 19: Angular.js & ASP.NET in Study4

Controller.Scope

Demo

Page 20: Angular.js & ASP.NET in Study4

Filter

過濾器可以使用一個管道字元 ”|”添加到運算式中。

甚至可以自訂過濾器

語法 描述

currency 格式化為貨幣格式。

filter 從陣列項中選擇一個子集。

lowercase 格式化字串為小寫。

orderBy 根據某個運算式排列陣列。

uppercase 格式化字串為大寫。

Page 21: Angular.js & ASP.NET in Study4

Directvies

讓Html變浩克

內建很多directive e.g ng-XXX

一樣可以自訂directive

Page 22: Angular.js & ASP.NET in Study4

Filter.Directives

Demo

Page 23: Angular.js & ASP.NET in Study4

Web API

Web API為RESTful風格介面

給我:GET (http://domain/api/customer/)

給我:GET(http://domain/api/customer/id)

新增:POST (http://domain/api/customer/)

更新:PUT (http://domain/api/customer/)

刪除:DELETE (http://domain/api/customer/)

Page 24: Angular.js & ASP.NET in Study4

Angular.js 如何跟API溝通

$http.get

$http.head

$http.post

$http.put

$http.delete

$http.jsonp

$http.patch

Page 25: Angular.js & ASP.NET in Study4

Angular.js 如何跟API溝通($resource)

專門為RESTful API做設計

方便幫我們處理CRUD

需載入ngResource模組

Page 26: Angular.js & ASP.NET in Study4

完成一個前端+後端CRUD範例….

Demo

Page 28: Angular.js & ASP.NET in Study4
Page 29: Angular.js & ASP.NET in Study4

語法通通不一樣

Page 30: Angular.js & ASP.NET in Study4

Angular.js 2.0

基本上可以當成不同的Freamwork

引進ES6語法

效能大大改善

Components元件概念 vs (React.js)

完全改用 TypeScript開發

睡一覺起來,有可能這個世界就不一樣了

Page 31: Angular.js & ASP.NET in Study4

結論

學習曲線較jQuery長

jQuery專案翻成Angular.js後,專案好維護很多

Angular在大型系統要小心效能問題

相依性注入(Dependency Injection)能方便切換模組

Angular.js易於測試 (Protractor)

要玩前端請愛用瀏覽器開發工具(Chome.Firefox)

ASP.NET MVC的View(Razor)幾乎很少用了

評估技術前,個人會先考慮“彈性”

不要孤單的打程式

Page 32: Angular.js & ASP.NET in Study4

References

官網 Document https://code.angularjs.org/1.3.15/docs/api

Angular.js中文社區 http://www.angularjs.cn/tag/AngularJS

Angular.js中文網 http://angularjs.apjs.net/

Angular.js Hub http://www.angularjshub.com/

英文夠好的話 https://github.com/jmcunningham/AngularJS-

Learning/blob/master/ZH-TW.md

Page 33: Angular.js & ASP.NET in Study4

References

https://www.youtube.com/user/angularjs

慕課網 http://www.imooc.com/course/list?c=angularjs

Code Project

http://www.codeproject.com/Articles/810892/Building-a-Kanban-board-

application-using-AngularJ

http://www.codeproject.com/Articles/832288/CRUD-with-SPA-ASP-NET-

Web-API-and-Angular-js

http://weblogs.asp.net/dwahlin/learning-angularjs-by-example-the-

customer-manager-application (推薦)

Page 34: Angular.js & ASP.NET in Study4

Q & Ahttp://ppt.cc/uMnT

別忘了填寫您寶貴的意見!