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

JavaScript Discussion :

Granular : utilisez la puissance de WPF dans votre navigateur


Sujet :

JavaScript

  1. #1
    Expert éminent sénior

    Avatar de vermine
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    6 582
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2008
    Messages : 6 582
    Points : 79 912
    Points
    79 912
    Par défaut Granular : utilisez la puissance de WPF dans votre navigateur
    Granular : utilisez la puissance de WPF dans votre navigateur
    avec cette réimplémentation compilée en JavaScript

    Granular est une réimplémentation de WPF, Windows Presentation Foundation. Ce dernier fournit aux développeurs un modèle de programmation unifié pour la construction moderne d'applications bureautiques sur Windows.

    Granular est compilé en JavaScript, ce qui permet aux applications WPF de fonctionner dans le navigateur en utilisant le compilateur JavaScript Saltarelle C#).

    Nom : granularPad.png
Affichages : 7186
Taille : 31,2 Ko


    Mais pourquoi faire cela ?

    WPF peut être considéré comme une définition, pas uniquement comme une implémentation. Il définit plusieurs concepts avancés de l'interface utilisateur (tels que les arbres visuels/logiques, la mise en page, les événements routés, les ressources, etc.).
    Il supporte bien entendu les modèles MVVM et les autres modèles d'interface utilisateur. Granular permet de profiter de tout cela dans le Web.

    Sur le site de présentation, l'auteur donne pour exemple un projet réalisé en WPF et le même projet réalisé avec Granular. Le résultat est identique (bien entendu, ça peut varier légèrement selon le navigateur Web utilisé) :




    Le rendu est donc le plus similaire possible.

    Le principal avantage de cette approche est que le développement et les tests sont effectués uniquement dans Visual Studio, loin de n'importe quel navigateur ou débogueur JavaScript. De plus, il est inutile de manier le code HTML/CSS et les frameworks JavaScript à la mode. Granular reproduit l'API WPF, ce qui rend le processus de développement entier beaucoup plus propre et plus rapide.

    Voici quelques caractéristiques :

    • le support de xamls, du binding, des animations, etc. ;
    • l'implémentation de contrôles comme les boutons, les checkbox, les scrollbar, le champ password et bien d'autres ;
    • l'utilisation de templates et de style / mise en forme ;
    • l'interaction avec la souris et le clavier ;
    • etc.


    En pratique, l'outil peut être séparé en deux parties. La première concerne la présentation. C'est le maintien d'un arbre visuel avec des propriétés de dépendances, des événements routés, des animations, etc. La seconde concerne ce que l'on appelle le host. C'est un moteur d'affichage minimaliste et une source d'événements dits bruts. La partie présentation interagit avec la partie host de la même manière que le fait WPF (des messages MilCore, DirectX et WndProc).

    L'outil est toujours en développement et tous les retours de tests sont appréciés.

    Démonstration.
    Le site officiel.


    Et vous ?

    Que pensez-vous de cet outil ?
    Utilisez-vous WPF ou bien un outil similaire (si oui lequel) ?

  2. #2
    Membre expérimenté Avatar de dfiad77pro
    Homme Profil pro
    Responsable Architecture logicielle
    Inscrit en
    Décembre 2008
    Messages
    541
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Responsable Architecture logicielle
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2008
    Messages : 541
    Points : 1 729
    Points
    1 729
    Par défaut
    Une très bonne initiative,
    cependant les performances sont mauvaises pour le moment sur des animations simples,
    sur des grosses applications ça risque de faire mal,
    mais bravo, c'est pas simple à développer !

    A voir aussi comment se comportera l'application niveau sécurité et communication serveur.

    D'autre par la fréquence de DEV est faible ( dernier commit il y'a 23 jours), 1 seul contributeur, c'est pas facile de sortir un framework robuste avec si peu de monde.


    J'ai toujours eu une préférence pour les clients lourds coté UI,
    on à vraiment l'impression d'utiliser un logiciel (un peu un effet placebo).

  3. #3
    Membre confirmé Avatar de Issam
    Inscrit en
    Mars 2002
    Messages
    578
    Détails du profil
    Informations personnelles :
    Âge : 48

    Informations forums :
    Inscription : Mars 2002
    Messages : 578
    Points : 604
    Points
    604
    Par défaut
    pas simple la tache , mais bravo quand même .

    c'est un travail énorme que de porter WPF en HTML/js , et c'est ce que Microsoft aurait du/pu faire

    un autre projet du même type
    http://cshtml5.com/

    mais ça reste encore assez loin .

  4. #4
    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 : 42
    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
    Points : 39 749
    Points
    39 749
    Par défaut
    Enorme !

    C'est une super idée, je vais regarder ça de plus près.

    Au passage, si quelqu'un a réussi à faire ça en JS, je ne vois pas ce qui empêcherait de faire un portage de WPF vers Linux ou OS X

  5. #5
    Expert confirmé Avatar de psychadelic
    Profil pro
    Inscrit en
    Mai 2010
    Messages
    2 529
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2010
    Messages : 2 529
    Points : 4 740
    Points
    4 740
    Par défaut
    wahoo!
    mais quelle idée étrange ?

    une sorte de cuisine pour interpréter WPF en HTML !
    c'est à dire rajouter une couche logicielle sur une couche logiciel...
    * pourquoi pas, mais ça me semble tout de même un peu délirant

    Enfi peut être qu'un jour on va voir apparaitre un interpréteur WPF => HTML5, histoire de porter l'utilisation d' applis c# sur un browser.. ???
    «La pluralité des voix n'est pas une preuve, pour les vérités malaisées à découvrir, tant il est bien plus vraisemblable qu'un homme seul les ait rencontrées que tout un peuple.» [ René Descartes ] - Discours de la méthode

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2009
    Messages
    204
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2009
    Messages : 204
    Points : 540
    Points
    540
    Par défaut
    Aucun intérêt de mon point de vue.
    Comme dit plus haut les performances sont mauvaises. Il me faut 4 secondes pour exécuter le code js (qui freeze la page en attendant) ce qui est inacceptable d'un point de vue utilisateur.
    De plus, pour avoir touché à différents techno d'IHMs et notamment au XAML/WPF je trouve que c'est celle-ci qui est la plus pénible. Par contre, Blend étant assez mauvais et Visual pas toujours très utile pour le débogage de binding peut-être qu'il est possible de tirer partie que la plupart des navigateurs soient des IDEs dans une certaine mesures.

  7. #7
    Membre expert Avatar de air-dex
    Homme Profil pro
    Inscrit en
    Août 2010
    Messages
    1 655
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France

    Informations forums :
    Inscription : Août 2010
    Messages : 1 655
    Points : 3 783
    Points
    3 783
    Par défaut
    L'idée est excellente et mériterait d'être plus souvent exploitée. Je pense qu'il y a de vrais progrès à faire dans la création d'interfaces Web en général. HTML et CSS imposent leur vision de la conception d'interfaces Web et c'est marche ou crève. Soit tu marches avec eux, soit tu meurs au front (badum tsss!). HTML n'est qu'un sac à composants bas niveau et CSS agence tout ça, et sans forcément distinguer l'agencement de ces composants et leur look and feel. Le Web manque de technologies proposant des méthodes alternatives et de haut niveau pour construire des interfaces Web. React et Bootstrap feraient de bonnes bases pour la création de composants et de layouts plus haut niveau facilitant la création d'interfaces Web. Il ne resterait plus alors qu'à créer une technologie purement dédiée au look and feel qui viendrait en complément. Celui qui créera au moins un framework d'interface Web basé sur React, Bootstrap et une techno Web pour du look and feel (pourquoi pas LESS ou SASS ?) aura tout compris.

    Bref il est grand temps d'amener la conception classique d'interfaces de logiciels "à la GTK+" ou "à la Qt" sur le Web, plutôt que de tout vouloir coder à base de <span> et autres <div> pour ensuite mettre indifféremment tout le reste dans le CSS (layout de la page et look and feel). Il est temps de porter les langages d'interfaces graphique sur les navigateurs. Granular fait un pas en ce sens et je ne peux qu'apprécier. On crée bien des technos au dessus de JavaScript, comme CoffeeScript et TypeScript voire Dart (via dart2js), pour nous faciliter la tâche. Pourquoi ne le ferait-on pas avec HTML et CSS ?
    "Ils ne savaient pas que c'était impossible alors ils l'ont fait." Mark Twain

    Mon client Twitter Qt cross-platform Windows et Linux. (en cours de développement).

  8. #8
    Membre extrêmement actif
    Profil pro
    Développeur
    Inscrit en
    Mars 2012
    Messages
    1 969
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Mars 2012
    Messages : 1 969
    Points : 3 375
    Points
    3 375
    Si la réponse vous a aidé, pensez à cliquer sur +1

Discussions similaires

  1. [Autre] Easel.io : concevoir des sites dans votre navigateur
    Par rodolphebrd dans le forum Publications (X)HTML et CSS
    Réponses: 0
    Dernier message: 10/06/2013, 21h01
  2. Jouez à FreeCiv dans votre navigateur !
    Par LittleWhite dans le forum Développement 2D, 3D et Jeux
    Réponses: 7
    Dernier message: 27/05/2013, 11h22
  3. Mozilla ArchiveAPI, pour la lecture de fichiers archives dans votre navigateur
    Par vermine dans le forum Général Conception Web
    Réponses: 11
    Dernier message: 16/10/2012, 21h33
  4. Réponses: 7
    Dernier message: 14/10/2012, 11h19
  5. Coder en D dans votre navigateur web!
    Par bioinfornatics dans le forum D
    Réponses: 0
    Dernier message: 21/06/2012, 04h05

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