3 technologien im wettstreit um ihre nächste webanwendung rainer worbis markus unterauer...
TRANSCRIPT
![Page 1: 3 Technologien im Wettstreit um Ihre nächste Webanwendung Rainer Worbis Markus Unterauer Entwickler, cubido business solutions gmbh](https://reader035.vdocuments.pub/reader035/viewer/2022062623/55204d7349795902118c6fe1/html5/thumbnails/1.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022062623/55204d7349795902118c6fe1/html5/thumbnails/2.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022062623/55204d7349795902118c6fe1/html5/thumbnails/3.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022062623/55204d7349795902118c6fe1/html5/thumbnails/4.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022062623/55204d7349795902118c6fe1/html5/thumbnails/5.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022062623/55204d7349795902118c6fe1/html5/thumbnails/6.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022062623/55204d7349795902118c6fe1/html5/thumbnails/7.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022062623/55204d7349795902118c6fe1/html5/thumbnails/8.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022062623/55204d7349795902118c6fe1/html5/thumbnails/9.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022062623/55204d7349795902118c6fe1/html5/thumbnails/10.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022062623/55204d7349795902118c6fe1/html5/thumbnails/11.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022062623/55204d7349795902118c6fe1/html5/thumbnails/12.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022062623/55204d7349795902118c6fe1/html5/thumbnails/13.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022062623/55204d7349795902118c6fe1/html5/thumbnails/14.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022062623/55204d7349795902118c6fe1/html5/thumbnails/15.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022062623/55204d7349795902118c6fe1/html5/thumbnails/16.jpg)
.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](https://reader035.vdocuments.pub/reader035/viewer/2022062623/55204d7349795902118c6fe1/html5/thumbnails/17.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022062623/55204d7349795902118c6fe1/html5/thumbnails/18.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022062623/55204d7349795902118c6fe1/html5/thumbnails/19.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022062623/55204d7349795902118c6fe1/html5/thumbnails/20.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022062623/55204d7349795902118c6fe1/html5/thumbnails/21.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022062623/55204d7349795902118c6fe1/html5/thumbnails/22.jpg)
AJAX, SILVERLIGHT ODER XBAP? 3 Technologien im Wettstreit um Ihre nächste Webanwendung
Rainer WorbisMarkus UnterauerEntwickler, cubido business solutions gmbh