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

22
AJAX, SILVERLIGHT ODER XBAP? 3 Technologien im Wettstreit um Ihre nächste Webanwendung Rainer Worbis Markus Unterauer Entwickler, cubido business solutions gmbh

Upload: jutte-gerlt

Post on 05-Apr-2015

104 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 3 Technologien im Wettstreit um Ihre nächste Webanwendung Rainer Worbis Markus Unterauer Entwickler, cubido business solutions gmbh

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

Rainer WorbisMarkus UnterauerEntwickler, cubido business solutions gmbh

Page 2: 3 Technologien im Wettstreit um Ihre nächste Webanwendung Rainer Worbis Markus Unterauer Entwickler, 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

Page 3: 3 Technologien im Wettstreit um Ihre nächste Webanwendung Rainer Worbis Markus Unterauer Entwickler, cubido business solutions gmbh

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

Page 4: 3 Technologien im Wettstreit um Ihre nächste Webanwendung Rainer Worbis Markus Unterauer Entwickler, cubido business solutions gmbh

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

Page 5: 3 Technologien im Wettstreit um Ihre nächste Webanwendung Rainer Worbis Markus Unterauer Entwickler, cubido business solutions gmbh

DEMOVergleich ASP.NET Webapp ohne und mit AJAX

AJAX, Silverlight oder XBAP?

AJAX

Page 6: 3 Technologien im Wettstreit um Ihre nächste Webanwendung Rainer Worbis Markus Unterauer Entwickler, cubido business solutions gmbh

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>

Page 7: 3 Technologien im Wettstreit um Ihre nächste Webanwendung Rainer Worbis Markus Unterauer Entwickler, cubido business solutions gmbh

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

Page 8: 3 Technologien im Wettstreit um Ihre nächste Webanwendung Rainer Worbis Markus Unterauer Entwickler, cubido business solutions gmbh

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

Page 9: 3 Technologien im Wettstreit um Ihre nächste Webanwendung Rainer Worbis Markus Unterauer Entwickler, cubido business solutions gmbh

AJAX, Silverlight oder XBAP?

AJAX – PARTIAL UPDATE PAGESIZE

172 kB initiales Laden(Seite + Bilder)

89 Byte AutoComplete27 kB Liste neu laden

Page 10: 3 Technologien im Wettstreit um Ihre nächste Webanwendung Rainer Worbis Markus Unterauer Entwickler, cubido business solutions gmbh

Version SL 2.0 Browser Plugin

Microsoft IE Firefox Safari

Betriebssystem Windows Linux (via Moonlight) Mac

AJAX, Silverlight oder XBAP?

SILVERLIGHT - ÜBERBLICK

Page 11: 3 Technologien im Wettstreit um Ihre nächste Webanwendung Rainer Worbis Markus Unterauer Entwickler, cubido business solutions gmbh

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

Entwicklungsumgebung Visual Studio Eclipse

AJAX, Silverlight oder XBAP?

SILVERLIGHT – PROGRAMMIERUNG

Page 12: 3 Technologien im Wettstreit um Ihre nächste Webanwendung Rainer Worbis Markus Unterauer Entwickler, cubido business solutions gmbh

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>

Page 13: 3 Technologien im Wettstreit um Ihre nächste Webanwendung Rainer Worbis Markus Unterauer Entwickler, cubido business solutions gmbh

Viele eigene Controls 3rd Party Controls Silverligth Control Pack

(zur PDC2008)

Layouts Grid StackPanel Canvas

AJAX, Silverlight oder XBAP?

SILVERLIGHT - CONTROLS

Page 14: 3 Technologien im Wettstreit um Ihre nächste Webanwendung Rainer Worbis Markus Unterauer Entwickler, cubido business solutions gmbh

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

Page 15: 3 Technologien im Wettstreit um Ihre nächste Webanwendung Rainer Worbis Markus Unterauer Entwickler, cubido business solutions gmbh

DEMO• Look and Feel• XAML• Daten lesen

AJAX, Silverlight oder XBAP?

SILVERLIGHT

Page 16: 3 Technologien im Wettstreit um Ihre nächste Webanwendung Rainer Worbis Markus Unterauer Entwickler, cubido business solutions gmbh

.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

Page 17: 3 Technologien im Wettstreit um Ihre nächste Webanwendung Rainer Worbis Markus Unterauer Entwickler, cubido business solutions gmbh

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

Page 18: 3 Technologien im Wettstreit um Ihre nächste Webanwendung Rainer Worbis Markus Unterauer Entwickler, cubido business solutions gmbh

DEMO• Look and Feel• XAML• Daten lesen

AJAX, Silverlight oder XBAP?

XBAP

Page 19: 3 Technologien im Wettstreit um Ihre nächste Webanwendung Rainer Worbis Markus Unterauer Entwickler, cubido business solutions gmbh

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

Page 20: 3 Technologien im Wettstreit um Ihre nächste Webanwendung Rainer Worbis Markus Unterauer Entwickler, cubido business solutions gmbh

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

Page 21: 3 Technologien im Wettstreit um Ihre nächste Webanwendung Rainer Worbis Markus Unterauer Entwickler, cubido business solutions gmbh

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

Page 22: 3 Technologien im Wettstreit um Ihre nächste Webanwendung Rainer Worbis Markus Unterauer Entwickler, cubido business solutions gmbh

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

Rainer WorbisMarkus UnterauerEntwickler, cubido business solutions gmbh