37
Grégory Renard Aurélien Verla CTO Wygwam Expert .NET Wygwam [email protected] [email protected] Développer des interfaces riches avec Microsoft Ajax Library et ASP.NET 2.0 - Part 1

Vous montrer que ASP.NET AJAX Ext. est La continuité de ce que vous avez toujours réalisé Simple à comprendre Puissant et facile à utiliser Vous montrer

Embed Size (px)

Citation preview

Page 1: Vous montrer que ASP.NET AJAX Ext. est La continuité de ce que vous avez toujours réalisé Simple à comprendre Puissant et facile à utiliser Vous montrer

Grégory Renard Aurélien VerlaCTO Wygwam Expert .NET [email protected] [email protected]

Développer des interfaces riches avec Microsoft Ajax Library et ASP.NET 2.0 - Part 1

Page 2: Vous montrer que ASP.NET AJAX Ext. est La continuité de ce que vous avez toujours réalisé Simple à comprendre Puissant et facile à utiliser Vous montrer

Objectifs

Vous montrer que ASP.NET AJAX Ext. est

La continuité de ce que vous avez toujours réalisé Simple à comprendrePuissant et facile à utiliser

Vous montrer comment développer avec ASP.NET AJAX Ext au terme de cette session !

Page 3: Vous montrer que ASP.NET AJAX Ext. est La continuité de ce que vous avez toujours réalisé Simple à comprendre Puissant et facile à utiliser Vous montrer

De l’expertise .NET à votre service !

Expertise et expérience unique sur la plate-forme Microsoft .NET Développement de projets avant-gardistes et d’envergureCoaching/Formation « on the job » par nos expertsSolutions pour la productivité des développeursVotre veille technologique / pôle R&DContactez-nous pour vos projets :

Vista, Office 07, Live, Gadgets, Web 2.0, .NET 3.0, WPF, WCF, WF,MOSS – WSS V3

Nos Experts Votre satisfaction !

www.wygwam.com

Page 4: Vous montrer que ASP.NET AJAX Ext. est La continuité de ce que vous avez toujours réalisé Simple à comprendre Puissant et facile à utiliser Vous montrer

De la passion communautaire .NET

7 Bloggeurs Technologiques6 Auteurs de livres6 Speakers Events MS et non MSImplication communautaire forte6 Rédacteurs dans la presse spécialiséeImplication au sein de l’INETAImplication UserGroup : FxUserGroupUne équipe de Wyggeurs :

4 Microsoft Most Valuable Professional1 Microsoft Regional Director2 Microsoft Student Partner (MSP)

Notre implicationVotre satisfaction !

www.wygwam.com

Page 5: Vous montrer que ASP.NET AJAX Ext. est La continuité de ce que vous avez toujours réalisé Simple à comprendre Puissant et facile à utiliser Vous montrer

Agenda

Qu‘est-ce qu‘AJAX ?Microsoft‘s AJAX Framework

PrésentationArchitectureASP.NET 2.0 AJAX ExtensionsMicrosoft AJAX LibraryASP.NET AJAX Control ToolkitRoadmap

Page 6: Vous montrer que ASP.NET AJAX Ext. est La continuité de ce que vous avez toujours réalisé Simple à comprendre Puissant et facile à utiliser Vous montrer

Découverte de l‘AJAX

Page 7: Vous montrer que ASP.NET AJAX Ext. est La continuité de ce que vous avez toujours réalisé Simple à comprendre Puissant et facile à utiliser Vous montrer

1997

2002

Plain ASPASP.NET 1.x

Une continuité constante

Respecte ce que vous avez toujours faitJuste une prolongationPermet « The extra mile »

2005

ASP.NET 2.0

2007

ASP.NET 2.0+ AJAX Ext

Page 8: Vous montrer que ASP.NET AJAX Ext. est La continuité de ce que vous avez toujours réalisé Simple à comprendre Puissant et facile à utiliser Vous montrer

Introduction à Ajax

Ajax = Asynchronous Javascript and XML

Ajax n'est pas nouvelle une technologie !

Il emploie Les classiques HTML/CSS Un simple DOM /Javascript Classique XML / XSLT / XMLHttp Request

Vous pourriez l'avoir fait vous-même ! ; -)

Page 9: Vous montrer que ASP.NET AJAX Ext. est La continuité de ce que vous avez toujours réalisé Simple à comprendre Puissant et facile à utiliser Vous montrer

Support Multi-browser

Compatible sur plusieurs navigateursInternet Explorer 4.0 +Apple Safari 1.2 +Mozilla Firefox 1.0 +Netscape 7.1 +Opera 7.6 +…

Juste une technologie classique des navigateurs d'aujourd'hui rendue plus accessible !

