ASP.NET 3.5 / futures

Preview:

Citation preview

Microsoftí technologie pro webový vývoj

Borek Bernard www.borber.com

Aleš Roubíčekwww.rarous.net

ASP.NET = webová technologie Microsoftu

Borek Bernard
Před zobrazením slidu oťuknout publikum - jsou tam lidi, co asp.net vůbec neznají? Jsou tam profi vývojáři?
Borek Bernard
Zmínit Silverlight a že to bude další přednáška

Prototyp „XSP“ naprogramova

l Scott Guthrie přes vánoční svátky

pomocí Javy

1997

První beta verze Přejmenováno

na ASP+ … a po

vytvoření marketingové značky .NET na ASP.NET

1997 2000

ASP.NET 1.0ScottGu se

stává Product Unit Managerem

1997 2000 2002

Vlastnosti ASP.NET: model web forms ASMX web

services silná podpora OOP výkon

1997 2000 2002

ASP.NET 1.1 Visual

Studio .NET 2003

dolaďuje se řada základních věcí

1997 2000 20022003

ASP.NET 2.0 Významné

změny v .NET frameworku CLR 2.0 tvoří

základ dodnes

1997 2000 20022003 2005

novinky v ASP.NET 2.0: Master Pages, Web

Parts Automatická kompilace Podpora XHTML Themes, Skins Navigace, SiteMap Membership, Profiles

1997 2000 20022003 2005

ASP.NET 3.5 Visual

Studio 2008 C# 3.0, VB9 ScottGu vice

president

1997 2000 20022003 2005 2007/8

ASP.NET 3.5: AJAX integrace s

IIS7 nové controly

(ListView) Agilní vývoj

1997 2000 20022003 2005 2007/8

ASP.NET 3.5 SP1 Dynamic Data URL routing Podpora Entity

Frameworku

1997 2000 20022003 2005 2008

Borek Bernard
Pokud bude čas, předělat obrázek. Odstranit Mobile Internet Toolkit, případně ho jen zmínit slovně
rarous
Mobile Toolkit bych vytáhnul, je to něco s čím teď Seznam růluje...

ASP.NET

Konfigurace

Membership API

IIS

Přístup k datům

Visual StudioDeployment

DebuggingCachování

ASP.NETWPF WCF WF LINQ

Languageslambd

a výrazy

Ruby

var(type

inference)

extension

methods

anonymní typy

LINQ

XML literály

Python

System.AddIn

JSON serialization

System.Diagnostics.Eventing

Core

Komponentový přístup k tvorbě aplikací

HTML

Flex

WPF

ASP.NET

komponenty jsou inteligentní samy si určují, jak se vyrenderují▪ mohou generovat různý výstup pro různé

klientykomponenty jsou znovupoužitelnéžádný „spaghetti-code“událostmi řízené programováníschovávají bezstavovost HTTPsilná podpora v nástrojích

Je jich celá řada O nich později

Ukázka

Oživujeme nejen komponenty

OpenAJAXServerová a klientská částSnadné navázání na serverové

komponentyKonzumace a tvorba webových

služeb

Klientské komponenty Podpora šablonování DataBinding

Deklarativní skriptování (xmlns)CSS selektory Integrace jQuery

Integrální součást ASP.NET Plná podpora ve Visual Studiu

(Intellisense) Patche od MS, Support

<body xmlns:sys="javascript:Sys" xmlns:dv="javascript:Sys.UI.DataView"> <div id="tripList" sys:attach="dv" dv:data="{{myData}}" dv:template="{{$get('template2')}}"></div> <div id="template2" class="sys-template" xmlns:ac="javascript:Sys.UI.AutoComplete" xmlns:wm="javascript:Sys.UI.Watermark" xmlns:dp="javascript:Sys.UI.DatePicker"> <input type="text" value="{Binding airport, mode=twoWay}" sys:id="{{ 'airport' + $index }}" sys:attach="ac,wm" ac:serviceUrl="airportList.asmx" ac:minimumPrefixLength="{{1}}" wm:text="Type the name of an airport" /> <input type="text" value="{Binding flight, mode=twoWay}" sys:id="{{ 'flight' + $index }}" /> <input type="text" value="{Binding date, mode=twoWay}" sys:id="{{ 'date' + $index }}" sys:attach="dp" dp:lowerBound="{{ new Date(1970, 4, 21) }}" dp:upperBound="{{ new Date(2050, 1, 1) }}" /> </div></body>

Přístup k datům pomocí REST služeb

Patří do rodiny ADO.NET - přístup k datům

Framework pro snadnou tvorbu REST služeb

Primárně staví nad Entity Frameworkema WCF

Podpora JSON a ATOM

Dotazování GET parametr $filter /Orders?$filter=Customers/CustomerID eq 'ALFKI' or Customers/CustomerID eq 'WOLZA'

Klientské knihovny MS AJAX MS Silverlight Service Reference ve Visual Studiu

Snadná konzumace REST XmlHttpRequest HttpWebRequest

Ukázka

Rychlá tvorba administračních rozhraní

Čerstvý přírůstek do rodiny ASP.NET .NET 3.5 SP1

Pro tvorbu „data-driven“ webů typicky administrační rozhraní pro

databázi

Ukázka

Zjednodušený model stránky

Komplikovaný sled událostí („page lifecycle“)

PostBack model závislý na JavaScriptu

ViewStateGenerovaná klientská ID„Leaky abstraction“

ASP.NET MVC

Ruší událostmi řízený model stránky Přináší:

Starý známý Model-View-Controller Dokonalá kontrola nad odesílaným HTML URL routing Volitelné ViewEngines Mockovatelné třídy Snazší testovatelnost

… při zachování většiny výhod ASP.NET

Větší pracnostNulový ekosystém komponentRiziko spaghetti kódu

Microsoft vyvíjí a podporuje oba modely

Každý si může vybrat, co mu vyhovuje

Každý se hodí na něco jiného

Web Forms a MVC budou koexistovat

Ukázka

Na co se těšit

Obecný trend: postupná integrace technologií vydávaných v „preview“ verzích AJAX preview ASP.NET 3.5 Dynamic Data: preview ASP.NET 3.5 SP1 MVC: preview ASP.NET 4.0

Pro .NET 4 se neočekává žádná další převratná technologie spíše řada menších a velmi užitečných

vylepšení

Podpora dynamických jazyků IronPython, IronRuby, JScript,

VisualBasic… Integrace jQuery

URL routingLepší podpora CSSKontrola nad ClientID a ViewStateAJAXDynamicImage control

Scaffolding pro MVC (integrace Dynamic Data)

Součást .NETu rozsáhlý framework výkonné běhové prostředí výběr programovacích jazyků▪ statické▪ dynamické

přenositelnost znalostí QA

„Tak akorát“ rychlý vývoj nových verzí major release každé 2-3 roky mezitím několik menších vylepšení preview verze pro early adoptery

Visual Studio plus řada doplňků třetích stran

(Resharper, CodeRush , TDD.net…)Express edice zdarma

Rozsáhlý ekosystém komponent open source komerční

Podpora více modelů vývoje web forms MVC home-grown third-party (MonoRail)

vyberte si, který vám vyhovuje

Vazba na Windows Server (IIS) horší dostupnost hostingů

…?

Visual Web Developer Express - zdarma nebo plné Visual Studio

Web Platform Installer - nainstaluje vše, snadno a rychle VWD Express SQL Server Express IIS7 volitené IIS moduly (URL rewrite, ARR,

…) podpora pro PHP (!!)

Web Applications Installer

Recommended