300 likes | 477 Views
Silverlight for Windows Embedded. 8 Février 2010 Nicolas Besson – MVP Windows Embedded Fabien Decret – MVP Device Application Dev . from Adeneo Embedded. Agenda. LA famille Windows Embedded Introduction a Windows Embedded CE 6.0 R3 Les ingrédients d’une interface graphique
E N D
Silverlight for Windows Embedded 8 Février 2010 Nicolas Besson – MVP Windows EmbeddedFabien Decret – MVP Device Application Dev.from Adeneo Embedded
Agenda • LA famille Windows Embedded • Introduction a Windows Embedded CE 6.0 R3 • Les ingrédients d’une interface graphique • Silverlight for Windows Embedded • Les outils de développement • Gestion d’une brasserie en silverlight
Adeneo Embedded Overview • Recognized high level of expertise with technologies from Microsoft • 50+ engineers located in North America and Europe • Specialists in system integration on 32-bit embedded devices • Capabilities to manage full SW/HW device development • Subsidiary of AdetelGroup Excellence Awards 2007 - 2008 - 2009 ISV/Software Solutions Mobility Solutions Progressive Services Offering Extensive portfolio of design and system integration 6 Windows Embedded MostValuable Professionals 25+ Windows CE Microsoft Certified Technology Specialists 4 C# Microsoft Certified Professionals
La Famille Windows Embedded Personal Navigation Medical Entertainment Consumer Portable media Thin Client Digital Signage Dedicated servers Telematics Industrial Automation Thin Client Industrial Automation Robotics Entertainment Point of Service Kiosks
Windows Embedded CE 6.0 R3 • Destiné aux petits équipements • Architecture matériel indépendant • Différentes familles de processeur • ARM, MIPS, SH4, x86 • Système temps réel • Modulaire 10,000+ composants • Riche interface graphique • MFC 8.0 • .Net Compact Framework 3.5 • Support Silverlight
Ingrédients d’une IHM Développeur Designer
Silverlight for Windows Embedded • TechnologieSilverlight desktop adapté à l’embarqué • Langage XAML : description interface graphique • Langage natif uniquement • Version standalone, browser web non requis • Décorrélation Interface Graphique/intelligence cœur de métier • Support accélération graphique • OpenGL ES • DirectDraw
Cycle de développement Méthode Traditionnelle Methodetraditionnelle DesignIHM Designer Revue Développeur Dev. IHM Dev.Back-end Integration Deploiment Silverlight DesignIHM Revue Silverlight Designer Temps Gagné ! Développeur Dev. action Déploiement
Processus de génération ExpressionBlend Silverlight for Windows Embedded est un Framework applicatif permettant les OEMs de créer des interfaces graphiques utilisateurs innovantes Permet aux OEMs de facilement proposer un élément différentiateur à leurs produits en utilisant Expression Design Suite tout en développant en code natif XAML OEMs peuvent s’appuyer sur la communauté des designer web et développeurs PC App Web IHM Produit App Desktop
Architecture Application Ressources (Images, Polices) Contrôles personnalisés XAML Silverlight Runtime Silverlight CoreRendering Engine Platform Plug-in (OpenGL ES 2.0, DDraw, GDI, OpenVG ) GWES Driver Graphique (BSP)
Outils de développement Expression Blend Réalisation de l’interface et expérience utilisateur Visual Studio 2005/2008 Réalisation de la gestion cœur de métier
Outils de développement • Outil destiné au Designer • Création de control personnalisés • Fourni avec des projets d’exemple : • Media player • Tablette internet Expression Blend Réalisation de l’expérience utilisateur
Outils de développement • Projet applicatif C++ • Platform Builder • Visual Studio 2005/2008 avec SDK • Intégration du fichier XAML généré sous Expression Blend • Implémentation des handlers d’action • Compilation de l’application Visual Studio 2005/2008 Réalisation des actions cœur de métier
Démo Expression Blend 2.0 SP1
Mise en œuvre [1/3] • Etape 1 • Création du projet Expression Blend • Création d’éléments graphiques personnalisés • Bouton, éléments complexes d’interface • Etape 2 • Design de l’application et animations • Création du story board • Validation du fichier XAML
<UserControl xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" x:Class="SilverlightApplication1.Page" Width="336" Height="233" xmlns:SilverlightApplication1="clr-namespace:SilverlightApplication1"> <UserControl.Background> <LinearGradientBrushEndPoint="0.5,1" StartPoint="0.5,0"> <GradientStop Color="#FF62DF25"/> <GradientStop Color="#FFFFFFFF" Offset="1"/> <GradientStop Color="#FF505050" Offset="0.54"/> </LinearGradientBrush> </UserControl.Background> <Grid x:Name="LayoutRoot" RenderTransformOrigin="0.805,0.19"> <Grid.Background> <LinearGradientBrushEndPoint="0.5,1" StartPoint="0.5,0"> <GradientStop Color="#FFFFE3E3"/> <GradientStop Color="#FFCF6565" Offset="1"/> </LinearGradientBrush> </Grid.Background> <SilverlightApplication1:CylinderUserControl Margin="8,8,121,-16" x:Name="myCylinder"/> <Button Height="48" Margin="0,47,14,0" VerticalAlignment="Top" Content="Fill" x:Name="Btn_Fill" HorizontalAlignment="Right" Width="148"/> <Button Margin="0,99,14,85" Content="Empty" x:Name="Btn_Empty" Width="148" HorizontalAlignment="Right"/> <Button Margin="0,0,14,36" Content="Quit" x:Name="Btn_Quit" Height="45" HorizontalAlignment="Right" VerticalAlignment="Bottom" Width="148"/> </Grid> </UserControl>
Mise en œuvre [2/3] • Etape 3 • Création du projet VS2005 • Ajout du XAML dans les ressources • Etape 4 • Ajout de handler et exécution des animations
class BtnEventHandler { public: HRESULT OnClick(IXRDependencyObject* source, XRMouseButtonEventArgs* args) { // Afficheuneboite de message MessageBox(NULL,TEXT("Silverlight Sample"), TEXT("Silverlight for Embedded OnClick handler"),MB_OK); return S_OK; } }; int WINAPI WinMain(….) { …. // Identification du boutondéclarédans XAML root->FindName(TEXT("Btn_Fill"), &btn); // Y associe un delegate CreateDelegate(&handler, &BtnEventHandler::OnClick, &clickdelegate)); btn->AddClickEventHandler(clickdelegate)); …. }
Mise en œuvre [3/3] • Etape 5 • Compilation, déploiement et …..
Gesture • Nouvelle API pour gestion du mouvement des doigts sur écran tactile • Par exemple vitesse de décélération lors d’un scroll -> mouvement du contrôle • Nouveau message WM_GESTURE qui introduit de nouveaux événements tels que : • Select • Double Select • Pan • Scroll • Hold • Créer des contrôles Win32 supportant la Gesture
Physicsengine • Permet de calculer une animation de points en réponse à une action de Gesture • Le physicsengine génère une suite de points à partir d’une vélocité, d’un angle et d’une zone délimitée. • Les animations peuvent être définis sur l’axe X et Y (2D) • Accélération • Décélération • Boundary
Architecture Applications GWES.dll PhysicsEngine.dll TouchUtil.lib GestureAnimation.lib TouchRecognizer.dll TouchGesture.lib OEM Recognizer.dll Touch.dll
Pré-requis pour le device • Mise à jour vers Windows Embedded CE 6.0 R3 • Ajout de Silverlight for Windows Embedded • Ajout support de Touch and Gesture • SYSGEN_TOUCHGESTURE • Ajout support de Physics • SYSGEN_PHYSICSENGINE
Limitation de Silverlight for Windows Embedded • Fonctionnalités limitées à celles disponibles avec la version Web de Silverlight 2 sans le binding et media element • Les performances de Silverlight for Windows Embedded dépendent : • de la puissance du processeur, • de l’accélération vidéo matériel (2D), • du driver Vidéo, • la qualité du BSP.
Exemple d’utilisation • Produits grand publique : • Equipement de navigation GPS • Electroménager intelligent • Equipement audio haut de gamme • Produits industriel : • Centrale de supervision de production • Logiciel embarqué dans engins agricoles • Tout équipement possédant une interface tactile ou moyen de pointage. • Exemple d’implémentation : Browser web fourni avec Windows Embedded CE 6.0 R3Supervision d’une brasserie
Démo The brewery : le suivi de production de la bière dans la brasserie du 21eme siècle.
Conclusion • Silverlight for Windows Embedded CE 6.0 R3 • Séparation de l’IHM et du « code » • Amélioration de l’expérience utilisateur: • Support de Gesture pour une gestion simplifiée des interactions avec l’utilisateur. • Support de Physics pour la gestion d’effets.
Quelques liens pour aller plus loin… • Le site Windows Embedded en Français: http://www.windowsembedded.fr • Les blogs : • Nicolas Besson – MVP – Adeneo Embedded http://nicolasbesson.blogspot.com • Fabien Decret – MVP – Adeneo Embedded http://fabdecret.blogspot.com • Pierre Cauchois – Micrsosoft - resp. du parcours Embedded http://blogs.msdn.com/pierreca • Concours « Je vois des Windows Partout » http://msdn.microsoft.com/fr-fr/windowsembedded/msdn.windows.partout.aspx
Retrouvez-nous dehors… • Stand D34 – Windows Embedded • Des experts pour répondre à toutes vos questions • Un beau bar, de belles démos et une bonne ambiance ^^