BT

Diffuser les Connaissances et l'Innovation dans le Développement Logiciel d'Entreprise

Contribuez

Sujets

Sélectionner votre région

Accueil InfoQ Actualités Développements de Google Dart : Polymer remplace Web UI

Développements de Google Dart : Polymer remplace Web UI

Développements de Google Dart : Polymer remplace Web UI

Google Dart va abandonner Web UI pour le remplacer par Polymer. De l'extérieur, les principales différences sont dans le data binding et la gestion des évènements.

L'équipe Dart de Google a commencé le portage de Polymer en Dart. Un certain nombre de composants ont déjà été réalisés et packagés : observe, mdv, shadow_dom, polymer.dart. D'après John Messerly, un ingénieur Dart, les fonctionnalités restantes seront complétés dans un futur proche. Cela comprend :

  • <polymer-element> déclaratifs et composants spécialisés.

  • Plus de packages pour le polyfill. Des nouveaux et des mises à jours comme par exemple html_imports.

  • Suppression de l'étape obligatoire de compiler polymer.dart. Il suffira d'éditer, sauvegarder et rafraîchir !

  • Réalisation des éléments de Polymer UI en Dart.

  • Mise à jour de la documentation pour tous ces beaux éléments !

Google Polymer est un nouveau framework pour créer des applications Web basées sur les Web Components, et il promet de permettre l'utilisation de toutes les dernières fonctionnalités du standard HTML5 pour tous les navigateurs evergreen (ndt : navigateur qui se met à jour automatiquement) en utilisant des polyfills pour compenser les fonctionnalités manquantes dans chacun d'entre eux. Polymer semble prometteur et cela peut être une bonne idée d'en avoir un support natif dans Dart. Mais Google souhaite supprimer Web UI, le framework qu'utilisait Dart pour les interfaces jusque là. Web UI avait également été construit sur l'idée de fonctionner à partir des standards de l'HTML5 tels que les Web Components et les Model-Driven Views.

Ce changement pour un nouveau framework UI pour Dart a pris certains utilisateurs par surprise :

Thomas Løcke : Comprenez moi bien, je suis content d'avoir Polymer, mais je suis également très triste de voir web_ui disparaitre. J'ai déjà BEAUCOUP d'homme-jour investis sur web_ui.

Bernd Wessels : Que vient-il après Polymer.dart ? Je doute que le principal framework UI pour Dart (le futur du développement Web) sera basé sur un ensemble diffus de polyfill !?

Ce que je veux dire, c'est qu'après avoir attendu si longtemps pour une release de Dart, cela devient très frustrant de se dire que Dart n'a pas de fondement stable sur le développement d'UI.

Plusieurs ingénieurs de Google ont tenté d'apaiser les craintes que Dart n'allais pas être stable de si tôt et ont expliqué pourquoi ils ont choisi de partir avec Polymer.dart :

John Messerly : Une des choses excitantes avec un nouveau langage comme Dart est qu'il est possible d'aller directement au futur du développement Web. Je ne suis pas sûr qu'il y ait d’autre façon de faire la chose ; n'importe quel nouveau framework ou librairie UI va mettre du temps à être stabilisé. En embrassant les Web Components et les efforts de standardisation, nous supportons et bénéficions d'un effort qui a le potentiel de faire du Web le meilleur endroit où développer.

Kasper Lund : Nous sommes toujours en train de stabiliser le reste de l'API de la plateforme. Les parties les plus difficiles sont celles en rapport avec les navigateurs, car ils ont tendances à changer et s'améliorer sur le temps sous nos pieds.

Heureusement pour les développeurs qui ont investi du temps à faire des applications Web avec Dart, les changements extérieurs entre les deux différents frameworks UI ne sont pas importants. Faire le portage de l'un à l'autre est plutôt rapide ainsi que l'explique Justin Fagnani, un autre ingénieur Dart :

Les différences ne sont pas si importantes, car tout est basés dans les couches basses sur le shadow DOM, les custom elements, MDV, HTML imports, etc. Vous manipulez toujours les balises <element>, <template>, <content> et les bindings avec {{ }}. Certaines spécificités ont changées, comme comment les données du modèle sont liée aux templates, la syntaxe du binding, comment les attributs sont associés aux propriétés, etc. Les changements sont dûs en partie à cause de l'adoption de Polymer, mais également en partie à cause de l'évolution de MDV, donc ces changements seraient arrivés de toute façon.

Voici ci-dessous deux exemples de code pris de deux exemples d'implémentations de To-do, montrant les différences d'utilisation des deux frameworks.

Web UI :

    <ul id="todo-list">
        <template iterate="x in app.todos">
            <template if="viewModel.isVisible(x)">
                <todo-row todo="{{x}}"></todo-row>
            </template>
        </template>
    </ul>

Polymer.dart :

    <ul id="todo-list">
        <template repeat="{{app.visibleTodos}}">
            <li is="todo-row" todo="{{}}"></li>
        </template>
    </ul>

Pendant que les ingénieurs de Dart introduisent les dernières technologies dans le langage, de tels changements montrent comme il est risqué de parier sur une technologie qui n'est pas mature ou suffisamment stable. Comme la page d'accueil de Polymer le dit : "Polymer est en mode pre-alpha et seulement l'audacieux peut s'y aventurer".

Plus d'informations sur Polymer peuvent être trouvées dans les actualitées InfoQ : Utilisez les Web Components dès aujourd'hui avec Polymer de Google.

Angular.js, un autre framework important de Google, est en cours de portage en Dart. Plus d'information dans cette actualité AngularJS porté vers Dart.

Evaluer cet article

Pertinence
Style

Contenu Éducatif

BT