3 technologien im wettstreit um ihre nächste webanwendung rainer worbis markus unterauer...

Post on 05-Apr-2015

104 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

AJAX, SILVERLIGHT ODER XBAP? 3 Technologien im Wettstreit um Ihre nächste Webanwendung

Rainer WorbisMarkus UnterauerEntwickler, cubido business solutions gmbh

Zielsetzung Kennenlernen der 3 Technologien Stärken / Schwächen aus Entwicklersicht Kurzer Einblick in die Programmierung Wann nehme ich was und wann nicht?

Agenda Pimpen einer ASP.NET Webapp mit AJAX Selbe Applikation, andere Technologie (Silverlight) Und jetzt nochmal mit XBAP Wann nehme ich was und wann nicht

AJAX, Silverlight oder XBAP?

ZIELSETZUNG UND AGENDA

Asynchronous JavaScript and XML Verlagerung von UI-Logik zum Client Asynchrone Kommunikation mit Server Realisiert über Browser XmlHttpObject

Zielsetzung Bessere Useability Weniger Traffic bei der Client / Serverkommunikation

AJAX, Silverlight oder XBAP?

AJAX

Partial Page Updates Bei Postback nur Teil der Seite aktualisieren

Control Extender Zusatzfunktionen für bestehende Controls

JavaScript Erweiterungen Neue Sprachfeatures Zugriff auf Webservices

Control Toolkit Extender (AutoComplete, MaskedEdit, …) Neue Controls (Rating, …)

AJAX, Silverlight oder XBAP?

AJAX - ÜBERBLICK

DEMOVergleich ASP.NET Webapp ohne und mit AJAX

AJAX, Silverlight oder XBAP?

AJAX

AJAX aktivieren

Einfügen eines Updatepanels

Updateprogress (Achtung! JavaScripts!)

AJAX, Silverlight oder XBAP?

AJAX – PARTIAL PAGE UPDATE

<Ajax:ToolkitScriptManager ID="ToolkitScriptManager1" runat="server" />

<asp:UpdatePanel runat="server" UpdateMode="Conditional" ID="ListUpdatePanel"> <ContentTemplate>…</ContentTemplate> <Triggers>…</Triggers></asp:UpdatePanel>

<asp:UpdateProgress ID=„MyProgress" runat="server" AssociatedUpdatePanelID=„MyUpdatePanel"> <ProgressTemplate>…</ProgressTemplate></asp:UpdateProgress>

AutoCompleteExtender

Rating

AJAX, Silverlight oder XBAP?

AJAX – EXTENDER UND TOOLKIT

<Ajax:AutoCompleteExtender runat="server" ID=„myAutoComplete“ TargetControlID=„MyTextbox" ServicePath=„MyService.asmx“ ServiceMethod=„MyMethod“ MinimumPrefixLength="2„ CompletionSetCount="5„ />

<Ajax:Rating ID=“MyRating" runat="server” CurrentRating='<%# Convert.ToInt32 (DataBinder.Eval(Container.DataItem, "Rating")) %>‚ MaxRating="5„ />

Registrieren des Services

Aufrufen per JavaScript

AJAX, Silverlight oder XBAP?

AJAX – JAVASCRIPT ERWEITERUNG

<asp:ScriptManagerProxy ID=„MyProxy" runat="server"> <Services> <asp:ServiceReference Path=„MyService.asmx"/> </Services></asp:ScriptManagerProxy>

function MyAction (){ MyService.MyGetData(OnWSRequestComplete);}

