Mød Microsoft – for udviklere & arkitekter Hvad er smarte klienter? - definitioner og principper.Henrik Lykke Nielsen Captator – de danske.NET eksperter.

Slides:



Advertisements
Lignende præsentationer
HUNDE SPEED km h 34,4 HUNDE SPEED km h 34,1 HUNDE SPEED km h 32,8 HUNDE SPEED km h 31,9 HUNDE SPEED km h 31,8 HUNDE SPEED km h 30,9.
Advertisements

SharePoint /36 2 General SettingsPermissions and ManagementCommunications Titel, description and navigation Versioning settings Advanced settings.
SPBG.  Test driven development  Unit test frameworks  MOSS TDD  Mocking  Design patterns.
Hjemmesidekonstruktion Tjekspørgsmål 1.Hvad er et markup-sprog – hvad bruges det til? 2.Hvad er forskellen mellem et markup-sprog og et scriptsprog? 3.Hvad.
Effektive procedurer med integrerede webservices Applikationer til Office - Smart Clients Case: Digitalt Forvaltningstjek hos Erhvervs- og Selskabsstyrelsen.
Introduktion til ASP.NET 2 Michell Cronberg Microsoft MVP, MCAD TechTalks hos Microsoft.
1 GUI Programmering i.NET WinForms. Mål “.NET supports two types of form-based apps, WinForms and WebForms. WinForms are the traditional, desktop GUI.
Online Services Den nye forretnings-model
Mozilla ● Open source ● Web browser ● Mail klient ● Organisation ● Fremtiden... Henrik Gemal – Mozilla Evangelist - gemal.dk/mozilla.
Dagens program  Emne: Tim Berners-Lees WWW koncept og deraf følgende innovationer Forbered hver for sig Præsenter og diskutér i grupper Fremlæggelse med.
Mød Microsoft – for udviklere & arkitekter Smart klient som Windows- applikation Installation og autoopdatering.Henrik Lykke Nielsen Captator – de danske.NET.
Atlas/Otto Knudsen 1 "Atlas"  AJAX Extensions til ASP.NET.
Når en applikation går i fejl… … er det interessant, at vide noget om: Hvornår gik applikationen i fejl Hvilken applikation gik i fejl Hvad er fejlen.
Februar 2005Sprog-nyheder i C# og VB1 Captator Tlf: Henrik Lykke Nielsen Softwarearkitekt, Microsoft Regional Director for Denmark.
SMALL BUSINESS er BIG BUSINESS Tips og Tricks til Small Business Server Rico Raja marts 2006.
© bedre læring på kortere tid IT universitetet MKUM-E2009 Villads Keiding Konceptudvikling og Interaktive Digitale Medier MKUM 2009, Master i IT, ITU MKUM.
Microsoft Windows.NET Compact Framework Niels Hilmar Madsen Developer & Platform Strategy Group Microsoft Danmark.
Student Application Manager Lars Ole Nielsen, IT Arkitekt.
C#: Data Typer. Indhold: “.NET is designed around the CTS, or Common Type System. The CTS is what allows assemblies, written in different languages, to.
Communication & Design ODEUM e-Plan Landinspektør Martin Høgh Urban Planning and Transport.
Mød Microsoft – for udviklere & arkitekter Smart klient som Office-applikation Erik Dibbern Röser Developer & Platform Strategy Group, Microsoft
FNI marts Dupline introduction. FNI marts Sensors, Switches, Relays, Valves, Motors Counters, Timers, Drives Dupline PLC's PC's, SCADA Prod.
Deployment – Udrulning af arbejdspladser i et Microsoft netværk Martin Vittrup Senior Technology Specialist.
RT Speciale Evaluering af Java til udvikling af indlejrede realtidssystemer ved brug af en eksisterende ”Java Optimized Processor” (JOP) Speciale – efterår.
1 JavaServer Faces Copyright © Lund & Bendsen Dynamikken i JSF.
Datastrukturer og Collections Oversigt og forskel imellem Jave og.net Collections library Collection interfaces ArrayList IList interface Hashtable Hashtable.
06 – Java Packages Packages og ClassPath. 2 NOEA2009Java-kursus – Packages og class path Hvad er Packages? En package er en gruppering af relaterede typer.
Item gennemgang  Item: 01 – Static factory methods  Item: 09 – Override hashCode  Item: 17 – Design & document inheritence  Item: 25 – Lists over arrays.
Arne Winther Et værdifuldt samarbejde mellem hospital og produktudvikler.
Problemer med at bruge tympanometri? Slagelse og Middelfart okt.-nov

