« GWT et les développeurs .NETVS 2010 met la barre très haute »

Adresse de trackback pour cet article

Trackback URL (right click and copy shortcut/link location)

2 commentaires

  1. § kris Email said on :
    Je suis en train de migrer une appli gwt de RPC/DTO a REST/JSON afin d'optimiser les temps de réponses et la charge réseau et les gains sont assez significatifs.
  2. § Virulent Email said on :
    *****
    Bonjour,
    Citation :
    "La manipulation de cet objet est cependant très limitée : je ne peux pas créer d'instance d'un JSO dans mon code Java, il s'agit vraiment d'un objet encapsulant du JavaScript et qui permet de franchir la barrière des deux mondes."
    Il m'est arrivé de devoir créer des JSO sans avoir de JSON suite à certaines problématiques. Il est vrai qu'il est normalement impossible de créer une instance d'un JSO depuis le code Java mais voici une façon de procéder pour contourner cette limitation pour un gain de productivité en développement. Je répète que cette solution est due à un problème très spécifique....
    Tout d'abord créer un classe qui servira a créer les instances puis ajouter ces methodes:
    public class JSObjectHelper {}
    
    Puis rajouter une méthode qui créé un objet :
    public final static native <T extends JavaScriptObject> T createObject() /*-{  return {}; }-*/;
    

    encore mieux avec la généricité! Il vous suffirait de créer une classe qui hérite de JavaScriptObject . Du coup avec la généricité ça deviendrait :
    public final static native <T extends MySuperBusinessClass> T createObject()  /*-{    return {}; }-*/
    

    Cette solution est meilleure car elle permet de contourner les erreurs avec notamment les tableaux.... Du coup vos classes métier doivent hériter de MySuperBusinessClass.. :)
    Après on peut également contourner la limitation de Java sur les appels de méthode par passage de copie de référence:
    public final static native <T extends JavaScriptObject> void setObjectAttribute(T jsob, String attribut, String value) /*-{
    
                            jsob[attribut] = value;
     }-*/;
    
    

    Magique! on ajoute à la volée des valeurs sur notre objet JSO. Par contre rien n'empêche de rajouter des valeurs qui n'existent pas dans notre objet métier.... donc à utiliser avec parcimonie :) Voila , en espérant que ceci éclaire un peu plus le fonctionnement des JSO pour certains...

Laisser un commentaire


Votre adresse email ne sera pas révélée sur ce site.

Votre URL sera affichée.
MédiocreExcellent
(Les retours à la ligne deviennent des <br />)
(Nom, e-mail & site Web)
(Autoriser les utilisateurs à vous contacter par un formulaire de message (votre adresse email ne sera not révélée.))
Contact. ©2010 by sami Jaber. blog software / hebergement / adsense.
Design & icons by N.Design Studio. Skin by Tender Feelings adapted by Sami Jaber/ Evo Factory.