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 :

Ember 1.8.0 : en route vers HTMLBars


Sujet :

JavaScript

  1. #1
    Responsable Jeux-Concours

    Avatar de vermine
    Profil pro
    Inscrit en
    mars 2008
    Messages
    6 544
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : Belgique

    Informations forums :
    Inscription : mars 2008
    Messages : 6 544
    Points : 79 144
    Points
    79 144
    Par défaut Ember 1.8.0 : en route vers HTMLBars
    Ember 1.8.0 : en route vers HTMLBars


    Ember.js est un framework JavaScript permettant de créer des applications Web ambitieuses !

    En utilisant des templates intégrés, vous écrivez considérablement moins de code et vos pages se mettent à jour automatiquement lorsque les données sous-jacentes changent. Il n'est pas nécessaire de réinventer la roue car Ember.js intègre des expressions idiomatiques courantes.

    La sortie de la version 1.8.0.

    Dans les versions précédentes, le code HTML d'une page est créé (via Handlebars) et assemblé (via l'affichage de l'arbre) en utilisant la concaténation de chaînes. Dans Ember.js 1.8, les parties d'une page sont toujours créées sous forme de chaînes de caractères mais sont ensuite analysées et assemblées sous forme d'arbre DOM. Cette nouveauté porte le nom de metal-views et est un premier effort d'implémentation de HTMLBars (un compilateur pour Handlebars qui génère un arbre DOM plutôt qu'une chaîne de caractères).

    Les bénéfices sont :

    • la suppression de la récursivité de la couche d'affichage. Cela améliore le travail du garbage collector pendant l'affichage et permet la réutilisation des objets au cours de l'affichage ;
    • l'amélioration des espace de noms HTML. Cela introduit la prise en charge des composants, de la liaison de données et de la logique inline des documents SVG ;
    • le remplacement des balises <script> comme dans l'exemple suivant :
      Code html : Sélectionner tout - Visualiser dans une fenêtre à part
      1
      2
      3
      <script id="metamorph-1-start" type="text/x-placeholder"></script>
      Bob
      <script id="metamorph-1-end" type="text/x-placeholder"></script>
      Elles sont parfois gênantes. Le moteur a été ré-écrit et utilise les nœuds de texte vide (morph.js).


    Pour le reste des modifications apportées par cette nouvelle version, il y a l'éternel combat qui est d'améliorer les performances. C'est le cas notamment par l'ajout de caches pour les opérations qui manipulent des chaînes de caractères qui dovient avant tout être normalisées. Mais aussi par le support des mises à jours du moteur V8 ou bien des navigateurs.

    Notons également quelques dépréciations :

    • la classe Ember.Set qui n'est pas compatible avec les nouvelles normes ;
    • dans Ember.Map, la méthode delete remplace la méthode remove ;
    • currentWhen devient current-when ;
    • etc.


    Remarque : l'équipe tente de rester compatible dans ses révisions mineures mais doit parfois faire des changements qui peuvent avoir un impact sur votre code actuel.

    Vous trouverez la liste complète des nouveautés et corrections ici.

    C'est également l'occasion pour l'équipe d'annoncer la sortie de la version bêta 1.9.0.


    Télécharger.
    L'annonce officielle.
    La documentation.

  2. #2
    Rédacteur/Modérateur

    Avatar de SylvainPV
    Profil pro
    Inscrit en
    novembre 2012
    Messages
    3 344
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : novembre 2012
    Messages : 3 344
    Points : 9 869
    Points
    9 869
    Par défaut
    On dirait que tous les gros frameworks JS du moment (Angular, Ember, Meteor) misent sur leur couche de data-binding, alors que c'est censé être la couche superficielle d'un framework. J'aurais préféré que cette couche soit interchangeable ou distribuée séparément. Mais bon, qui dit framework dit moins de liberté de choix.
    One Web to rule them all

  3. #3
    Responsable Jeux-Concours

    Avatar de vermine
    Profil pro
    Inscrit en
    mars 2008
    Messages
    6 544
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : Belgique

    Informations forums :
    Inscription : mars 2008
    Messages : 6 544
    Points : 79 144
    Points
    79 144
    Par défaut Ember 1.8.1 : correction de régressions
    Ember 1.8.1 : correction de régressions


    L'équipe a sorti la révision 1.8.1 pour corriger des régressions engendrées par la version précédente.

    Cela concerne :

    • attributeBindings et l'inclusion de classes ;
    • le passage d'instances de vue au helper {{view}} ;
    • l'amélioration de l'optimisation pour iOS8 ;
    • le support des objets créés avec null ;
    • l'échappement des contenus non alpha ;
    • les options multiples ;
    • la gestion des espaces sous Chrome.



    Télécharger.
    L'annonce officielle.
    La documentation.

  4. #4
    Membre chevronné

    Homme Profil pro
    Mentaliste
    Inscrit en
    mars 2008
    Messages
    872
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Mentaliste
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : mars 2008
    Messages : 872
    Points : 1 811
    Points
    1 811
    Par défaut
    Citation Envoyé par SylvainPV Voir le message
    On dirait que tous les gros frameworks JS du moment (Angular, Ember, Meteor) misent sur leur couche de data-binding, alors que c'est censé être la couche superficielle d'un framework. J'aurais préféré que cette couche soit interchangeable ou distribuée séparément. Mais bon, qui dit framework dit moins de liberté de choix.
    Moi ce qui me fait marrer c'est le fait de réinventer la roue. D'ici quelques années on aura quelque chose qu'on n'a jamais vu : un bureau, avec des fenêtres, un Word, un Excel, la gestion de mail, et des applis qui font du data-binding... ah mais ça existe déjà ! Oui mais là ça sera dans un navigateur. Waaaaaaaaaaaaaaaaaahhhhhhhhhhhhhhhhhh

    Et dites moi quelle différence ça fera pour un utilisateur "basique", entre une fenêtre mode "web" et une fenêtre sur Linux ou Windows ? Bah aucune, si ce n'est que ce sera juste moins agréable... et le pire c'est que ça existe déjà (cf le l'interface Web de connexion Freebox...)

    Bon on est toujours très très loin de création d'une application totale full Windows, databindé et datagrid avec .net ou Delphi en moins de deux minutes...
    .I..

  5. #5
    Rédacteur/Modérateur
    Avatar de Logan Mauzaize
    Homme Profil pro
    Architecte technique
    Inscrit en
    août 2005
    Messages
    2 894
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Architecte technique
    Secteur : Transports

    Informations forums :
    Inscription : août 2005
    Messages : 2 894
    Points : 7 086
    Points
    7 086
    Par défaut
    C'est bien le principe des "applications Web" !
    L'avantage indéniable concerne la distribution. La maintenance et le contrôle des versions en est grandement simplifié, puisque tout le "logiciel" (binaire et/ou source) est centralisé.

    L'autre avantage repose sur l'ensemble des standards qu'offre un navigateur : HTML, JS, CSS, HTTP, URL, Web component, Offline, etc. Clairement les navigateurs deviennent des RCP.
    Le tout étant disponible (en partie) sur toutes les plateformes : Windows, Mac, iOS, Linux, BSD, Solaris, PC, tablette, smartphone, etc.
    Java : Cours et tutoriels - FAQ - Java SE 8 API - Programmation concurrente
    Ceylon : Installation - Concepts de base - Typage - Appels et arguments

    ECM = Exemple(reproduit le problème) Complet (code compilable) Minimal (ne postez pas votre application !)
    Une solution vous convient ? N'oubliez pas le tag
    Signature par pitipoisson

  6. #6
    Membre chevronné

    Homme Profil pro
    Mentaliste
    Inscrit en
    mars 2008
    Messages
    872
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Mentaliste
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : mars 2008
    Messages : 872
    Points : 1 811
    Points
    1 811
    Par défaut
    Citation Envoyé par Logan Mauzaize Voir le message
    C'est bien le principe des "applications Web" !
    L'avantage indéniable concerne la distribution. La maintenance et le contrôle des versions en est grandement simplifié, puisque tout le "logiciel" (binaire et/ou source) est centralisé.
    Windows et Linux font déjà ça depuis des années, sinon le déploiement sur un parc avec des centaines de machines

    Citation Envoyé par Logan Mauzaize Voir le message
    L'autre avantage repose sur l'ensemble des standards qu'offre un navigateur : HTML, JS, CSS, HTTP, URL, Web component, Offline, etc. Clairement les navigateurs deviennent des RCP.
    Le tout étant disponible (en partie) sur toutes les plateformes : Windows, Mac, iOS, Linux, BSD, Solaris, PC, tablette, smartphone, etc.
    Ce ne sont que des "guidelines". Rien n'est imposé, et si on veut faire n'importe quoi, on peut parfaitement. Clairement, les navigateurs reprennent ce que fait l'OS. C'est juste débile. Mais bon on a l'impression de faire quelque chose de nouveau, c'est ça qui plait en général chez les informaticiens : la nouveauté.

    Question multiplateforme, QT fait ça aussi depuis des années, et largement mieux que le monde bordélique du Web. Bref, tous ceux qui ont eu l'expérience avant, sans le Web, et maintenant, avec, me comprennent et sont tous d'accord - jamais quelqu'un qui a développé quelques années sur Windows /et/ou Linux ne m'a contredit - et tous ceux qui n'ont pas eu l'expérience - ou peu - "d'avant" le Web, sont intimement convaincus que c'est la voie à suivre. Donc je ne vais essayer de convaincre personne, je sais que je n'y arriverai pas...
    .I..

  7. #7
    Rédacteur/Modérateur
    Avatar de Logan Mauzaize
    Homme Profil pro
    Architecte technique
    Inscrit en
    août 2005
    Messages
    2 894
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Architecte technique
    Secteur : Transports

    Informations forums :
    Inscription : août 2005
    Messages : 2 894
    Points : 7 086
    Points
    7 086
    Par défaut
    Ca tombe bien j'ai travaillé sur différents types d'applications (domaine métier, infrastructure, etc), notamment du Web, du client lourd et du RCP. Je n'ai aucun partie pris, chacun a ses avantages et inconvénients.

    Mais dire que les "applications Web" (et plus globalement les "plateformes clients", RCP inclus) n'ont pas d'utilité, c'est en revanche un discours sur lequel je ne suis pas d'accord (On est d'accord sur le fait qu'on a chacun nos opinions ).

    Je vois mal un client téléchargé manuellement l'application de chaque "site" qu'il visite : Facebook, Twitter, Amazon, etc. Pourtant c'est bien ce qu'il se passe derrière grâce "à la magie" du Web. Comparé le déploiement d'un client lourd à celui d'une application Web, c'est simplement méconnaître le problème.

    Surtout depuis l'arrivée de Windows Vista (et cela s'applique également à Linux) dès lors qu'on veut une installation commune à plusieurs utilisateurs. Sinon la solution d'installer sous "HOME" fonctionne bien. La télédistribution que tu évoques fonctionne qu'en partie en entreprise mais n'est absolument pas une solution sous Android/iOS (pour Mac OS, je ne sais pas) et encore moins pour un particulier.
    Même s'il existe les stores, les clients sont libres de se mettre à jour ou pas. C'est déjà la galère de gérer un parc matériel étendu, alors logiciel j'en parle même pas.

    Vu la galère que c'est pour gérer des patchs, la plupart des applications reposent sur la réinstallation "par dessus" ou à côté pour gérer les mises à jour. Et la plupart nécessite de tout faire manuellement (téléchargement, installation).

    Enfin tout le monde possède un navigateur, c'est moins vrai d'une plateforme RCP.
    Java : Cours et tutoriels - FAQ - Java SE 8 API - Programmation concurrente
    Ceylon : Installation - Concepts de base - Typage - Appels et arguments

    ECM = Exemple(reproduit le problème) Complet (code compilable) Minimal (ne postez pas votre application !)
    Une solution vous convient ? N'oubliez pas le tag
    Signature par pitipoisson

  8. #8
    Rédacteur/Modérateur

    Avatar de SylvainPV
    Profil pro
    Inscrit en
    novembre 2012
    Messages
    3 344
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : novembre 2012
    Messages : 3 344
    Points : 9 869
    Points
    9 869
    Par défaut
    Il n'y a pas de comparaison possible entre une boîte de dev comme Qt Software et un consortium international comme le W3C...
    One Web to rule them all

Discussions similaires

  1. La route vers Mageia 5
    Par troumad dans le forum Mandriva / Mageia
    Réponses: 0
    Dernier message: 11/11/2014, 17h52
  2. /26 routé vers une ip d'un /27
    Par furtif1 dans le forum Réseau
    Réponses: 9
    Dernier message: 18/05/2013, 09h00
  3. En route vers l'agilité, SCRUM et XP : retour d'expérience
    Par rad_hass dans le forum Méthodes Agiles
    Réponses: 7
    Dernier message: 16/09/2010, 20h37

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