Udvikling med Microsoft 2007 Office System Michell Cronberg Microsoft MVP, MCT, MCAD ISV Innovation Day 2006 ServerServer.
Udvikling med Microsoft 2007 Office System Michell Cronberg Microsoft MVP, MCT, MCAD ISV Innovation Day 2006 KlientKlient.
Microsoft Solutions for Management Peter Colsted Direktør Enterprise & Partner Group Microsoft Danmark.
Representations for Path Finding in Planar Environments.
Objekter og klasser Applikationsdesign Code Namespace Value og reference typer Reference type Rasmus D. Lehrmann1.
12 – GUI med Swing. 2 NOEA2009Java-kursus – GUI med Swing Designer view Komponenter Frame Properties Inspector.
Projektledelse IT-projektledelse (ITP) Projektledelse IT-projektledelse (ITP) Lektion september 2004 Peter Olaf Looms.
Technology Briefing. Hvorfor snakker vi drift? Meget fokus fra Microsoft på effektiv drift Dynamic Systems Initiative MS Operations Framework Meget fokus.
WCF service Hostet på website x. Opret tomt web applikations projekt.
Introduktion til.NET- platformen og version 2.0 Michell Cronberg Microsoft MVP
Mød Microsoft – for udviklere & arkitekter Introduktion til ASP.NET 2.0 Jeppe Rørbæk Rambøll Informatik
Masterpages/Otto Knudsen 1 Master Pages Master Pages i ASP.NET 2.0.
Eksekvering/Otto Knudsen 1 Udrulning Publicering af en web-applikation.
Introduktion/Otto Knudsen 1 Overblik WebForms ASP.NET.
Distribution af funktionalitet Webservice med WCF x.
Distribution af funktionalitet Webservice med WCF x.
Web service - elementer SOAP (Simple Object Access Protocol) WSDL (Web Service Description language) UDDI (Universal Description, Discovery and Integration)
Web service - elementer SOAP (Simple Object Access Protocol) WSDL (Web Service Description language) UDDI (Universal Description, Discovery and Integration)
ASP.NET Custom Web Controls Deployment. Agenda – ASP.NET Web User Controls Composite Control Rendered Custom Control Deploy en Web Applikation.
Abstrakte klasser og interfaces i Java
Programering af mobile enheder Windows Phone Storage.
WebservicesWebservices Henrik Westergaard Hansen
Begreber og Redskaber 9. Plan for idag I dag: Datastrukturer Tabeller Lister, mængder, maps, grafer Hægtede lister.
Session Når man hoster en WCF Service på ASP.NET website, kan man bruge ASP.NET’s Session.
ETU 2008 | Elevtilfredshedsundersøgelse Erhvervsskolen Nordsjælland HTX (Teknisk Gymnasium) - Hillerød Baseret på 313 besvarelser.
Maj 2003Bedre brugergrænseflader med multithreading1 Carsten Juel Andersen Softwarearkitekt Mobil: Captator Tlf:
Reliable Architecture Ved Henrik Bærbak Christensen Reflective Architectures Emne: reflective architecture overview 11 december 2009.
Begreber og Redskaber 5. Plan for idag Overblik over klasser,objekter,nedarvning –Repetition fra Dat A/Indledende programmering –Centrale begreber om.
Windows Vista Nis Bank Lorenzen Divisionschef – Windows Client
Rohde & Schwarz - WPF Det bedste siden skiveskåret brød? v/Magnus Toftdal Lund.
AJAX/Otto Knudsen 1 AJAX Motivation Definition. AJAX/Otto Knudsen 2 Motivation En typisk web-applikation er synkron klienten sender en forespørgsel og.
MSBuild & Team Build i C#/C++ solutions VSTS ERFA d. 25 November.
Grunde til at jeg elsker dig
Fundamentale datastrukturer
1 Team Build med Team Foundation Server 2008 Konfiguration og udvidelse af build jobs Kort præsentation Hvorfor bruge Team Build Afvikling af et build.
Masterpages/Otto Knudsen 1 Navigation på webstedet Kontroller til navigation mellem siderne på webstedet.
1 Fundamentale datastrukturer. 2 Definitioner: abstrakt datatype, datastruktur Elementære datastrukturer og abstrakte datatyper : arrays, stakke, køer,
ASP.NET – web site publish. ASP.NET – site-version.
9. Interfaces. 2 Nordjyllands Erhvervakademi Objectives “Good class design starts with good application design — how many classes, do they relate.
Præsentationens transcript:

