J'ai finalisé récemment l'écriture de mon livre Pratique de Silverlight dédié à la technologie du même nom. Celui-ci devrait faire plus de 500 pages et s'articule autour de l'apprentissage des bonnes pratiques de production en équipe. Il est édité par Pearson Education France et sort le 2 février 2010. Je ne l'ai pas conçu comme un glossaire de fonctionnalités mais plutôt comme un guide de production et d'apprentissage. Il trace un portrait robot de la conception d'applications Silverlight, en partant de la liste d'affichage jusqu'au chargement de données externes au sein du modèle de conception MVVM en passant par le prototypage ou l'organisation des flux de production.
L'idée générale du livre est de fournir des exemples concrets téléchargeables aussi bien pour les graphistes que pour les développeurs. Vous pouvez en réserver un exemplaire sur le site de Pearson France ici.

Cet ouvrage s'adresse aux intégrateurs Web, aux designers interactifs, aux graphistes purs et aux développeurs web peu familier de la plateforme .Net. Il crée un pont entre développement et graphisme, pour améliorer la collaboration et la productivité.
Son contenu prend en compte les spécificités des développeurs et des designers interactifs sous formes d'exercices complémentaires. Le C# est choisi comme seul langage logique pour plus de clarté. La théorie, les exemples et exercices (téléchargeables) sont progressifs et peuvent constituer une base d’apprentissage pour les non développeurs. Toutefois ce livre ne s’adresse pas aux débutants du Web, mais bien aux personnes qui possèdent des bases acquises sur d’autres technologies.
Voici le sommaire du livre
Partie I. Approche de Silverlight
1. Introduction
1.1 Qu’est-ce que Silverlight ?
1.2 De .Net 1 à Silverlight
1.3 Les avantages de Silverlight
1.4 La suite Expression Studio
1.5 Positionnement métier
1.6 Langages de développement et choix
2. Le couple XAML / C#
2.1 XML
2.2 XAML, un langage déclaratif puissant
2.3 Les fondamentaux du langage C#
3. HelloWorld
3.1 Une première application Silverlight
3.2 Architecture d'une solution
3.3 Le conteneur racine
3.4 Ajouter du texte
3.5 Tester et compiler
4. Un site plein écran en 2 minutes
4.1 Les projets de type site Internet
4.2 Créer des conteneurs redimensionnables
4.3 Le composant bouton
4.4 Ajouter de l’interactivité
4.5 Fichiers déployés
5. L’arbre visuel et logique
5.1 Composants visuels
5.2 Principe d’imbrication
5.3 Ajouter des enfants à la liste d’affichage
5.4 Supprimer des objets de l’arbre visuel
5.5 Échanges d’index
Partie II. Interactivité et création graphique
6. Animations
6.1 Introduction
6.2 Animer avec Expression Blend
6.3 Gérer l’accélération
6.4 Animer avec C
6.5 Les transformations relatives
6.6 Animer des particules
7. Boutons personnalisés
7.1 Créer un lecteur vidéo
7.2 Style visuel
7.3 Bouton générique
7.4 Le gestionnaire d’états visuels
7.5 Le bouton interrupteur ou ToggleButton
8. Interactivité et modèle événementiel
8.1 Les fondements du modèle événementiel
8.2 Supprimer l’écoute d’un événement
8.3 Le couplage faible en pratique
8.4 Propagation événementielle
8.5 Les comportements
9. Les bases de la projection 3D
9.1 L’environnement 3D
9.2 Les propriétés 3D
9.3 La caméra
9.4 Introduction aux matrices
10. Prototypage dynamique avec SketchFlow
10.1 L’environnement
10.2 Prototype simple
10.3 Le lecteur SketchFlow
10.4 Interactivité
10.5 Interface riche
Partie III. Conception d’applications riches
11. Ressources graphiques
11.1 Qu’est-ce qu’une ressource
11.2 Les pinceaux
11.3 Les polices de caractères
11.4 Styles et modèles de composants
11.5 Le modèle Slider
11.6 Les liaisons
11.7 Le modèle ListBox
12. Composants personnalisés
12.1 Contrôle utilisateur
12.2 Boîte de connexion
12.3 Contrôles personnalisables
13. Médias et données
13.1 Chargement de médias
13.1.1 Chargement dynamique d’images
13.1.2 Formats vidéo et modes de diffusion
13.1.3 Un lecteur vidéo simple
13.1.4 Chargement dynamique de vidéos
13.2 Conception MVVM
13.2.1 Principes
12.2.2 Modèle
12.2.3 Vue-Modèle
13.3 Chargement de données
13.3.1 L’objet WebClient
13.3.2 Introduction à LINQ
13.3.3 Expression lambda
13.3.4 Consommer du XML avec LINQ
13.3.5 Charger un flux JSON
13.3.6 Sécurité inter-domaine