Page 10: Vous montrer que ASP.NET AJAX Ext. est La continuité de ce que vous avez toujours réalisé Simple à comprendre Puissant et facile à utiliser Vous montrer

Le processus d’Ajax

Page*.aspx

ServerBrowser

Page Load

Asynchrone call

Classe IHttpHandler

*.ashx

Server Response

PageLoaded

XMLHttp-Request

PartialUpdating

Page 11: Vous montrer que ASP.NET AJAX Ext. est La continuité de ce que vous avez toujours réalisé Simple à comprendre Puissant et facile à utiliser Vous montrer

Exemple d’une App ASP.NET AJAX

www.techheadbrothers.com

Page 12: Vous montrer que ASP.NET AJAX Ext. est La continuité de ce que vous avez toujours réalisé Simple à comprendre Puissant et facile à utiliser Vous montrer

Exemple d’une App ASP.NET AJAX

http://www.guidetele.com

Page 13: Vous montrer que ASP.NET AJAX Ext. est La continuité de ce que vous avez toujours réalisé Simple à comprendre Puissant et facile à utiliser Vous montrer

Découverte d‘ASP.NET AJAX Ext

Page 14: Vous montrer que ASP.NET AJAX Ext. est La continuité de ce que vous avez toujours réalisé Simple à comprendre Puissant et facile à utiliser Vous montrer

Qu’est ce que l’ASP.NET AJAX?

Plus grande productivité du développement AJAXPeu de lignes de code Application et UI construits en module sur des scénarios communsExtension d‘ASP.NET 2.0

Facile à écrire, à corriger et modifierSeparation claire du contenu, des styles et de votre codeTrès bien intégré grace à des outils de designer et developpement

Complètement intégré dans vos modèles d’applications

Dans la lignée des pages ASP.NET et des contrôles serveurPermet l’accès aisé aux WebServices et composants

Basé sur les standards : Fonctionne en Cross-Browser

Un framework permettant de construire des applicationsplus riche, plus interactive en utilisant les standards du web

Page 15: Vous montrer que ASP.NET AJAX Ext. est La continuité de ce que vous avez toujours réalisé Simple à comprendre Puissant et facile à utiliser Vous montrer

Sharing Application Business Logic

PrivéCouche donnée

CoucheInterface

utilisateur

CouchePrésentation

Vue

Procédurestoquée

IISHTMLWebClient ASP

.NET

BusinessLogic

Component

PublicCouche métier

IIS

XML WebService

BusinessLogic

Component

BusinessLogic

Component

BusinessFacade

Component

Session-State

Offline Cache

SmartClient

ASP.NET AJAX

Page 16: Vous montrer que ASP.NET AJAX Ext. est La continuité de ce que vous avez toujours réalisé Simple à comprendre Puissant et facile à utiliser Vous montrer

Créez votre premier projet Web en ASP.NET AJAX

Page 17: Vous montrer que ASP.NET AJAX Ext. est La continuité de ce que vous avez toujours réalisé Simple à comprendre Puissant et facile à utiliser Vous montrer

Architecture d‘ASP.NET AJAX

Page 18: Vous montrer que ASP.NET AJAX Ext. est La continuité de ce que vous avez toujours réalisé Simple à comprendre Puissant et facile à utiliser Vous montrer

ASP.NET AJAX Architecture

ASP.NET AJAX Client Framework & Services

ASP.NET AJAX-enabled

ASP.NET Pages

Web Services(ASMX or WCF)

HTML, Script,ASP.NET AJAX

Markup

ASP.NET AJAXServiceProxies

ASP.NET AJAX Server Framework

ASP.NET 2.0ASP.NET 2.0

Application Services

Application Services

Page Framework,

Server Controls

Page Framework,

Server Controls

ASP.NET AJAX Server ExtensionsASP.NET AJAX Server Extensions

ASP.NET AJAX

Server Controls

ASP.NET AJAX

Server Controls

App Services Bridge

App Services Bridge

Web Services Bridge

Web Services Bridge

Microsoft AJAX Library(Client Script Library)Microsoft AJAX Library(Client Script Library)

Controls, Components

Controls, Components

Script CoreScript Core

Base Class LibraryBase Class Library

Component Model and UI FrameworkComponent Model and UI Framework

Browser Compatibility

Browser Compatibility

ASP.NET AJAX Client App Services

ASP.NET AJAX Client App Services

Local StoreLocal Store

BrowserIntegratio

n

BrowserIntegratio

n

Page 19: Vous montrer que ASP.NET AJAX Ext. est La continuité de ce que vous avez toujours réalisé Simple à comprendre Puissant et facile à utiliser Vous montrer

Scenarios: ASP.NET AJAX