Mød Microsoft – for udviklere & arkitekter Hvad er smarte klienter? - definitioner og principper.Henrik Lykke Nielsen Captator – de danske.NET eksperter

2  Session 1: Hvad er smarte klienter?  Definitioner, designprincipper og muligheder  Session 2: Smart klient som Windows-applikation   Installation og automatisk opdatering  Session 3: Smart klient som Office-applikation   Overblik over mulighederne  Session 4: Smart klient som mobil-applikation   Best practices, tips og tricks Agenda

3 Sessions-agenda  Hvorfor Smart Clients?  Hvad er Smart Clients?  Designprincipper og muligheder  User interface  Eksempler: Fading og sliding  Events  Noget om events  Form træknings eksempel  Validering  Arkitektur

4 Smart Clients er den næste naturlige klient- udvikling Teknologi udvikling Shift happens Muligheder og egenskaber Tid   “Dum” mainframe terminal   PC CUI   PC GUI   LAN   Web   Applikations- server   XML web services   Enterprise integration   Næste generation af klienter   Client-server   RAD   Komponenter

5 Ingen applikation er en ø

6 Internet Banking Wireless Aggregation Branch Banking CRM Core Banking Wealth Management Treasury / Forex Trading / Back office Payment Systems and Card Mgmt 3D Secure Business Intelligence EAI Straight through Processing ATM / POS Ingen applikation er en ø

7 Tykke klienter Tynde klienter Smarte klienterSammenligning Rig brugeroplevelse Udvikler produktivitet DLL Hell Stort resourceforbrug Lille resourceforbrug Responstid Netværks afhængighed Lette at deployering Dårlig brugeroplevelse Let at håndtere ændringer Svære at deployere Kompleks udvikling

8 Hvad er Smart Clients? Målsætninger  Udnytter lokale resourcer  Righoldig brugergrænseflade  Mulighed for tæt kobling og stærk styring  Performance og tekniske muligheder  Connected / disconnected  Understøtter online og offline scenarier  Data kan gemmes lokalt og synkroniseres  Lette at deployere og opdatere  Automatisk opdatering  Windows, Office, Pocket PC,...

9 Microsofts Smart Clients  Windows Forms  Fuldt.NET framework  Kan udnytte PCen fuldt ud  Tablet PC  Windows Forms + Inking funktionalitet  Office  Integrerede løsninger  Office applikationer som komponenter .NET Compact Framework  Pocket PC  Smart Phone

10 Hvad giver.NET os?  Højniveau sprog, framework og værktøjer  Mulighed for at udnytte den enkelte platform (næsten) fuldt ud  Uniform og unified programmingsmodel  Udviklere kan bruge de samme kernekompetencer  Lettere at opnå kode og komponentgenbrug  Lettere at ændre applikationer  Low-level plumbing kode er lavet for os

11 Hvad er Smart Clients ikke?  Smart Clients er ikke (nødvendigvis) en ny applikationsarkitektur  Flerlags arkitekturer er stadig best practice  Client/server udvikling stadig en mulighed  Meeen Smart Clients kræver anderledes fokus  Smart Clients er ikke en fast definition  Afhænger af lokale behov for afvikling og for databehandling  Definitionen vil (måske) ændre sig over tid  Smart Clients er ikke hype  Smart Clients er ikke hype  De kan implementeres nu!

12 The Power Of Reuse - skal nok tages med et gran salt The Power Of Reuse - skal nok tages med et gran salt SoftwareReuse Highest Low Higher Low

13 Connectede applikationer  Online / offline  Responsivitet  Centrale  lokale data  Integration til andre systemer  Problemstillinger  Sikkerhed  Skalérbarhed og performance  Ikke-atomare services, caching  Teknologier  Idag ofte XML web services, WSE  Message Queuing  I fremtiden Indigo

14 Online / offline og data  Centrale  lokale data  Gemme data lokalt  Bearbejde data lokalt  Synkronisere med centrale data  Herkomsten af data burde ikke være brugerrelevant  Synkronisering bør være transparent (Outlook 2003)  Problemstillinger  Flerbrugersamtidighed  Schema opdateringer  Offline kan medføre mindre funktionalitet  Vi mangler stadig den gyldne løsning

