56
Microsoftí technologie pro webový vývoj Borek Bernard www.borber.com Aleš Roubíček www.rarous.net

ASP.NET 3.5 / futures

Embed Size (px)

Citation preview

Page 1: ASP.NET 3.5 / futures

Microsoftí technologie pro webový vývoj

Borek Bernard www.borber.com

Aleš Roubíčekwww.rarous.net

Page 2: ASP.NET 3.5 / futures

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
Page 3: ASP.NET 3.5 / futures

Prototyp „XSP“ naprogramova

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

pomocí Javy

1997

Page 4: ASP.NET 3.5 / futures

První beta verze Přejmenováno

na ASP+ … a po

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

1997 2000

Page 5: ASP.NET 3.5 / futures

ASP.NET 1.0ScottGu se

stává Product Unit Managerem

1997 2000 2002

Page 6: ASP.NET 3.5 / futures

Vlastnosti ASP.NET: model web forms ASMX web

services silná podpora OOP výkon

1997 2000 2002

Page 7: ASP.NET 3.5 / futures

ASP.NET 1.1 Visual

Studio .NET 2003

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

1997 2000 20022003

Page 8: ASP.NET 3.5 / futures

ASP.NET 2.0 Významné

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

základ dodnes

1997 2000 20022003 2005

Page 9: ASP.NET 3.5 / futures

novinky v ASP.NET 2.0: Master Pages, Web

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

1997 2000 20022003 2005

Page 10: ASP.NET 3.5 / futures

ASP.NET 3.5 Visual

Studio 2008 C# 3.0, VB9 ScottGu vice

president

1997 2000 20022003 2005 2007/8

Page 11: ASP.NET 3.5 / futures

ASP.NET 3.5: AJAX integrace s

IIS7 nové controly

(ListView) Agilní vývoj

1997 2000 20022003 2005 2007/8

Page 12: ASP.NET 3.5 / futures

ASP.NET 3.5 SP1 Dynamic Data URL routing Podpora Entity

Frameworku

1997 2000 20022003 2005 2008

Page 13: ASP.NET 3.5 / futures
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...
Page 14: ASP.NET 3.5 / futures

ASP.NET

Konfigurace

Membership API

IIS

Přístup k datům

Visual StudioDeployment

DebuggingCachování

Page 15: ASP.NET 3.5 / futures

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

Page 16: ASP.NET 3.5 / futures

Komponentový přístup k tvorbě aplikací

Page 17: ASP.NET 3.5 / futures

HTML

Flex

WPF

ASP.NET

Page 18: ASP.NET 3.5 / futures

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

Page 19: ASP.NET 3.5 / futures

Je jich celá řada O nich později

Page 20: ASP.NET 3.5 / futures

Ukázka

Page 21: ASP.NET 3.5 / futures

Oživujeme nejen komponenty

Page 22: ASP.NET 3.5 / futures

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

komponentyKonzumace a tvorba webových

služeb

Page 23: ASP.NET 3.5 / futures

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

Page 24: ASP.NET 3.5 / futures

<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>

Page 25: ASP.NET 3.5 / futures

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

Page 26: ASP.NET 3.5 / futures

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

Page 27: ASP.NET 3.5 / futures

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

Page 28: ASP.NET 3.5 / futures

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

Snadná konzumace REST XmlHttpRequest HttpWebRequest

Page 29: ASP.NET 3.5 / futures

Ukázka

Page 30: ASP.NET 3.5 / futures

Rychlá tvorba administračních rozhraní

Page 31: ASP.NET 3.5 / futures

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

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

databázi

Page 32: ASP.NET 3.5 / futures

Ukázka

Page 33: ASP.NET 3.5 / futures

Zjednodušený model stránky

Page 34: ASP.NET 3.5 / futures

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

PostBack model závislý na JavaScriptu

ViewStateGenerovaná klientská ID„Leaky abstraction“

ASP.NET MVC

Page 35: ASP.NET 3.5 / futures

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

Page 36: ASP.NET 3.5 / futures

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

Page 37: ASP.NET 3.5 / futures

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

Page 38: ASP.NET 3.5 / futures

Ukázka

Page 39: ASP.NET 3.5 / futures

Na co se těšit

Page 40: ASP.NET 3.5 / futures

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í

Page 41: ASP.NET 3.5 / futures

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

VisualBasic… Integrace jQuery

Page 42: ASP.NET 3.5 / futures

URL routingLepší podpora CSSKontrola nad ClientID a ViewStateAJAXDynamicImage control

Page 43: ASP.NET 3.5 / futures

Scaffolding pro MVC (integrace Dynamic Data)

Page 44: ASP.NET 3.5 / futures
Page 45: ASP.NET 3.5 / futures
Page 46: ASP.NET 3.5 / futures

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

přenositelnost znalostí QA

Page 47: ASP.NET 3.5 / futures

„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

Page 48: ASP.NET 3.5 / futures

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

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

Page 49: ASP.NET 3.5 / futures

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

Page 50: ASP.NET 3.5 / futures

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

vyberte si, který vám vyhovuje

Page 51: ASP.NET 3.5 / futures

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

…?

Page 52: ASP.NET 3.5 / futures

Visual Web Developer Express - zdarma nebo plné Visual Studio

Page 53: ASP.NET 3.5 / futures

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

…) podpora pro PHP (!!)

Page 54: ASP.NET 3.5 / futures

Web Applications Installer

Page 55: ASP.NET 3.5 / futures
Page 56: ASP.NET 3.5 / futures