Una piattaforma per soluzioni service oriented: User Experience Dino Esposito Software Architect Managed Design
Fatti L’utente è al centro dei pensieri di tutti Pochi scrivono applicazioni che pongono l’utente realmente al centro Solo oggi si parla seriamente di user experience Solo oggi abbiamo Office 2007 che “prova” a cambiare la logica di applicazioni diffuse Solo oggi con AJAX (e affini) si parla di mash- up e di portare “information at your fingertips”
L’Utente al centro Il modello del futuro: Software + Services
La piattaforma “Silverlight” Windows Presentation Foundation Sidebar Gadgets Microsoft Office Designer Look, behavior, brand, e emotional connection Developer Function, deployment, data, security
Visual Basic MFCASP Internet Explorer DHTML Office VBA DirectX FidelityReach ASP.NET AJAX EXTENSION Silverlight Evoluzione
WPF: Principi di progettazione Integrazione modello unificato di API per diversi formati non più GDI/GDI+, DirectShow, Direct 3D API Sviluppo per desktop e web Grafica vettoriale Per il motore di composizione Sfrutta la GPU dei moderni PC Programmazione dichiarativa con XAML Nuovo supporto per i documenti e la stampa Condivisione di documenti tra piattaforme diverse
WPF: Consumer Rich, immersive web experiencesOnline shopping Kiosk applicationsContent distribution
WPF: Enterprise Data dashboardsVisualisation Custom tools/management appsReal-time reporting
Programmazione dichiarativa e XAML XAML = Extensible Application Markup Language Usato da WPF per dichiarare ciò che si vuole rappresentare Linguaggio di markup per dichiarare oggetti, non solo WPF Codice e contenuto sono separati OK LightBlue XAML Button b1 = new Button(); b1.Content = "OK"; b1.Background = new SolidColorBrush(Colors.LightBlue); b1.Width = 100; C# Dim b1 As New Button b1.Content = "OK" b1.Background = New _ SolidColorBrush(Colors.LightBlue) b1.Width = 100 VB.NET
Tool Microsoft per Designers e Developers Programmazione dichiartativa con XAML Tool di terze parti (Aurora di Mobiform, ZAM 3D - Electric Rain) Designers creano l’interfaccia Con XAML + WPF aumenta la collaborazione Developers aggiungono la logica WPF + XAML
Visual Studio Tools For Office Estende gli Office documentTab Group Ribbon Control Ribbon Customization Outlook custom form regions Actions Pane
Add-in CoreFeatures Office System 2007 Principali Novità per lo sviluppo clientTaskPane Ribbon Office XML Format EsternoProcesso Managed Add-ins Custom Task Panes RibbonX Office Open XML Format
Custom Task e Action Pane VSTO semplifica la UI design del task Pane con specifici visual designers Actions Pane Associato a uno specifico Word or Excel document Robustezza e semplicità per la programmazione alternativa a Office’s built-in “Smart Document” Technology Custom Task Pane Stessa idea generale dell’ Actions Pane, solo ad application add-in level, no individual document
Supporto in VS 2008 Ribbon Controls Design Surface
Fatti Animazione e grafica 2D vettoriale Supporto AJAX/JavaScript/DOM Media Industry-standard codecs per video WMV, WMA, VC-1 XAML parser che riconosce un sottinsieme limitato di WPF
Silverlight 1.0 : Media Experiences Qualità HD video quality DVD-like interattività e overlays Sviluppo Flessibile Integrabile con AJAX framework esistenti SMPTE-standard VC-1, WMV and MP3 Delivery Live Streaming oppure On-Demand Performance
Legend V1.1 Legend V1.0.NET for Silverlight XAML Presentation Core Networking JSON REST POX RSS Data LINQXLINQ DLR RubyPython WPF Extensible Controls BCL Generics Collections Media VC1 WMAMP3 Browser Host MS AJAX Library DOM Integration UI Core Images Vector Text Animation Features Data Binding Controls Layout Editing CLR Execution Engine Deploy Friction-Free Installer Auto- Updater SOAP
ASP.NET AJAX Extensions Costruito sulle fondamenta di ASP.NET 2.0 consiste in: Microsoft AJAX Library Microsoft ASP.NET 2.0 Ajax Extension Microsoft ASP.NET Futures CTP Microsft AJAX Control Toolkit (codeplex) ASP.NET 3.5 Disponibile per tutti i browser senza installazione Riduce la latenza del Web Page refresh
AJAX Application Models Server-centric… Browser PresentationHTML/CSS Microsoft AJAX Library Client Application Services Component and UI Framework,Controls Server Application Pages ASP.NET AJAX Extensions Application Services Page Framework, Server Controls Input Data Updated UI + Behavior Updated UI + Behavior Initial Rendering (UI + Behavior) (UI + Behavior) UI Behavior Managed Code App Logic/Data Managed CodeA
ASP.NET AJAX Extensions Costruire “responsive UI” con UpdatePanel Controllo pensato per marcare le sezioni della pagina per incremental update Pochi e nessun cambiamento al codice server side esistente ASP.NET AJAX gestisce tutta l’infrastruttura Fornisce un insieme di patterns per la gestione Triggers, update progress, timers, etc </asp:UpdatePanel>
AJAX Application Models … o client-centric Browser PresentationHTML/CSS Microsoft AJAX Library Client Application Services Component and UI Framework,Controls Server Application Pages ASP.NET AJAX Extensions Application Services Page Framework, Server Controls Input Data Initial Rendering (UI + Behavior) (UI + Behavior) UI Behavior Javascript App Logic/Data Managed Code Web Service Proxies
Conclusioni La UE deve migliorare Pensare la interfaccia utente in modo user- oriented ma anche realizzare applicazioni in modo user-oriented Il back-end è fondamentale ma l’utente è colui che usa l’applicazione Servizi software portano verso una fusione tra desktop e RIA Tecnologia chiave? Silverlight (che verrà)
© 2007 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.