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

TypeScript Discussion :

Pourquoi utiliser TypeScript - Une introduction � TS [Tutoriel]


Sujet :

TypeScript

Vue hybride

Message pr�c�dent Message pr�c�dent   Message suivant Message suivant
  1. #1
    Membre exp�riment�
    Avatar de Paleo
    Homme Profil pro
    D�veloppeur Web
    Inscrit en
    Septembre 2013
    Messages
    242
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : B�nin

    Informations professionnelles :
    Activit� : D�veloppeur Web

    Informations forums :
    Inscription : Septembre 2013
    Messages : 242
    Par d�faut Pourquoi utiliser TypeScript - Une introduction � TS
    � TypeScript, le langage compil� en JavaScript ? Mais pourquoi faudrait-il quitter JavaScript ? �

    Le langage JavaScript ne manque pas d'atouts et le mieux est souvent l'ennemi du bien. D�laisser ce qui fonctionne est un risque. Et puis il existe de solides arguments en d�faveur des langages construits sur JavaScript, examinons-les :

    • la question de la p�rennit� des syntaxes non standard ;
    • la probl�matique de l'int�gration avec l'existant ;
    • la difficult� de former ou de trouver les d�veloppeurs.

    Je r�pondrai � ces trois questions au fil de l'expos� tout en situant TypeScript par rapport aux technologies concurrentes. Je tenterai ensuite de donner envie au lecteur d'essayer.
    Lisez la suite de l'article : Pourquoi utiliser TypeScript.

    Voici le sommaire :

    I. TypeScript est un choix sans risque
    II. Faire coop�rer TypeScript et JavaScript ?
    III. La syntaxe TypeScript est p�renne
    IV. TypeScript et Microsoft ?
    V. La programmation orient�e objets et TypeScript
    VI. Les interfaces TypeScript
    VII. Typage statique ?
    VIII. Comment d�marrer avec TypeScript
    IX. Remerciements
    Vos r�actions seront les bienvenues.

  2. #2
    R�dacteur/Mod�rateur

    Avatar de SylvainPV
    Profil pro
    Inscrit en
    Novembre 2012
    Messages
    3 375
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2012
    Messages : 3 375
    Par d�faut
    +1 pour l'excellent IDE qu'est WebStorm. Mais c'est amusant que tu le mentionnes, car c'est aussi la raison pour laquelle je n'ai pas essay� TypeScript pour l'instant. En effet, pour peu qu'on ait pris la bonne habitude de documenter ses fonctions, WebStorm se charge de v�rifier les types : http://blog.jetbrains.com/webide/201...s-annotations/

    Du reste, je pr�f�re les prototypes aux classes et aux interfaces, donc TypeScript ne m'apportait finalement rien. Mais je pense que �a doit attirer beaucoup plus les d�veloppeurs Java.

  3. #3
    Membre exp�riment�
    Avatar de Paleo
    Homme Profil pro
    D�veloppeur Web
    Inscrit en
    Septembre 2013
    Messages
    242
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : B�nin

    Informations professionnelles :
    Activit� : D�veloppeur Web

    Informations forums :
    Inscription : Septembre 2013
    Messages : 242
    Par d�faut
    Citation Envoy� par SylvainPV Voir le message
    Mais je pense que �a doit attirer beaucoup plus les d�veloppeurs Java.
    Et les d�veloppeurs PHP aussi.

  4. #4
    R�dacteur

    Avatar de Bovino
    Homme Profil pro
    D�veloppeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 55
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activit� : D�veloppeur Web
    Secteur : High Tech - �diteur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Billets dans le blog
    20
    Par d�faut
    Article int�ressant et tr�s clair !



    N�anmoins, je trouve que certains points sont sujets de d�bat...

    D'une part, je rejoins SylvainPV concernant les prototypes, mais c'est peut-�tre l'habitude de les utiliser.

    Ensuite
    Un m�canisme sert � �muler un comportement de classe : le prototype dont l'usage est malheureusement verbeux, affreusement moche et incomplet.
    Trouver le mod�le de POO par prototype de JavaScript moche et incompl�te, c'est un avis et tu as raison de donner ton avis (et je suis conscient que tu n'es pas isol� ) mais je vois mal en quoi il te parait verbeux...
    Peut-�tre veux-tu juste parler de certains de ses aspects, comme par exemple l'h�ritage o� effectivement, en plus d'�tre lurd et verbeux, c'est surtout fastidieux !
    Surtout, il n'est pas destin�, sauf erreur grossi�re de ma part, � �muler un comportement de classe, au contraire, il propose une autre fa�on de consid�rer la POO.
    Impossible en particulier de d�clarer des membres priv�s dans le prototype.
    Effectivement, �a n'aurait d'ailleurs pas de sens puisqu'un prototype est un objet commun � toutes les instances de l'objet, d'ailleurs, toute modification du prototype impacte toutes les instances de l'objet, y compris celles d�j� existantes. Pour cr�er des membres priv�s, il faut le faire au niveau de l'instance.

    Mais encore une fois, ces consid�rations sont sujettes � d�bat !

    EDIT :
    Citation Envoy� par SylvainPV
    +1 pour l'excellent IDE qu'est WebStorm.
    +2 alors !
    Pas de question technique par MP !
    Tout le monde peut participer � developpez.com, vous avez une id�e, contactez-moi !
    Mes formations video2brain : La formation compl�te sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'int�gration de JSFiddle et CodePen sur le forum

  5. #5
    Membre exp�riment�
    Avatar de Paleo
    Homme Profil pro
    D�veloppeur Web
    Inscrit en
    Septembre 2013
    Messages
    242
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : B�nin

    Informations professionnelles :
    Activit� : D�veloppeur Web

    Informations forums :
    Inscription : Septembre 2013
    Messages : 242
    Par d�faut
    Citation Envoy� par Bovino Voir le message
    Trouver le mod�le de POO par prototype de JavaScript moche et incompl�te, c'est un avis et tu as raison de donner ton avis (et je suis conscient que tu n'es pas isol� ) mais je vois mal en quoi il te parait verbeux...
    Peut-�tre veux-tu juste parler de certains de ses aspects, comme par exemple l'h�ritage o� effectivement, en plus d'�tre lurd et verbeux, c'est surtout fastidieux !
    L'h�ritage non et d'ailleurs le plus souvent l'h�ritage est une fausse bonne id�e ().

    C'est juste que, lorsqu'on raisonne sur des classes (c-�-d des objets faits dans le m�me moule), on doit �crire le prototype puis une �ventuelle fonction "factory" qui produit l'instance en lui affectant le prototype, en JS il y a mille mani�res de le faire alors qu'il devrait y en avoir z�ro puisque c'est au langage de faire �a. Plus les r�p�titions des ".prototype." pour d�clarer les membres, je sais, c'est �vitable mais en pratique on n'�vite pas. Comparez dans le Playground le code TS au code JS g�n�r� : malgr� les informations de typage en plus, dont une interface, le code TS est plus court et plus lisible.

    De toute mani�re ES6 r�glera ce point.

    Citation Envoy� par Bovino Voir le message
    Surtout, il n'est pas destin�, sauf erreur grossi�re de ma part, � �muler un comportement de classe, au contraire, il propose une autre fa�on de consid�rer la POO.
    Tiens c'est vrai �a, c'est une erreur de ma part. J'aurais d� �crire qu'il "peut servir" et non qu'il "sert".
    Tout � fait juste.

    Citation Envoy� par Bovino Voir le message
    Effectivement, �a n'aurait d'ailleurs pas de sens puisqu'un prototype est un objet commun � toutes les instances de l'objet, d'ailleurs, toute modification du prototype impacte toutes les instances de l'objet, y compris celles d�j� existantes. Pour cr�er des membres priv�s, il faut le faire au niveau de l'instance.
    Des m�thodes priv�es auraient pourtant du sens.

  6. #6
    R�dacteur/Mod�rateur

    Avatar de SylvainPV
    Profil pro
    Inscrit en
    Novembre 2012
    Messages
    3 375
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2012
    Messages : 3 375
    Par d�faut
    Citation Envoy� par Tarh_ Voir le message
    De toute mani�re ES6 r�glera ce point.
    Tu veux parler du keyword "class" ? De mon point de vue, il ne r�gle rien du tout, au contraire il ajoute une �ni�me fa�on de faire de la programmation objet en JavaScript, en perdant les avantages des prototypes.

    Le code pr�sent� sur le typescript playground reprend le pattern classique (fonctions et op�rateur new) et non le pattern prototype pur (objets et Object.create). Voil� ce que �a donnerait en prototypes :

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    var Greeter = {  
      greeting: "anonymous",
      greet: function () {
        return "Hello, " + this.greeting;
      }
    };
     
    var greeter = Object.create(Greeter);
    greeter.greeting = "world";
    Personnellement je trouve �a tout aussi clair. Mais �a reste un d�bat

Discussions similaires

  1. Architectures de datawarehouse - Pourquoi utiliser l'une plus que l'autre ?
    Par caballero dans le forum Conception/Mod�lisation
    R�ponses: 1
    Dernier message: 30/05/2007, 09h57
  2. [C#]Pourquoi utiliser une structure plut�t qu'une classe?
    Par egoom dans le forum Windows Forms
    R�ponses: 2
    Dernier message: 30/10/2006, 09h49

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