+ Répondre à la discussion Actualité déjà publiée
  1. #1
    Responsable JavaScript & AJAX

    Avatar de vermine
    Profil pro
    Inscrit en
    mars 2008
    Messages
    5 841
    Détails du profil
    Informations personnelles :
    Âge : 32
    Localisation : Belgique

    Informations forums :
    Inscription : mars 2008
    Messages : 5 841
    Points : 65 806
    Points
    65 806

    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 : 5706
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 éprouvé Avatar de dfiad77pro
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    décembre 2008
    Messages
    422
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 28
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : décembre 2008
    Messages : 422
    Points : 1 243
    Points
    1 243

    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
    549
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : mars 2002
    Messages : 549
    Points : 516
    Points
    516

    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 795
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    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 795
    Points : 40 144
    Points
    40 144

    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
    Membre chevronné Avatar de psychadelic
    Profil pro
    Inscrit en
    mai 2010
    Messages
    858
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : mai 2010
    Messages : 858
    Points : 2 014
    Points
    2 014

    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 actif
    Profil pro
    Inscrit en
    septembre 2009
    Messages
    105
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : septembre 2009
    Messages : 105
    Points : 241
    Points
    241

    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 émérite Avatar de air-dex
    Homme Profil pro
    Inscrit en
    août 2010
    Messages
    1 347
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 28
    Localisation : France

    Informations forums :
    Inscription : août 2010
    Messages : 1 347
    Points : 2 810
    Points
    2 810

    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 éprouvé
    Profil pro
    Développeur
    Inscrit en
    mars 2012
    Messages
    871
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

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

    Informations forums :
    Inscription : mars 2012
    Messages : 871
    Points : 1 274
    Points
    1 274
    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, 22h01
  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, 12h22
  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, 22h33
  4. Réponses: 7
    Dernier message: 14/10/2012, 12h19
  5. Coder en D dans votre navigateur web!
    Par bioinfornatics dans le forum D
    Réponses: 0
    Dernier message: 21/06/2012, 05h05

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