# Programmation .NET/Applet Silverlight

* Introduction
* Glossaire

## Développement

* Outils de développement
* Internationalisation
* Applet Silverlight

## Ressources

* Bibliographie
* Liens
* Introduction
* Glossaire

## Développement

* Outils de développement
* Internationalisation
* Applet Silverlight

## Ressources

* Bibliographie
* Liens
[ Modifier le sommaire ]
Les chapitres suivant reprennent le plan utilisé pour les applets Java.

## Structure d'une page HTML

Une applet Silverlight est indépendante du serveur et contient du code XML (XAML) et un script écrit dans un langage compatible avec l'implémentation Microsoft de la Common Language Infrastructure.

### Silverlight dynamique (control)

Une applet Silverlight est un fichier d'extension xap. xap est un fichier zip contenant des fichiers (XAML et DLL). XAML est l'interface vectorielle et dll est le fichier compilé provenant du code source provenant d'un fichier texte dont l'extension est liée au langage utilisé : py (ironpython), vb (Visualbasic), cs (C sharp). Le rendu visuel de SilverlightApplication.xap situé dans le même répertoire que la page HTML peut se faire par plusieurs méthodes :
* directe dans la balise object ;
* indirecte dans la balise div associé a plusieurs balises script (2 fichiers .js et une zone de code qui affiche xaml dans la balise div).

## Structure d'une applet Silverlight

Tous les fichiers de l'environnement Microsoft .NET est toujours associé d'un fichier xaml (*.xaml) contenant des identifiants utilisés dans un fichier associé d'extension spécifique au langage utilisé (*.xaml.cs pour un projet C#).

### Écriture du code source

Le fichier xaml contenant l'interface wpf est compressé et compilé en un fichier Binary Application Markup Language (BAML) qui est incorporé dans l'assembly. Les fichiers xaml peuvent être édité en utilisant l'éditeur XamlPadXet kaxaml

### Écriture du fichier xaml

Le fichier xaml subit de nombreuses modifications entre la version 1.1 et 2.0 concernant le nom de l'espace de nom et les tag racines.
* La balise racine a pour nom UserControl et pas Window (application wpf).
* le namespace change selon les versions.
Différence
| Nersion | Namespace |
| 1.1 | xmlns="http://schemas.microsoft.com/client/2007" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" |
| 2.0 | xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" |
| Défaut | <UserControl x:Class="SilverlightApplication1.Page" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" Width="400" Height="300"> |

## Compilation

La compilation utilise un compilateur et un fichier de compilation et des librairies spécifiques à la plateforme utilisé
* Novell Suse Monlight
Le projet mono utilise IKVM qui est une machine virtuelle implémenté en .NET fonctionnant sur les implémentation de la Common Language Infrastructure (.NET et Mono). IKVM possède un compilateur java vers bytecode et .NET IL compatible CLI. L'installation semble nécessiter des connaissances en compilation make .
* Microsoft Windows Framework.Net :
Microsoft utilise actuellement msbuild fournit dans chaque version du framework et utilisé par Visual Studio (projet *.csproj

## Configuration serveur

Il faut configurer les types mime associé aux extensions de fichier sur le serveur (web.config)

## Succès d'une applet Silverlight

La technologie est très récente, évolue (1.0 et 2.0) et est encore peu connue du grand public. D'un point de vue de l'animation, la solution est plus mature que java qui ne possède pas d'équivalent à la suite Microsoft Expression Studio. D'un point de vue de programmation,la solution est plus mature que l'environnement de développement Flash MX de Macromédia. Face à la puissance d'un Visual Studio ; l'environnement de développement java Eclipse semble faire front avec des versions spécifique pour Flash (Lazlo), Java (Tomcat) et XML.

## Vérification de la présence de la machine virtuelle

Le lecteur est téléchargeable à http://go.microsoft.com/fwlink/?LinkID=124807 Le fichier Silverlight.js se charge automatiquement de rafraîchir la page si nécessaire pour que l’utilisateur voie le site une fois le plugin installé.

## Références

* ↑ http://www.mono-project.com/Java