15 Deployering og opdatering  Installation  Opsætning af klient  Installation og befolkning af lokalt datastore  Opdatering  Automatisk  Central styring

16 Integration til lokale resourcer  Hardware  Overvågning og styring  Operativsystemet  Sikkerhed  Lokal storage  Andre applikationer  Backendsystemer så som ERP/CRM systemer  Office systemer

17 User interfaces  Smart Clients  En ny generation af Windows applikationer  Udnytter brugerens platform fuldt ud  Fuld kontrol over brugergrænsefladen  Styr på detaljerne på pixel-niveau  Lad dataene være udgangspunktet  Tilpas brugergrænsefladen til dataene  Find den optimale navigering og visualisering af data  Lav konsistente og intuitive brugergrænseflader  Brug design patterns for at øge konsistens og lette vedligehold  Brug flerlags modeller (UI  forretningslogik)

18 Demo apps We Rock 247 Football IssueVision FotoVision FotoVision

19 User interface småting  Irregulære forme  frm.BackgroundImage =...  frm.TransparencyKey =...  frm.FormBorderStyle = None  Fading  Opacity  Sliding  System.Windows.Forms.Timer  Tick-event  Interval-property DEMO

20 Genbrug og user interfaces  Visual Inheritance af Windows Forms  Events  Form træknings eksempel  Designer kreerede sinks eller dynamiske?  Smart Clients’ tætte sammenhæng til eksekveringsplatformen kan udnyttes...

21 Events  Event trigger MulticastDelegate, når det fyres  Events er en multicast mekanisme  Rækkefølgen de enkelte callbacks bliver kaldt i er uforudsigelig  Kaster en event procedure en exception, vil de resterende callbacks ikke blive udført  Events bygger på delegates

22 Event erklæring Public Event Progress(ByVal message As String) Public Event Click(ByVal sender As System.Object, _ ByVal e As System.EventArgs) ' eller Public Event Click As System.EventHandler ' hvor System.EventHandler er predefineret i.NET frameworket som Public Delegate Sub EventHandler Click(ByVal sender As System.Object, _ ByVal e As System.EventArgs) Public Event Progress(ByVal message As String) Public Event Click(ByVal sender As System.Object, _ ByVal e As System.EventArgs) ' eller Public Event Click As System.EventHandler ' hvor System.EventHandler er predefineret i.NET frameworket som Public Delegate Sub EventHandler Click(ByVal sender As System.Object, _ ByVal e As System.EventArgs) public delegate void ProgressHandler(string message); public event ProgressHandler Progress; public event System.EventHandler Click; // hvor System.EventHandler er predefineret i.NET frameworket som public delegate void EventHandler(object sender, EventArgs e); public delegate void ProgressHandler(string message); public event ProgressHandler Progress; public event System.EventHandler Click; // hvor System.EventHandler er predefineret i.NET frameworket som public delegate void EventHandler(object sender, EventArgs e); VB C#