Developpement Ajax coté serveurEnrichissement de vos interfaces par des contrôles serveur AJAXVos applications Web 2.0 en écrivant un minimum de JavascriptPréserve votre logique de développement serveur (VB/C#)

Developpement Ajax coté clientUtilisez la puissance des script/DHTMLExpérience utilisateur encore plus riche et interactiveConstruisez des application Mash-Up, des Gadgets, et bien d’autres expériences Web 2.0

Page 20: Vous montrer que ASP.NET AJAX Ext. est La continuité de ce que vous avez toujours réalisé Simple à comprendre Puissant et facile à utiliser Vous montrer

ASP.NET 2.0 AJAX Extensions

Modèle de programmation coté serveur

Page 21: Vous montrer que ASP.NET AJAX Ext. est La continuité de ce que vous avez toujours réalisé Simple à comprendre Puissant et facile à utiliser Vous montrer

De nouveau contrôle serveur

Le contrôle <asp:UpdatePanel>Contrôle de type “container” permettant de déterminer une région “updatable”ASP.NET AJAX distribue l’infrastructure du PostBack XmlHttp

Some non-updatable content and controls...<asp:UpdatePanel id=“u1” runat=“server”> <ContentTemplate> This content can be dynamically updated! <asp:label id="Lablel1” runat=“server”/> <asp:button id=“button1” text=“Push Me!” runat=“server”/> <ContentTemplate></asp:UpdatePanel>More non-updatable content and controls...

Défini le comportement client des composants et éléments serveursGénère les scripts clients nécessaires

Page 22: Vous montrer que ASP.NET AJAX Ext. est La continuité de ce que vous avez toujours réalisé Simple à comprendre Puissant et facile à utiliser Vous montrer

<asp:UpdateProgress>

Distribue un statut d’attente lors d’attente de réponse serveurPermet de mentionner l’attente à l’utilisateurPermet à l’utilisateur d’annuler une requêteUpdateProgress peut être placé où vous le souhaitez

<asp:UpdatePanel id=“u1” mode=“Conditional” runat=“server”> <ContentTemplate> <asp:gridview id=“GridView1” runat=“server”> ... </asp:gridview> </ContentTemplate></asp:UpdatePanel> <asp:UpdateProgress> <ProgressTemplate> <div class="updateprogress"> <img src="images/progress_animation.gif" /> Updating... <asp:linkbutton id=“abortButton” text=“Cancel” runat=“server”/> </div> </ProgressTemplate></asp:UpdateProgress>

Page 23: Vous montrer que ASP.NET AJAX Ext. est La continuité de ce que vous avez toujours réalisé Simple à comprendre Puissant et facile à utiliser Vous montrer

"AJAXification" d’une application ASP.NET 2.0

Page 24: Vous montrer que ASP.NET AJAX Ext. est La continuité de ce que vous avez toujours réalisé Simple à comprendre Puissant et facile à utiliser Vous montrer

Microsoft AJAX Library

Modèle de developpement coté client

Page 25: Vous montrer que ASP.NET AJAX Ext. est La continuité de ce que vous avez toujours réalisé Simple à comprendre Puissant et facile à utiliser Vous montrer

ASP.NET AJAX Client Script Library”Script Core” et “Base Class Library”Framework de Script puissant

Types System riches et bibliothèque de pour JavascriptModèle composant et Framework UIAccès aux données et Databinding client

Intégré au modèle de développement serveurConsommez des WebServices depuis votre BrowserScripts d’accès à des applications de servicesScript access to ASP.NET Application Services ASP.NET Bridges pour services hors domaines

ASP.NET AJAXClient Script LibraryASP.NET AJAXClient Script Library

Controls and ComponentsControls and Components

Script CoreScript Core

Base Class LibraryBase Class Library

Component Model and UI Framework

Component Model and UI Framework

Browser CompatibilityBrowser Compatibility

Page 26: Vous montrer que ASP.NET AJAX Ext. est La continuité de ce que vous avez toujours réalisé Simple à comprendre Puissant et facile à utiliser Vous montrer

ASP.NET AJAX Client Script Library Sys.Net : Gestion du Networking

XMLHTTP – Variations dans vos BrowsersCouche de communication cliente basée sur XMLHTTP

WebRequest, WebResponse, MethodRequest classes

ASP.NET AJAX Web Services BridgeAccédez à des services hébergés ASP.NET

ASMX et WCF services, .NET objects, ASP.NET page-level services

Formats légers : Javascript Object Notation (JSON) et REST<script src=“MyService.asmx/js”/>

<script> function onLoad() { MyService.GetItemsByName(Text1.value, onComplete); } function onComplete(results) { $(‘ResultsDataSource’).set_data(results); }</script>

Génération automatique d‘un

proxy client

Page 27: Vous montrer que ASP.NET AJAX Ext. est La continuité de ce que vous avez toujours réalisé Simple à comprendre Puissant et facile à utiliser Vous montrer

Consommer un webservice depuis ASP.NET AJAX

Page 28: Vous montrer que ASP.NET AJAX Ext. est La continuité de ce que vous avez toujours réalisé Simple à comprendre Puissant et facile à utiliser Vous montrer

ASP.NET AJAX Control Toolkit

Etendre AJAX

Page 29: Vous montrer que ASP.NET AJAX Ext. est La continuité de ce que vous avez toujours réalisé Simple à comprendre Puissant et facile à utiliser Vous montrer

ASP.NET AJAX: Contrôles Extender

Etend vos contrôles ASP.NET avec des comportements AJAX

Blocs fonctionnels interactifs réutilisablesEn mode déclaratif ou en mode codeDrag-and-drop, Tooltips, Popups, Auto-complete

Exemple: <ajaxToolkit:AutoCompleteExtender>Active l’auto-completion sur un TextboxCommunique avec un .asmx et WCF (ASP.NET AJAX JSON bridge)

<asp:textbox id=“CustomerSearch” runat=“server”/>

<ajaxToolkit:AutoCompleteExtender ID="AutoComplete" runat="server"> <asp:AutoCompleteProperties Enabled="true" ServiceMethod="GetCustomerName" ServicePath="~/CustomerService.asmx" TargetControlID="CustomerSearch" />

Page 30: Vous montrer que ASP.NET AJAX Ext. est La continuité de ce que vous avez toujours réalisé Simple à comprendre Puissant et facile à utiliser Vous montrer

ASP.NET AJAX Contrôles Toolkit

Ensemble de ScenariosPour les développeurs Serveur ASP.NET

Enrichie l‘expérience utilisateur sans apprendre de JavaScript ou AJAX

Pour les développeurs Clients (AJAX JavaScript)

Simplifie le développement des contrôles et composants AJAXTrès haute réutilisabilité

Modèle de participation communautaireGallerie de composants ASP.NET AJAX

Tout le monde peut y participer !!!

Page 31: Vous montrer que ASP.NET AJAX Ext. est La continuité de ce que vous avez toujours réalisé Simple à comprendre Puissant et facile à utiliser Vous montrer

ASP.NET AJAX Contrôles Toolkit

Connectez-vous à CodePlexOuvrez et construisez un projet „AjaxControlToolkit“Pour utiliser les Contrôles Extender

Ajoutez les contrôles à Visual Studio Toolbox~\bin\[target]\AjaxControlToolkit.dll

Pour créer un contrôle ExtenderInstallez le Templates ProjectAjaxControlExtender.vsi

La Documentation : http://ajax.asp.net/ajaxtoolkit/

Page 32: Vous montrer que ASP.NET AJAX Ext. est La continuité de ce que vous avez toujours réalisé Simple à comprendre Puissant et facile à utiliser Vous montrer

ASP.NET AJAX Control Toolkit

Page 33: Vous montrer que ASP.NET AJAX Ext. est La continuité de ce que vous avez toujours réalisé Simple à comprendre Puissant et facile à utiliser Vous montrer

ASP.NET AJAX

Roadmap

Page 34: Vous montrer que ASP.NET AJAX Ext. est La continuité de ce que vous avez toujours réalisé Simple à comprendre Puissant et facile à utiliser Vous montrer

ASP.NET AJAX Roadmap

ASP.NET AJAX V1.0 Maintenant disponibleTéléchargement sur http://ajax.asp.netSupport du produitEntièrement gratuit Integration dans Visual Studio “Orcas”Incorporation de nombreuses nouveautés AJAXIncorporation d’un mode de création Design-TimeAmélioration du mode “débugging” JavaScript

Page 35: Vous montrer que ASP.NET AJAX Ext. est La continuité de ce que vous avez toujours réalisé Simple à comprendre Puissant et facile à utiliser Vous montrer

En résumé… ‘ASP.NET AJAX Ext’

ASP.NET AJAX facilite nettement le développement d’applications Web 2.0

Plus grande productivité pour les développeurs (Surtout serveur)Facile à écrire et à maintenirModèle de programmation unifiéCompatible multi-browser

AJAX Control Toolkit Essayiez ASP.NET AJAX Ext dès aujourd’hui !!!

Page 36: Vous montrer que ASP.NET AJAX Ext. est La continuité de ce que vous avez toujours réalisé Simple à comprendre Puissant et facile à utiliser Vous montrer

http://ajax.asp.net exemple, démo, docs, …Forums: http://ajax.asp.net/forums

Nous [email protected]://www.wygwam.com http://www.microsoft.fr

Ressources

Page 37: Vous montrer que ASP.NET AJAX Ext. est La continuité de ce que vous avez toujours réalisé Simple à comprendre Puissant et facile à utiliser Vous montrer

© 2007 Microsoft France

Votre potentiel, notre passion TM