31
Create Web App with and Web API ZZ BC#9 SKILLS UPDATE V2 CHALERMPON AREEPONG (NINE) ASP.NET & MVC DEVELOPERS THAILAND GROUP

Build your website with angularjs and web apis

Embed Size (px)

DESCRIPTION

Zubzib Black Coffee #9 Skills Update v2 https://www.facebook.com/events/178407509027964/

Citation preview

Page 1: Build your website with angularjs and web apis

Create Web App with

and Web APIZZ BC#9 SKILLS UPDATE V2

CHALERMPON AREEPONG (NINE)

ASP.NET & MVC DEVELOPERS THAILAND GROUP

Page 2: Build your website with angularjs and web apis

Agenda

Introduce

AngularJS Overview

Directive

Controller

Module

Filter

Service

Web APIs

Final Demo

Page 3: Build your website with angularjs and web apis

INTRODUCE

Page 4: Build your website with angularjs and web apis

Evolutions of ASP.NET Web Form

ASP.NET 1.0, 1.1

use server script tag, HTML, CSS, JavaScript

ASP.NET 2.0

Code-Behind (C#, VB, etc.) very popular.

ASP.NET Ajax Extension 1.0

ASP.NET 3.5

Integrated ASP.NET Ajax Library 3.5 in .NET Framework

ASP.NET 3.5 SP1 introduce ASP.NET MVC 1.0

Page 5: Build your website with angularjs and web apis

Click Add Item Row to Table and

Save DataREQUIREMENT

Page 6: Build your website with angularjs and web apis

Web Form Way

Asp.net Page

Click Add Postback

Process with C#/VB code behind

Binding markup control

Response

Loop to finish

Click Save Postback

Response HTML

Page 7: Build your website with angularjs and web apis

MVC @Html Helper Way

HTML

Click Add Form Get/Post

Process C#/VB Controller

cshtml, vbhtml + Razor + @Html Helper

Response

Loop until finish

Click Save form Get/Post

Response HTML

Page 8: Build your website with angularjs and web apis

JQuery + Ajax Way

Html

Click Add call JavaScript template

Add table row to table

Click Save -> Ajax get/post to Web Server

Response json

Page 9: Build your website with angularjs and web apis

AngularJS Way

HTML + Angular directive

Click Add -> Angular Controller

Click Save Get/Post to Web Server

Response JSON

Page 10: Build your website with angularjs and web apis

Demo

Page 11: Build your website with angularjs and web apis

OVERVIEW ANGULARJS

Page 12: Build your website with angularjs and web apis

Quick Start

Reference AngularJS script to Html page

<script src="scripts/angular.min.js"></script>

Declare directive ng-app to root of application scope in DOM

<html ng-app="myApp">

Page 13: Build your website with angularjs and web apis

Quick Start

Use ng-init to declare and initial the model and values

<body ng-init=" model = { name = '', age = 0 } ">

Use ng-model to bind value of model with specific html input

<input type="text" ng-model="model.name"/>

<input type="number" ng-model="model.age"/>

Page 14: Build your website with angularjs and web apis

Quick Start

Use {{ }} to display value from model property or function

<p> Name : {{model.name}}, Age : {{model.age}} </p>

Page 15: Build your website with angularjs and web apis

How to handle values change in

JQuery

This for tracking 1 property change

Too much code

Page 16: Build your website with angularjs and web apis

Introduce AngularJS

HTML Enhanced for Web Apps!

MVC Yes

MVVM Close to

Page 17: Build your website with angularjs and web apis

Controller

Is a JavaScript Object or Function

Always include $scope parameter

Contains JavaScript Models (POJO) and Functions

Working with ng-controller directive

<div ng-controller="DemoFirstCtrl"></div>

function DemoFirstCtrl($scope) {

$scope.model = { name : '', age : 0 };

}

Page 18: Build your website with angularjs and web apis

$scope

Scope as Data-Model

The glue between application controller and the view

Both controllers and directives have reference to the scope, but not

to each other.

Page 19: Build your website with angularjs and web apis

Module

Bootstrapped Application

Package all code(controller, filter, directive. Service) in module

Unit Testing

Page 20: Build your website with angularjs and web apis

Demo Controller

Page 21: Build your website with angularjs and web apis

Filters

Format value to display

Use for filter value

Allow to create custom filter

Page 22: Build your website with angularjs and web apis

Demo Filter

Page 23: Build your website with angularjs and web apis

Directives

Kinds of Directive

E - Element name: <my-directive></my-directive>

A - Attribute: <div my-directive="exp"> </div>

C - Class: <div class="my-directive: exp;"></div>

M - Comment: <!-- directive: my-directive exp -->

More Built-in Directives

Allow to create custom directive

Page 24: Build your website with angularjs and web apis

Demo Directive

Page 25: Build your website with angularjs and web apis

Service

$window window object

$location window.location object

$http $http(), get(), post(), put(), delete(), head(), jsonp()

$animate animation module

Etc…..

Page 26: Build your website with angularjs and web apis

Demo Service

Page 27: Build your website with angularjs and web apis

Dependency Injection

No present

Page 28: Build your website with angularjs and web apis

Unit Test

No present

Page 29: Build your website with angularjs and web apis

ASP.NET WEB APIs 2.0

What’s new!

Attribute Routing

CORS

OWIN

IHttpActionResult

OData

Page 30: Build your website with angularjs and web apis

Final Demo

Page 31: Build your website with angularjs and web apis

Summary

http://www.angularjs.org

http://ngmodules.org/

http://egghead.io/

http://www.asp.net/web-api