IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Silverlight Discussion :

Comment ça marche ?


Sujet :

Silverlight

  1. #1
    Membre expérimenté
    Avatar de zooffy
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Août 2004
    Messages
    3 895
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Chef de projet MOA
    Secteur : Bâtiment

    Informations forums :
    Inscription : Août 2004
    Messages : 3 895
    Par défaut Comment ça marche ?
    Désolé pour ce titre débile, mais bon, je me soigne....

    Alors voilà, j'ai lu le forum ici présent dans l'espoir de trouver une réponse simple à ma question simple, amis j'ai pas trouvé.

    Je suis dans le .NET et je travaille avec VS 2005. Je "maitrise" VB.NET dans son application ASP.NET.
    Je bredouille quelques mots de XML et j'ai une bonne idée de ce que peux faire Flash.

    Alors questions :
    - est il obligatoire d'avoir VS 2008 pour faire du Silver Light ?
    - est ce que Silver Light permet bien de faire des truc du genre de Flash, mais plus intérgré à ASP .NET et plus simplement ?
    - trés grossièrement, comment ça marche ?

    Merci de vous arrêtez deux minutes pour me répondre, je sais que c'est chiant les mecs qui pose les questions de base, mais là, je lis plein de puis deux plombes et je capte toujours pas.

    Ah, j'oubliais :
    - le bouton rechercher fonctionne trés bien, mais j'ai pas du metre les bons mot clé
    - GOOGLE est un trés bon ami, on a même bu une bonne bière hier soir, mais il n'a pas su me dire exactement ce que je voulais.
    - j'ai bien dormi cette nuit (contrairement à celle d'avant) et mon cerveau à l'air pas trop mal se porter.

    Bonne journée à tous

  2. #2
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Par défaut
    tu trouveras sans doute la plupart des réponses ici :
    http://dotnet.developpez.com/faq/silverlight/

  3. #3
    Membre expérimenté
    Avatar de zooffy
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Août 2004
    Messages
    3 895
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Chef de projet MOA
    Secteur : Bâtiment

    Informations forums :
    Inscription : Août 2004
    Messages : 3 895
    Par défaut
    Ouais, je savais bien que j'avais oublié un truc dans ma liste : la FAQ aussi, je l'ai lue et j'ai pas trouvé.

    Et du coup, j'oublie encore un détail : je suis né à Cherbourg, donc en France. J'ai fait le collège, jusqu'en troisième. C'était tellement bien que j'en fait deux.
    Mes notes en Anglais étaient, de la 6° à la 3° : 9.5, 7, 5, 3 ,2. Je vous laisse deviner ce qui se cache dérrière cette information de premier ordre.
    Et en plus, étant fondamentalement contre l'Europe, je n'ai absolument pas envie de parler une autre langaue que la mienne, sauf le Breton, mais c'est pas pareil, c'est plus joli.
    Et oui, parfois, un gars de 38 ans, autodidacte, c'est chiant, mais bon, je me soigne un peu, tout de même.

    Donc sur mes trois questions je n'ai toujours aucune réponse. Prenons la première, par exemple : sur beaucoup de document que j'ai lu qu'on parle de faire du SilverLight avec VS 2008. Mais jamais on ne parle de VS 2005. Mais est ce que cela implique que c'est pas possible avec VS 2005 ? pas de manière empirique en tout cas. Evidement, si la réponse est oui, la question suivante est : comment ?

    Merci pour ton aide.

  4. #4
    Expert confirmé
    Avatar de Skyounet
    Homme Profil pro
    Software Engineer
    Inscrit en
    Mars 2005
    Messages
    6 380
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Software Engineer
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 6 380
    Par défaut
    Citation Envoyé par zooffy Voir le message
    Alors questions :
    - est il obligatoire d'avoir VS 2008 pour faire du Silver Light ?
    Oui !
    A voir si ça fonctionne avec les versions express je sais pas.

    - est ce que Silver Light permet bien de faire des truc du genre de Flash, mais plus intérgré à ASP .NET et plus simplement ?
    Pas comme Flash, mais plutôt comme Flex, c'est-à-dire des RIA (rich internet application (pas trop dur à traduire), mais on peut très bien faire des jeux avec. C'est pas spécialement intégré à ASP.NET, mais plutôt à la plateforme .NET (communication avec WCF par exemple).

    - trés grossièrement, comment ça marche ?
    Tu décris ton interface en XAML (une sorte de XML amélioré), et ensuite tu effectues tes traitements en C# (ou VB.NET).

    C'est comme du WPF si tu connais.

    Exemple :

    Code xml : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    <UserControl x:Class="TestSilverlight.Page"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
        xmlns:local="clr-namespace:TestSilverlight"
        xmlns:data="clr-namespace:System.Windows.Controls;assembly=System.Windows.Controls.Data"
        xmlns:cx="clr-namespace:System.Windows.Controls;assembly=System.Windows.Controls.Extended"  
        Width="800" Height="600">
        <Grid x:Name="LayoutRoot" Background="White">
            <TextBlock Text="Hello Silverlight" />
        </Grid>
    </UserControl>

    Ca affiche tout simplement Hello Silverlight sur ton application.

    Après y'a des notions assez évoluées comme le binding, les templates et compagnie.

  5. #5
    Membre expérimenté
    Avatar de zooffy
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Août 2004
    Messages
    3 895
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Chef de projet MOA
    Secteur : Bâtiment

    Informations forums :
    Inscription : Août 2004
    Messages : 3 895
    Par défaut
    Dédiou, ça c'est de la réponse claire. Merci,Merci,Merci.

    Donc, tant que j'ai pas VS 2008, je peux me brosser (comme Martine) pour faire du Silver Light. Dans ce que j'ai vu, ça marche avec la version Express.

    Ensuite, je connais pas Flex ni WCF, mais je vais farfouiller pour voir à quoi ça ressemble.

    Donc, j'ai refais un tour avec ces infos et j'ai mieux compris des choses. Y a quand même beaucoup de JScript pour faire tourner tout ça, enfin sur le version 1.
    Je n'ai pas compris la version 2 et surtout, j'arrive pas à imaginer le lien avec les traitements serveur.
    Prenons un exemple tout con :
    j'ai vu comment faire pour afficher un rectangle bleu avec un bouton gris en bas à droite (enfin presque, j'arrive pas à le mettre à droite, mais c'est pas grave). J'ai vu comment mettre du texte dedans. Par contre, je n'arrive pas à comprendre comment aller cherche ce texte en BDD et l'injecter.
    En gros, je n'arrive pas à faire le lien entre ce que j'écris dans le DIV côté HTML et les procédures que je pourrais mettre en place côté CodeBehind.

    Ah, oui, j'ai fini par trouver le moyen de faire un peu avec VS 2005, mais chiotte, tout à la main, pas d'autocomplétion, pas de template, rien, que dalle.
    Du coup, le XAML, ben oualala, faut y aller. Et en plus, j'ai pas encore trouvé un site qui propose une bonne présentation des "balises" et de leur propriétés. Même le www.xmal.fr n'est pas top, top, sur le sujet, enfin je trouve.

    Enfin, j'aurais encore une question de plus : heu, je peux en rajouter avec un coup d'AJAX ? Où y a un risque que cela deviennent vraiment trop fort pour moi, mon p'tit gars !

    Merci pour ton aide.

  6. #6
    Expert confirmé
    Avatar de Skyounet
    Homme Profil pro
    Software Engineer
    Inscrit en
    Mars 2005
    Messages
    6 380
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Software Engineer
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 6 380
    Par défaut
    Citation Envoyé par zooffy Voir le message
    Donc, j'ai refais un tour avec ces infos et j'ai mieux compris des choses. Y a quand même beaucoup de JScript pour faire tourner tout ça, enfin sur le version 1.
    En Silverlight 1.0, fallait faire tout le traitement en JS.

    Je n'ai pas compris la version 2 et surtout, j'arrive pas à imaginer le lien avec les traitements serveur.
    Il n'y a aucun traitement serveur en Silverlight, tout est côté client.
    Le client arrive sur ton site, le plugin Silverlight télécharge le .xap (qui contient ton appli) et tout est executé côté client par le runtime Silverlight.

    pas à comprendre comment aller cherche ce texte en BDD et l'injecter.
    Pour communiquer avec une BDD (sur un serveur donc), ton application doit elle même communiquer avec un service (WCF, asmx...) qui est chargé d'aller chercher les infos en base et de les retourner à ton appli. Ton service tourne donc (en général) sur le même serveur que celui où se trouve ta BDD.

    Et en plus, j'ai pas encore trouvé un site qui propose une bonne présentation des "balises" et de leur propriétés. Même le www.xmal.fr n'est pas top, top, sur le sujet, enfin je trouve.
    En Silverlight y'en a pas énormément. Mais sans autocomplétion c'est mission impossible.
    Par contre tu peux utiliser Microsoft Expression Blend 2.5 (CTP June je crois), qui est un outil de graphiste pour créer les interfaces en XAML.

    Enfin, j'aurais encore une question de plus : heu, je peux en rajouter avec un coup d'AJAX ? Où y a un risque que cela deviennent vraiment trop fort pour moi, mon p'tit gars !
    Comment ça de l'AJAX ?

  7. #7
    Membre expérimenté
    Avatar de zooffy
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Août 2004
    Messages
    3 895
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Chef de projet MOA
    Secteur : Bâtiment

    Informations forums :
    Inscription : Août 2004
    Messages : 3 895
    Par défaut
    Eh, tu serais pas prof ou formateur par hasard ? Parce que, ça c'est de l'explication de texte, mais d'une qualité comme j'en ai pas croisé de puis un bout de temps, vraiment : BRAVO
    Heu, les autres qui aprlent avec moi, ne soyez pas jaloux parce que je fais un compliment vous aussi vous avez des qualités.....

    Bref, revenons à nos moutons.
    le .xap c'est un format de fichier spécifique à SilverLight ? Est ce que, dans l'approche global du problème, cela ressemble au SWF de Falsh ?
    Parce que, ce que j'ai fait pour l'instant (qui visiblement doit être du SL 1.0) y pas de ce truc là.

    Sur les traitements serveur : si je comprend bien, on ne fait même plus de page ASPX. On fait un service ASMX (par exemple) qui va tout gérer pour le lien vers la BDD. Mais j'ai encore du mal à comprendre où on mets l'intelligence du la page. Est ce que cela implqiue que si je fais une appli SL je ne vais plus causer en VB.NET (sauf dans le ASMX) et surtout, comment je fais le lien entre le ASMX et le SL. J'irai voir jsute aprés le WCF de plus prêt.
    Parce que, appeller un ASMX à partir d'une apge ASPX je sais faire. Par exemple j'ai fais un ASMX qui sait aller cherche des trucs dans une BDD (une lsite de commuen par exemple) et qui renvoi deux colone : identifiant et nom de la commune). Et dans ma page ASPX j'ai fais une liste déroulante qui se nourri de ça. Mais j'arrive pas àvoir comment je pourrais faire ça avec le xaml que j'ai fait, par exemple. Ou alors, il me manque l'outil qui va bien pour bien voir.

    Sur l'AJAX : on sait que AJAX nous permet de faire des pages qui ne se rechager pas intégralement, avec des UpdatePanel. Alors est ce qu'il parait utile/agréable/fonctionnel/pas idiot d'imaginer mettre des "composants" SL dans un ou plusieurs UpdatePanel et travailler en aller/retour serveur sans recharger la page ? Est ce que ma question est plus claires ?

    En tout cas merci pour ta patience.
    Là, je vais aller voir VS 2008 Expres (et surtout si on peut l'installer à côté de VS 2005 sans mettre la grouille) et WCF.

  8. #8
    Expert confirmé
    Avatar de Skyounet
    Homme Profil pro
    Software Engineer
    Inscrit en
    Mars 2005
    Messages
    6 380
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Software Engineer
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 6 380
    Par défaut
    Citation Envoyé par zooffy Voir le message
    Eh, tu serais pas prof ou formateur par hasard ? Parce que, ça c'est de l'explication de texte, mais d'une qualité comme j'en ai pas croisé de puis un bout de temps, vraiment : BRAVO
    Merci

    le .xap c'est un format de fichier spécifique à SilverLight ? Est ce que, dans l'approche global du problème, cela ressemble au SWF de Falsh ?
    Parce que, ce que j'ai fait pour l'instant (qui visiblement doit être du SL 1.0) y pas de ce truc là.
    Le .xap est spécifique à Silverlight 2 (je me souviens plus comment ça marchait en SL 1). En fait c'est tout bête c'est simplement un fichier zip (sauf qu'il s'appelle xap) et si tu l'ouvres (avec 7zip ou winzip) tu vois qu'il contient un AppManifest.xaml qui recense les dll utiles à ton application, et qui contient également toutes les dll de ton application, afin que le client puisse exécuter tout ça correctement

    Sur les traitements serveur : si je comprend bien, on ne fait même plus de page ASPX. On fait un service ASMX (par exemple) qui va tout gérer pour le lien vers la BDD. Mais j'ai encore du mal à comprendre où on mets l'intelligence du la page.
    Typiquement ta page aspx contient seulement la balise Silverlight

    Code xml : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <asp:Silverlight ID="Xaml1" runat="server" Source="~/ClientBin/TestSilverlight.xap"
        MinimumVersion="2.0.30523" Width="100%" Height="100%" />

    Ensuite imaginons que ton application contienne une ListBox dans laquelle tu veux afficher le nom des personnes dans un table Persons.
    Tu crées un WebService qui va chercher les infos en bases et retourne un string[] par exemple.

    Dans ton application Silverlight, on va rajouter un bouton pour faire le traitement, et le code du bouton sera lui en c# (ou vb.net).

    On a donc d'un côté le XAML

    Code xml : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    <UserControl x:Class="TestSilverlight.Page"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
        xmlns:local="clr-namespace:TestSilverlight"
        xmlns:data="clr-namespace:System.Windows.Controls;assembly=System.Windows.Controls.Data"
        xmlns:cx="clr-namespace:System.Windows.Controls;assembly=System.Windows.Controls.Extended"  
        Width="800" Height="600">
        <StackPanel x:Name="LayoutRoot" Background="White">
            <ListBox>
                <ListBox.ItemTemplate>
                    <DataTemplate>
                        <TextBlock Text="{Binding}" />
                    </DataTemplate>
                </ListBox.ItemTemplate>
            </ListBox>
            <Button x:Name="button1" Content="Va chercher" Click="button1_Click" />
        </StackPanel>
    </UserControl>

    Avec une balise root (UserControl).
    Ensuite le système de positionnement qu'on utilise (ici un StackPanel mais on peut remplace par un Grid ou un Canvas).
    On met ensuite une Listbox et un Button.
    On remarque l'évènement Click sur le bouton, et c'est là qu'on va trouver notre code c# (vb.net).

    Chaque xaml est associé à un xaml.cs (à la manière des aspx et aspx.cs).

    Code c# : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    public partial class Page : UserControl
    {
        public Page()
        {
            InitializeComponent();
        }
     
        private void button1_Click(object sender, RoutedEventArgs e)
        {
     
        }
    }

    La dans le clic du bouton on va appeler notre webservice et remplir notre listbox avec le résultat.
    Les webservices fonctionnent comme avec un projet .net normal, cad on fait clic droit -> ajouter une référence web et visual studio nous génère la classe proxy à utiliser.

    Sur l'AJAX : on sait que AJAX nous permet de faire des pages qui ne se rechager pas intégralement, avec des UpdatePanel. Alors est ce qu'il parait utile/agréable/fonctionnel/pas idiot d'imaginer mettre des "composants" SL dans un ou plusieurs UpdatePanel et travailler en aller/retour serveur sans recharger la page ? Est ce que ma question est plus claires ?
    Une application Silverlight ne peut pas faire de postback sur la page.
    Il n'y a jamais de rechargement de ta page, peu importe le traitement que tu effectues dans ton application Silverlight.

    Après si tu vas une dropdownlist qui effectue un postback sur ta page aspx, alors là oui ton application sera rechargée entièrement, d'où l'utilité de mettre ta dropdownlist dans un updatepanel.
    Mais pour l'application Silverlight, c'est pas nécessaire.

    Là, je vais aller voir VS 2008 Expres (et surtout si on peut l'installer à côté de VS 2005 sans mettre la grouille)
    Oui on peut, j'ai eu un temps VS 2005 pro, VS 2008 pro et vs 2005 express sans aucun soucis.

    Pour finir n'hésite pas à lire mon article d'introduction sur Silverlight 2.
    http://broux.developpez.com/articles...silverlight-2/

  9. #9
    Membre expérimenté
    Avatar de zooffy
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Août 2004
    Messages
    3 895
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Chef de projet MOA
    Secteur : Bâtiment

    Informations forums :
    Inscription : Août 2004
    Messages : 3 895
    Par défaut
    Bon, alors un grand merci pour tout ça, c'est super cool.

    Je suis en train de charger VS 2008 Express, j'installe et je test tout ça.

    Je vais boucler ce topic pour faire propre et je pense que je reviendrais poser plein de question de développement, quand je me serais mis sur ma première appli, j'espère bientôt, parce que ça "pète sévère grave sa mère" SilverLight.

    Faut aussi que je vois le fameux Blend.

    Allez, merci et Kenavo

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. ToAsciiEx, comment cela marche ?
    Par mikyfpc dans le forum C++Builder
    Réponses: 2
    Dernier message: 17/02/2004, 21h39
  2. [MFC] list box : comment ça marche
    Par runn2 dans le forum MFC
    Réponses: 4
    Dernier message: 28/01/2004, 12h36
  3. [SYNEDIT] -> Comment ça marche ?
    Par MaTHieU_ dans le forum C++Builder
    Réponses: 2
    Dernier message: 18/01/2004, 19h11
  4. [TP][Turbo Vision] comment ça marche ??
    Par Costello dans le forum Turbo Pascal
    Réponses: 7
    Dernier message: 05/08/2003, 00h24
  5. [update][req. imbriquee] Comment ca marche ??
    Par terziann dans le forum Langage SQL
    Réponses: 3
    Dernier message: 11/07/2003, 12h51

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo