Post on 23-Jan-2016
description
22
Silverlight for Windows Embedded8 Février 2010 Nicolas Besson – MVP Windows EmbeddedFabien Decret – MVP Device Application Dev.from Adeneo Embedded
33
Agenda
LA famille Windows EmbeddedIntroduction a Windows Embedded CE 6.0 R3Les ingrédients d’une interface graphiqueSilverlight for Windows EmbeddedLes outils de développementGestion d’une brasserie en silverlight
44
Extensive portfolio of design and system integration
6 Windows Embedded MostValuable Professionals
25+ Windows CE Microsoft Certified Technology Specialists
4 C# Microsoft Certified Professionals
Adeneo Embedded Overview
50+ engineers located in North America and EuropeSpecialists in system integration on 32-bit embedded devicesCapabilities to manage full SW/HW device developmentSubsidiary of AdetelGroup
ISV/Software SolutionsMobility Solutions
Excellence Awards2007 - 2008 - 2009
Recognized high level of expertise with technologies from Microsoft
Eval
uatio
n 4-day Scheduled Trainings Customized Trainings
Arch
itect
ure Support ContractsDesign ReviewReference BSPs with Support & Maintenance
Des
ign Application
DevelopmentFirmware ExpertiseTurnkey SW/HW Design
Progressive Services Offering
55
La Famille Windows Embedded
Consumer
Robotics
Portable media
Industrial Automation
Telematics
Thin Client
Personal Navigation
Industrial Automation
MedicalEntertainment
Thin Client
Point of Service
Dedicated servers
Kiosks
Entertainment
Digital Signage
66
Windows Embedded CE 6.0 R3
Destiné aux petits équipementsArchitecture matériel indépendantDifférentes familles de processeur
ARM, MIPS, SH4, x86Système temps réelModulaire 10,000+ composantsRiche interface graphique
MFC 8.0.Net Compact Framework 3.5Support Silverlight
77
Ingrédients d’une IHM
Designer Développeur
88
Silverlight for Windows Embedded
Technologie Silverlight desktop adapté à l’embarquéLangage XAML : description interface graphiqueLangage natif uniquement
Version standalone, browser web non requisDécorrélation Interface Graphique/intelligence cœur de métierSupport accélération graphique
OpenGL ESDirectDraw
99
Designer
Développeur
Silverlight
DesignIHM
Dev.action Déploiement
Revue
Silverlight
Cycle de développement
Designer
Développeur
DesignIHM
Dev. IHM Dev.Back-end Integration DeploimentR
evue
Methode traditionnelle
Temps Gagné !
Méthode Traditionnelle
1010
Processus de génération
XAML
Expression Blend
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
OEMs peuvent s’appuyer sur la communauté des designer web et développeurs PC
App Web
App Desktop
IHM Produit
1111
Architecture
Application
XAMLRessources
(Images, Polices)Contrôles personnalisés
Silverlight Runtime
Silverlight CoreRendering Engine
Platform Plug-in(OpenGL ES 2.0, DDraw,
GDI, OpenVG )
Driver Graphique (BSP)
1212
Outils de développement
Visual Studio 2005/2008Réalisation de la gestion cœur de métier
Expression BlendRéalisation de l’interface et
expérience utilisateur
1313
Outils de développement
Expression BlendRéalisation de l’expérience
utilisateur
Outil destiné au DesignerCréation de control personnalisésFourni avec des projets d’exemple :Media playerTablette internet
1414
Outils de développement
Visual Studio 2005/2008Réalisation des actions cœur de métier
Projet applicatif C++ Platform Builder Visual Studio 2005/2008 avec SDKIntégration du fichier XAML généré sous Expression
BlendImplémentation des handlers d’actionCompilation de l’application
1515
DémoExpression Blend 2.0 SP1
1616
Mise en œuvre [1/3]
Etape 1Création du projet Expression BlendCréation d’éléments graphiques
personnalisésBouton, éléments complexes d’interface
Etape 2Design de l’application et animationsCréation du story boardValidation du fichier XAML
1717
<UserControlxmlns="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><LinearGradientBrush EndPoint="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>
<LinearGradientBrush EndPoint="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>
1818
Mise en œuvre [2/3]
Etape 3Création du projet VS2005Ajout du XAML dans les ressources
Etape 4Ajout de handler et exécution des animations
1919
class BtnEventHandler{public:
HRESULT OnClick(IXRDependencyObject* source,XRMouseButtonEventArgs* args)
{// Affiche une boite de messageMessageBox(NULL,TEXT("Silverlight Sample"),
TEXT("Silverlight for Embedded OnClick handler"),MB_OK);return S_OK;
}};
int WINAPI WinMain(….){….
// Identification du bouton déclaré dans XAMLroot->FindName(TEXT("Btn_Fill"), &btn);// Y associe un delegateCreateDelegate(&handler,
&BtnEventHandler::OnClick,&clickdelegate));
btn->AddClickEventHandler(clickdelegate));….
}
2020
Mise en œuvre [3/3]
Etape 5Compilation, déploiement et …..
2121
Gesture
Nouvelle API pour gestion du mouvement des doigts sur écran tactilePar exemple vitesse de décélération lors d’un scroll ->
mouvement du contrôleNouveau message WM_GESTURE qui introduit de nouveaux
événements tels que :SelectDouble SelectPanScrollHold
Créer des contrôles Win32 supportant la Gesture
2222
Physics engine
Permet de calculer une animation de points en réponse à une action de Gesture
Le physics engine 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érationDécélérationBoundary
2323
Architecture
PhysicsEngine.dll
TouchUtil.lib
Touch.dll
TouchRecognizer.dll
OEM Recognizer.dll
Applications
GWES.dll
GestureAnimation.lib
TouchGesture.lib
2424
Pré-requis pour le device
Mise à jour vers Windows Embedded CE 6.0 R3Ajout de Silverlight for Windows EmbeddedAjout support de Touch and Gesture
SYSGEN_TOUCHGESTURE
Ajout support de PhysicsSYSGEN_PHYSICSENGINE
2525
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.
2626
Exemple d’utilisation
Produits grand publique :Equipement de navigation GPSElectroménager intelligentEquipement audio haut de gamme
Produits industriel :Centrale de supervision de productionLogiciel embarqué dans engins agricolesTout é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
2727
DémoThe brewery : le suivi de production de la bière dans la brasserie du 21eme siècle.
2828
Conclusion
Silverlight for Windows Embedded CE 6.0 R3Sé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.
2929
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 Embeddedhttp://fabdecret.blogspot.com
Pierre Cauchois – Micrsosoft - resp. du parcours Embeddedhttp://blogs.msdn.com/pierreca
Concours « Je vois des Windows Partout »http://msdn.microsoft.com/fr-fr/windowsembedded/msdn.windows.partout.aspx
3030
Retrouvez-nous dehors…
Stand D34 – Windows EmbeddedDes experts pour répondre à toutes vos questionsUn beau bar, de belles démos et une bonne ambiance ^^