23 Event defineres og raises Public Class KlasseMedClickEvent Public Event Click As System.EventHandler Sub SendClickEvent() RaiseEvent Click(Me, New System.EventArgs) End Sub End Class Public Class KlasseMedClickEvent Public Event Click As System.EventHandler Sub SendClickEvent() RaiseEvent Click(Me, New System.EventArgs) End Sub End Class VB public class KlasseMedClickEvent { public event System.EventHandler Click; void SendClickEvent() { System.EventHandler tmp = this.Click; if (tmp != null) tmp(this, new System.EventArgs()); } public class KlasseMedClickEvent { public event System.EventHandler Click; void SendClickEvent() { System.EventHandler tmp = this.Click; if (tmp != null) tmp(this, new System.EventArgs()); } C#

24 Dynamisk ”sinkning” af events  Benyttes hvis man ønsker runtime fleksibilitet i event opsætningen  Handles benyttes ikke, da event og eventprocedure er sammenkoblet  Eksempler AddHandler event, AddressOf eventhandler RemoveHandler event, AddressOf eventhandler AddHandler event, AddressOf eventhandler RemoveHandler event, AddressOf eventhandler AddHandler _obj.Progress, AddressOf DynamicProgress RemoveHandler _obj.Progress, AddressOf DynamicProgress AddHandler btnOk.Click, AddressOf btnOk_Click AddHandler _obj.Progress, AddressOf DynamicProgress RemoveHandler _obj.Progress, AddressOf DynamicProgress AddHandler btnOk.Click, AddressOf btnOk_Click VB

25 Dynamisk ”sinkning” af events  Events har + og – operator overloaded (add og remove event handler)  Eksempler obj.event += new EventHandlerDelegate(eventhandlerproc); obj.event -= new EventHandlerDelegate(eventhandlerproc); obj.event += new EventHandlerDelegate(eventhandlerproc); obj.event -= new EventHandlerDelegate(eventhandlerproc); public delegate void ProgressHandler(string message); public event ProgressHandler Progress; _obj.Progress += new ProgressHandler(DynamicProgress); _obj.Progress -= new ProgressHandler(DynamicProgress); this.btnOk.Click += new System.EventHandler(this.btnOk_Click); public delegate void ProgressHandler(string message); public event ProgressHandler Progress; _obj.Progress += new ProgressHandler(DynamicProgress); _obj.Progress -= new ProgressHandler(DynamicProgress); this.btnOk.Click += new System.EventHandler(this.btnOk_Click); C#

26 Delegates og events  Events bygger på multicast delegates  Følgende er ækvivalente: AddHandler btnEnEkstraKnap.Click, AddressOf EtEkstraEventKald AddHandler btnEnEkstraKnap.Click, _ New System.EventHandler(AddressOf EtEkstraEventKald) AddHandler btnEnEkstraKnap.Click, _ CType(System.Delegate.CreateDelegate( _ GetType(System.EventHandler), Me, "EtEkstraEventKald"), _ System.EventHandler) AddHandler btnEnEkstraKnap.Click, AddressOf EtEkstraEventKald AddHandler btnEnEkstraKnap.Click, _ New System.EventHandler(AddressOf EtEkstraEventKald) AddHandler btnEnEkstraKnap.Click, _ CType(System.Delegate.CreateDelegate( _ GetType(System.EventHandler), Me, "EtEkstraEventKald"), _ System.EventHandler) btnEnEkstraKnap.Click += new System.EventHandler(EtEkstraEventKald); btnEnEkstraKnap.Click += (System.EventHandler) System.Delegate.CreateDelegate( typeof(System.EventHandler), this, "EtEkstraEventKald"); btnEnEkstraKnap.Click += new System.EventHandler(EtEkstraEventKald); btnEnEkstraKnap.Click += (System.EventHandler) System.Delegate.CreateDelegate( typeof(System.EventHandler), this, "EtEkstraEventKald"); VB C#

27 Statisk ”sinking” af events i VB  WithEvents understøttes som i VB6  Men med Handles keyword  Flere events kan håndteres af samme procedure  Og flere procedurer kan håndtere (handle) det enkelte event WithEvents txtMessage As System.Windows.Forms.TextBox WithEvents _eventSource As New EventSource Private Sub _eventSource_Progress(ByVal message As String) _ Handles _eventSource.Progress... Handles btnOk.Click, btnOk.GotFocus,... VB

28 WithEvents  Eksempel på ”kode der genereres” Friend Overridable Property Button1 As Button Get Return Me._Button1 End Get Set(ByVal WithEventsValue As Button) If (Not Me._Button1 Is Nothing) Then RemoveHandler Me._Button1.Click, _ New EventHandler(AddressOf Me.Button1_Click) RemoveHandler Me._Button1.Leave, _ New EventHandler(AddressOf Me.Button1_Leave) End If Me._Button1 = WithEventsValue If (Not Me._Button1 Is Nothing) Then AddHandler Me._Button1.Click, _ New EventHandler(AddressOf Me.Button1_Click) AddHandler Me._Button1.Leave, _ New EventHandler(AddressOf Me.Button1_Leave) End If End Set End Property Friend Overridable Property Button1 As Button Get Return Me._Button1 End Get Set(ByVal WithEventsValue As Button) If (Not Me._Button1 Is Nothing) Then RemoveHandler Me._Button1.Click, _ New EventHandler(AddressOf Me.Button1_Click) RemoveHandler Me._Button1.Leave, _ New EventHandler(AddressOf Me.Button1_Leave) End If Me._Button1 = WithEventsValue If (Not Me._Button1 Is Nothing) Then AddHandler Me._Button1.Click, _ New EventHandler(AddressOf Me.Button1_Click) AddHandler Me._Button1.Leave, _ New EventHandler(AddressOf Me.Button1_Leave) End If End Set End Property VB

29 Form træknings eksempel Public Class FormDragger Private _frm As System.Windows.forms.Form '... Public Sub New(ByVal frm As System.Windows.forms.Form) _frm = frm AddHandler frm.MouseDown, AddressOf MouseDownHandler AddHandler frm.MouseMove, AddressOf MouseMoveHandler End Sub Private Sub MouseDownHandler(ByVal sender As Object, _ ByVal e As System.Windows.Forms.MouseEventArgs) '... End Sub Private Sub MouseMoveHandler(ByVal sender As Object, _ ByVal e As System.Windows.Forms.MouseEventArgs) '... End Sub '... End Class Public Class FormDragger Private _frm As System.Windows.forms.Form '... Public Sub New(ByVal frm As System.Windows.forms.Form) _frm = frm AddHandler frm.MouseDown, AddressOf MouseDownHandler AddHandler frm.MouseMove, AddressOf MouseMoveHandler End Sub Private Sub MouseDownHandler(ByVal sender As Object, _ ByVal e As System.Windows.Forms.MouseEventArgs) '... End Sub Private Sub MouseMoveHandler(ByVal sender As Object, _ ByVal e As System.Windows.Forms.MouseEventArgs) '... End Sub '... End Class

30 Validering  Eksempel på direkte valideringskode public class Form1 : System.Windows.Forms.Form { //... private void textBox1_Leave(object sender, System.EventArgs e) { if (textBox1.Text == "") { textBox1.Focus(); } private void textBox2_Leave(object sender, System.EventArgs e) { if (textBox2.Text == "") { textBox2.Focus(); } public class Form1 : System.Windows.Forms.Form { //... private void textBox1_Leave(object sender, System.EventArgs e) { if (textBox1.Text == "") { textBox1.Focus(); } private void textBox2_Leave(object sender, System.EventArgs e) { if (textBox2.Text == "") { textBox2.Focus(); }

31 Validering Designmål  Afkoblet fra brugergrænsefladen  Genbrugeligt  Let at udvide og tilpasse Består af  Regler  EventSinks til start af valideringen  DataExtractors  Notifiers

32 Validering - oversigt RuleBinding event Rule Check(txt1, txt2) DataExtractor Extract(txt1) Extract(txt2) Notifier HandleResult(result) BackColor =... result

33 Rules og DataExtractors  Rules  Genbrugelige på tværs af applikationen  Default rules (med mulighed for at tilføje)  Datatype, Required, Compare, InRange, RegularExpression  DataExtractors  Én eller flere ekstraktorer for hver type  Alle typer objekter kan valideres, ikke kun UI  DataExtractors for de almindeligste controller  TextBox, CheckBox, ComboBox,...  Mulighed for at tilføje egen ekstraktorer

34 EventSinks og Notifiers  EventSinks  Validering kan udløses af alle events på et ethvert objekt  Kan ændres dynamisk  Flere events kan udløse den samme validering  Notifiers  Valideringsresultatet kan sendes, hvorhen man ønsker det  Default notifiers (med mulighed for at tilføje)  MessageBox, StatusBar, BalloonTip, ErrorProvider, BackColor, PlayWave  Mulighed for at internationalisere valideringsresultater

35 Validering Demo

36 Arkitektur  Tykke klienter  … med en drejning  Fleksibel, servicebaseret arkitektur  Løst koblede systemer  Men med udnyttelse af platformen  Klar adskillelse af generisk og specifik kode  Standardbaseret kommunikation og datarepræsentation  Model- og datadrevne løsninger

37 Logisk arkitekturmodel  Adskille forretningsregler og UI fra data tilgang  Adskille data logik fra data tilgang  Adskille generelle aspekter fra konkret kode  Adskille geerelt UI fra konkret UI Resultat: Fleksibilitet og genbrug

38 SmartClients.Fremtiden  ClickOnce (Whidbey & Longhorn)  Lettere at lave automatisk udrulning og opdatering  Longhorn  Avalon  Mere avanceret UI  Deklarativt  Indigo  SO.NET.Future  Samler trådene fra mange forskellige kommunikationsteknologier og protokoller

39 Sessions agenda  Hvorfor Smart Clients?  Hvad er Smart Clients?  Designprincipper og muligheder  User interface  Eksempler: Fading og sliding  Events  Noget om events  Form træknings eksempel  Validering  Arkitektur

40 Resources  Smart Clients:   Windows Forms:   Windows Mobile:   Office Developer:   Got Dot Net?   Nyheder, artikler, information og Whidbey Julekalender 

© Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.