function OnWSRequestComplete(results) { var text = results.FirstName + results.LastName; $get(‚MyLabel').innerHTML = text;}

AJAX, Silverlight oder XBAP?

AJAX – PARTIAL UPDATE PAGESIZE

172 kB initiales Laden(Seite + Bilder)

89 Byte AutoComplete27 kB Liste neu laden

Version SL 2.0 Browser Plugin

Microsoft IE Firefox Safari

Betriebssystem Windows Linux (via Moonlight) Mac

AJAX, Silverlight oder XBAP?

SILVERLIGHT - ÜBERBLICK

Eigene CLR C#, VB, Python, Ruby, JScript XAML Subset + SL Spezifika der .NET CLR

Entwicklungsumgebung Visual Studio Eclipse

AJAX, Silverlight oder XBAP?

SILVERLIGHT – PROGRAMMIERUNG

Silverlight ist ein in HTML eingebettetes Objekt

AJAX, Silverlight oder XBAP?

SILVERLIGHT – VERWENDUNG

<object data="data:application/x-silverlight," type="application/x-silverlight-2-b2"<param name="source" value="ClientBin/devCamp08_SilverLight01.xap"/><param name="onerror" value="onSilverlightError" /><param name="background" value="white" />

</object>

Viele eigene Controls 3rd Party Controls Silverligth Control Pack

(zur PDC2008)

Layouts Grid StackPanel Canvas

AJAX, Silverlight oder XBAP?

SILVERLIGHT - CONTROLS

Nur ein Fenster Kein Zugriff auf das Filesystem (außer

Benutzergesteuerter FileOpenDialog) Keinen Status am Server (ViewState etc) Isolated Storage am Client Bestimmt Features fehlen

Anzeige von GIF Dateien Nur asynchrone Datenzugriffe

AJAX, Silverlight oder XBAP?

SILVERLIGHT – EINSCHRÄNKUNGEN

DEMO• Look and Feel• XAML• Daten lesen

AJAX, Silverlight oder XBAP?

SILVERLIGHT

.NET Anwendung die vom IE gehostet wird Die am Client installierte .NET Runtime wird

verwendet Security Zones Wie Click Once nur in Local Internet Files

AJAX, Silverlight oder XBAP?

XBAP - ÜBERBLICK

Abgrenzung zu Silverlight Unterstützung der gesamten CLR Klassenbibliothek Es gibt „Full Trust“

Abgrenzung zu Fullclient (ClickOnce) Theoretisch wenig Benutzerberechtigungen zur

Installation nötig Es läuft immer auch ein Browserfenster mit

AJAX, Silverlight oder XBAP?

XBAP - WARUM

DEMO• Look and Feel• XAML• Daten lesen

AJAX, Silverlight oder XBAP?

XBAP

ASP.NET AJAX Silverlight XBAP FullclientInteraktivität der GUI - + ++ +++ ++++Verfügbare Controls +++ ++++ + (Drittanbieter) +++ +++Release Status 2.0 1.0 2.0 3.5 3.5In ASP.NET App integrierbar

Ja Ja Ja Nein Nein

Browser Alle Browser nur IE, FireFox IE, FireFox, Safari nur IE KeineInhalt indizierbar Ja Teilweise Nein Nein NeinZugriff auf Clientfiles Nein Nein Nein Ja (mit Fulltrust) JaOffline Fähigkeit Nein Nein Nein Nein JaClient Betriebssystem Alle Alle Windows, Mac

teilw. LinuxNur Windows Nur Windows, teilw.

Linux

Client Requirements Keine JavaScript Silverlight Plugin .NET Framework 3.5

.NET Framework 3.5

Permissions am Client Keine Keine Plugin installieren

Teilw. Fulltrust Teilw. Fulltrust

Wird am Client installiert

Nein Nein Nein (nur Temp. Internet Files)

Nein (nur Temp. Internet Files)

Ja

Clientbelastung für GUI Niedrig Mittel Mittel Hoch Hoch

AJAX, Silverlight oder XBAP?

VERGLEICH AJAX, SILVERLIGHT, XBAP

ASP.NET AJAX Silverlight XBAP FullclientZugriff auf Daten von Webserver von Webserver

und Clientvon Client von Client von Client

Zugriff auch Services Server alles (WS, SQL, …)

Server alles, Client nur WS

nur WS Alles (WS, SQL, …) Alles (WS, SQL, …)

Webserver Windows Windows Alle Alle KeineServerbelastung für GUI Hoch Hoch Niedrig Niedrig Keine

Programmiersprachen .NET, JavaScript, VBScript

.NET, JavaScript C#, VB.net, XAML, JavaScript

.NET, XAML .NET, XAML

Debugging-möglichkeiten

++ + + +++ ++++

Verwendung bestehender Assemblies

Ja Ja Nein (eigene Core DLLs)

Ja Ja

AJAX, Silverlight oder XBAP?

VERGLEICH AJAX, SILVERLIGHT, XBAP

Cubido Bloghttp://www.cubido.at/Blog/tabid/176/Default.aspx

Microsoft AJAX Websitehttp://www.asp.net/ajax/

Microsoft Silverlight Website http://www.silverlight.net

AJAX, Silverlight oder XBAP?

LINKS

AJAX, SILVERLIGHT ODER XBAP? 3 Technologien im Wettstreit um Ihre nächste Webanwendung

Rainer WorbisMarkus UnterauerEntwickler, cubido business solutions gmbh

top related