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 :

État de JavaScript en 2019 : les développeurs aiment un peu plus React, Angular est en déclin


Sujet :

JavaScript

  1. #1
    Chroniqueur Actualités

    Homme Profil pro
    Dirigeant
    Inscrit en
    Juin 2016
    Messages
    3 160
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Bénin

    Informations professionnelles :
    Activité : Dirigeant
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Juin 2016
    Messages : 3 160
    Points : 66 259
    Points
    66 259
    Par défaut État de JavaScript en 2019 : les développeurs aiment un peu plus React, Angular est en déclin
    État de JavaScript en 2019 : les développeurs aiment un peu plus React, Angular est en déclin,
    un groupe de développeurs pense que JS est « trop complexe »

    L’année 2019 prend fin et Sacha Greif et Raphaël Benitte viennent de publier leur rapport annuel sur l’état de JavaScript et de son écosystème en entier. Environ 11 millions de développeurs utiliseraient JavaScript, et bien qu'il soit difficile de trouver tout le monde et de leur demander ce qu'ils aiment dans ce langage, l'étude “State of JavaScript 2019” a interrogé plus de 21 000 développeurs JS sur leurs frameworks, outils et fonctionnalités préférés. Les résultats ont montré comment que l’écosystème JS a évolué et quels outils sont les plus utilisés en 2019.

    Le rapport 2019 sur l'état de JS a révélé les principaux frameworks de travail du langage, les données démographiques sur les utilisateurs et d’autres données importantes. Qu'on l'aime ou qu'on le déteste, le langage continue de gagner du terrain et son écosystème ne cesse de grandir. Il est essentiel au développement moderne et est le premier langage de programmation sur GitHub depuis 2014, le langage Python ayant pris la deuxième place cette année devançant ainsi Java. Faisons un petit tour de ce qui est ressorti du sondage cette année.

    TypeScript gagne de nouveau en importance et est classé premier en matière de satisfaction

    TypeScript est un surensemble typé qui se compile en JS pur. 2018 et 2019 ont été des années majeures pour TypeScript et son adoption. Selon l’étude, si l'on remonte en 2016, la notoriété de TypeScript auprès des développeurs était déjà de 97 %, mais l'intérêt dépassait à peine la barre des 50 %. En 2019, tous les développeurs qui ont répondu à l'enquête savent ce qu'est TypeScript et un pourcentage impressionnant de 58,5 % l'utiliseraient à nouveau. De même, 89 % des répondants se sont déclarés satisfaits de TypeScript. Il s'est classé au premier rang en matière de satisfaction, d'intérêt et de notoriété par rapport aux autres langages qui compilent en JS (Elm, Rason, ClojureScript et PureScript).

    Nom : typescript_experience.png
Affichages : 68890
Taille : 149,9 Ko

    React devient l’outil (framework front-end) préféré des développeurs front-end et l’enthousiasme pour Angular continue de baisser

    En ce qui concerne les frameworks et les bibliothèques front-end, Angular et React sont deux des plus grands noms. L'année dernière, il a été constaté une baisse de la satisfaction à l'égard d'Angular. Cette année, il poursuit sa tendance à la baisse. Environ 35,8 % des développeurs ont déjà utilisé Angular, mais ne l'utiliseront plus. En comparaison, 21,9 % ont utilisé Angular et ont déclaré vouloir l’utiliser à nouveau. Cependant, ce pourcentage pourraient peut-être évoluer l’année prochaine lorsque la version stable d'Angular v9 sera publiée.

    Nom : front_end.jpg
Affichages : 13531
Taille : 14,2 Ko

    Dans le cas de React, 71,7 % des développeurs l’ont utilisé et ont déclaré vouloir l’utiliser à nouveau. Il s'agit d'une légère augmentation de la satisfaction par rapport aux années précédentes. L'année 2019 s'est révélée être une année phare pour React. Plus tôt cette année, npm a mené une enquête qui a révélé que 63 % des développeurs de JS écrivent du code React. Un graphique résumant tout cela illustre aussi la montée du framework de test JavaScript Jest, avec un impressionnant classement de satisfaction de 96 %, le plaçant bien devant Mocha.

    Les développeurs JavaScript apprécient également GraphQL plus que Redux pour la couche de données, et Express devant Next.js pour le back-end. Par ailleurs, même si certains développeurs continuent toujours à se plaindre d’Electron, le framework JS pour concevoir des applications pour le bureau n’a pas perdu en importance pour autant. La satisfaction des développeurs à l'égard d'Electron est passée de 93 % à 86 %, mais le sentiment général est toujours plus élevé que celui de React Native (82 %). Enfin, Svelte est en hausse, mais encore obscure pour beaucoup.

    Nom : 1*5TKOb_F8dKYR7lPo8NGPHw.png
Affichages : 13289
Taille : 121,9 Ko

    Svelte est définitivement le “nouveau framework cool sur le bloc” de 2019. Plus probablement, c'est la sortie de Svelte 3 en avril et le buzz qui a suivi qui ont suscité l'intérêt. Svelte est une nouvelle approche radicale pour créer des interfaces utilisateur. Alors que les frameworks traditionnels comme React et Vue effectuent la majeure partie de leur travail dans le navigateur, Svelte transforme ce travail en une étape de compilation qui se produit lors de la construction de l'application. De tous les outils frontaux, Svelte est celui qui suscite le plus d'intérêt.

    Cependant, il est le moins connu. Svelte est en tête de l'enquête pour l'intérêt et au coude à coude avec React pour la “satisfaction”. Comme Svelte, WebAssembly (WASM) n'a pas encore atteint les masses. Tout le monde parle de la WASM, mais très peu de personnes l'utilisent. À la différence des composants Web, l'enthousiasme par rapport à WASM est presque universel. Cela dit, il semble que beaucoup attendent simplement que la technologie mûrisse. Il est d’ailleurs devenu cette année le 4e langage pour le développement Web.

    Les outils du métier

    Le rapport 2019 sur l’état de JS s’est également intéressé à ce que les développeurs de JS peuvent ajouter à leur boîte à outils. Les répondants ont été interrogés sur les divers outils qu'ils utilisent pour coder et sur les ressources inestimables qu'ils utilisent.

    • Lodash et Moment.js : ces deux bibliothèques d'utilitaires JS sont les deux plus utilisées par les développeurs. Lodash fournit de l'aide pour travailler avec des tableaux, des nombres, des objets et des chaînes de caractères et Moment.js fournit une bibliothèque pour afficher et manipuler des dates ;
    • Visual Studio Code : de loin, VS Code est l'éditeur de texte le plus utilisé. Visual Studio Code fonctionne avec un grand nombre de langages, y compris JavaScript et TypeScript ;
    • Brave : bien que Chrome soit le navigateur le plus utilisé pour le développement, une mention honorifique est décernée cette année à Brave. Environ 836 développeurs ont déclaré qu'ils travaillent principalement dans le navigateur Brave ;
    • Webpack : regroupez vos scripts, vos ressources et vos images avec Webpack, l'outil de construction JS le plus utilisé ;
    • Stack Overflow : ce n'est pas une surprise, mais Stack Overflow est l'endroit où les développeurs JS vont quand ils ont besoin d'aide pour un problème délicat, même s’il est de plus en plus décrié de copier et de coller du code à partir de Stark Overflow. Le Developer Network/MDN de Mozilla reçoit une mention honorable en tant que deuxième ressource la plus consultée.

    À quoi ressemble le développeur JS moyen ?

    Le rapport 2019 sur l’état de JS a également fait mention de ce à quoi ressemble le développeur JS moyen en 2019. Voici ce que les auteurs du rapport ont résumé sur la question.

    • JS + CSS : dans l'ensemble, les développeurs JS sont également compétents en CSS. Au moins 90 % des répondants ont déclaré avoir une connaissance intermédiaire du CSS ou mieux. Environ 39,9 % se considèrent même comme des experts en CSS et peuvent créer un front-end à partir de zéro ;
    • le JavaScript régit le front-end : le rôle des développeurs full stack est de plus en plus important, selon le rapport. Près de la moitié (environ 48,3 %) des répondants sont des développeurs full stack. Environ 36,6% sont des développeurs front-end, alors que seulement 3,4 % se disent développeurs back-end ;
    • les développeurs JS aiment aussi Python : un quart des développeurs JS multilingues programment aussi en Python ;
    • Ratio des sexes : 91,3 % des répondants sont des hommes ; 6 % sont des femmes ; 0,8 % sont des non binaires, et 1,9 % des répondants ont préféré ne pas répondre. Ces chiffres peuvent ne pas refléter la réalité réelle des développeurs, car il ne s'agit que d'un seul sondage. Toutefois, l'écart entre ces chiffres est notable.

    Enfin, la section Opinions du rapport a révélé que certains estiment que JavaScript est “trop complexe”. Environ 31,4 % sont d'accord et 28,3 % sont neutres sur la question. Sachant que ce sont les professionnels, c'est remarquable, bien que cela fasse sans doute référence à l'ensemble de l'écosystème des frameworks, des bibliothèques et des outils, plutôt qu'au langage lui-même. À quoi sert JavaScript ? En ce qui concerne ce groupe, 68,3 % des répondants sont d'accord pour dire que ce serait leur principal langage de programmation. Toutes les données de l’étude “State of JS 2019” sont disponibles en téléchargement sur Kaggle au format JSON.

    Source : State of JS 2019

    Et vous ?

    Pensez-vous que JavaScript soit un langage complexe ? Pourquoi ?

    Voir aussi

    Python devance Java et devient le deuxième langage de programmation le plus utilisé par les contributeurs sur GitHub, après JavaScript

    The State Of JavaScript 2018 : l'enquête révèle que JavaScript est en pleine évolution. Voici une vue macro des technologies JS utilisées

    La version 3 de Svelte, le framework de composants graphiques, est disponible et repense la réactivité des frameworks autrement

    AlaSQL.js, une base de données SQL JavaScript pour le navigateur et Node.js, est désormais disponible et serait rapide et très flexible

    Les tendances dans les métiers de la technologie en France en 2017, une enquête réalisée par CodinGame
    Contribuez au club : corrections, suggestions, critiques, ... Contactez le service news et Rédigez des actualités

  2. #2
    Membre extrêmement actif Avatar de darklinux
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Novembre 2005
    Messages
    570
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Chef de projet en SSII
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2005
    Messages : 570
    Points : 1 023
    Points
    1 023
    Par défaut
    Pensez-vous que JavaScript soit un langage complexe ? Pourquoi ?
    C 'est un langage aussi simple que python ! Ces crétins veulent du Perl ? Du Basic ???

  3. #3
    Membre averti Avatar de RPGamer
    Homme Profil pro
    Ingénieur en systèmes embarqués
    Inscrit en
    Mars 2010
    Messages
    168
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : Suisse

    Informations professionnelles :
    Activité : Ingénieur en systèmes embarqués

    Informations forums :
    Inscription : Mars 2010
    Messages : 168
    Points : 395
    Points
    395
    Par défaut
    Angular n'est pas un framework JS. Il y a une confusion entre AngularJS et Angular, qui lui est écrit en TS (qui monte en intérêt) et passe aussi par une étape de validation/transcompilation comme Svelte.

  4. #4
    Membre extrêmement actif
    Profil pro
    Développeur
    Inscrit en
    Mars 2012
    Messages
    1 969
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

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

    Informations forums :
    Inscription : Mars 2012
    Messages : 1 969
    Points : 3 375
    Points
    3 375
    Par défaut
    Citation Envoyé par darklinux Voir le message
    C 'est un langage aussi simple que python ! Ces crétins veulent du Perl ? Du Basic ???
    C'est bien Perl

    Par contre les couleurs des graphes !!!
    Si la réponse vous a aidé, pensez à cliquer sur +1

  5. #5
    Expert confirmé Avatar de Zefling
    Homme Profil pro
    Développeur Web
    Inscrit en
    Avril 2007
    Messages
    1 174
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2007
    Messages : 1 174
    Points : 4 690
    Points
    4 690
    Par défaut
    Pensez-vous que JavaScript soit un langage complexe ? Pourquoi ?
    Si tu sais faire que de l'objet, c'est normal de le trouver complexe, vu qu'il ne s'agit pas d'un langage objet (même si un peu maintenant) mais prototypé. Et quand on sait qu'il servait surtout pour le DOM à la base, ça avait du sens. Le truc c'est que des « dévs back » veulent que ça fasse comme leurs langage favoris qui ne sont qu'en objet et ne veulent pas réapprendre une nouvelle logique de programmation.

    Après, j'avoue que je trouve ça bien quand il s'agit de manipuler le DOM et les structures du genres, mais pour le reste c'est quand même pas facile à appréhender.

  6. #6
    Membre éclairé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2008
    Messages
    163
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Février 2008
    Messages : 163
    Points : 710
    Points
    710
    Par défaut
    Ce qui fait peur dans tout ce bazar, c'est la question "quelle langage/techno sera encore là dans 5 ans ?".
    Visiblement, tout le monde s'en contrefiche, vu comment ça part dans tous les sens, mais bon, ce sont quand même des sous dépensés par quelqu'un, et au bout du compte, ça fait de la croissance

  7. #7
    Membre éprouvé

    Profil pro
    Inscrit en
    Novembre 2009
    Messages
    506
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2009
    Messages : 506
    Points : 1 289
    Points
    1 289
    Par défaut React vs svelte
    Cette année ce sera la réécriture de l'application d'entreprise (db de 400 tables, c'est une application métier complète y compris toute la compta et hr...) d'angularjs vers react.
    Svelte m'intéressait beaucoup, mais la documentation c'est zéro. Du coup ce sera react. Travailler sur un truc par essai erreur en découvrant ce qui fonctionne ou pas pour un projet perso c'est bien, mais pas pour une application de cette importance.

  8. #8
    Expert éminent sénior
    Avatar de Marco46
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2005
    Messages
    4 413
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2005
    Messages : 4 413
    Points : 19 609
    Points
    19 609
    Par défaut
    Citation Envoyé par RPGamer Voir le message
    Angular n'est pas un framework JS. Il y a une confusion entre AngularJS et Angular, qui lui est écrit en TS (qui monte en intérêt) et passe aussi par une étape de validation/transcompilation comme Svelte.
    TypeScript n'est pas un langage c'est une extension de JavaScript.
    Un problème avec Git ? Essayez la FAQ, sinon posez votre question sur le forum.



    "Toute personne croyant qu'une croissance exponentielle peut durer indéfiniment dans un monde fini est soit un fou, soit un économiste."
    Kenneth E. Boulding

    "Les richesses naturelles sont inépuisables, car, sans cela, nous ne les obtiendrions pas gratuitement. Ne pouvant être ni multipliées ni épuisées, elles ne sont pas l’objet des sciences économiques."
    Jean-Baptiste Say, Traité d'économie politique, 1803.

    "/home/earth is 102% full ... please delete anyone you can."
    Inconnu

  9. #9
    Nouveau membre du Club
    Homme Profil pro
    Développeur Java
    Inscrit en
    Juillet 2017
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Juillet 2017
    Messages : 7
    Points : 29
    Points
    29
    Par défaut
    Angular n'est pas un framework JS. Il y a une confusion entre AngularJS et Angular, qui lui est écrit en TS (qui monte en intérêt) et passe aussi par une étape de validation/transcompilation comme Svelte.
    Justement Typescript reste simplement un langage transcompilé en JS au final donc Angular (> V1) reste un framework JS...

  10. #10
    Expert confirmé Avatar de Zefling
    Homme Profil pro
    Développeur Web
    Inscrit en
    Avril 2007
    Messages
    1 174
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2007
    Messages : 1 174
    Points : 4 690
    Points
    4 690
    Par défaut
    Citation Envoyé par Marco46 Voir le message
    TypeScript n'est pas un langage c'est une extension de JavaScript.
    Exactement ce que m'avait dit un des dévs de TypeScript. De plus, ils essaient juste d'implémenter le futur du JavaScript avec une «*surcouche » pour le rendre accessible plus rapidement et facilement. Quand on fait du TypeScript, on fait juste du JavaScript avancé. Quand on suit un peu les évo de TypeScript et de JavaScript ça semble assez évident.

  11. #11
    Membre extrêmement actif
    Homme Profil pro
    Technicien de maintenance / Developpeur PHP
    Inscrit en
    Mai 2015
    Messages
    428
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : Technicien de maintenance / Developpeur PHP
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Mai 2015
    Messages : 428
    Points : 1 627
    Points
    1 627
    Par défaut
    Pensez-vous que JavaScript soit un langage complexe ? Pourquoi ?

    Ça dépend d'où vous placer le curseur de la complexité .
    Si on se limite à la syntaxe, alors il n'est pas fondamentalement plus complexe qu'un autre et n'introduit pas de notion "nouvelles" si ce n'est la Programmation Objet par Prototypage (si évidemment vous venez d'un autre langage Objet par Classes).
    Si on se place du point de vue de l'environnement par contre, la complexité explose avec l'environnement JS.
    Ne serait-ce que se tenir à jour sur les frameworks et autres, relève du chalenge sportif .
    Je dirais donc que c'est une question de point de vue.

    Angular n'est pas un framework JS.
    Il y a une confusion entre AngularJS et Angular, qui lui est écrit en TS (qui monte en intérêt) et passe aussi par une étape de validation/transcompilation comme Svelte.
    @RPGamer
    Mouais, parce que Typescript ne transpile pas le code en JS ?
    Tout code Typescript est converti en JS ce qui fait que tout framework Typescript est de fait un framework JS.
    Même Angular Dart (DartWeb) est un framework JS, pourtant il est codé en Darlang.

    Si tu sais faire que de l'objet, c'est normal de le trouver complexe, vu qu'il ne s'agit pas d'un langage objet (même si un peu maintenant) mais prototypé.
    Et quand on sait qu'il servait surtout pour le DOM à la base, ça avait du sens.
    Le truc c'est que des « dévs back » veulent que ça fasse comme leurs langage favoris qui ne sont qu'en objet et ne veulent pas réapprendre une nouvelle logique de programmation.

    Après, j'avoue que je trouve ça bien quand il s'agit de manipuler le DOM et les structures du genres, mais pour le reste c'est quand même pas facile à appréhender.
    @Zefling

    POO = Programmation Orienté Objet.
    Que ce soit avec des Classes, des Prototype ou même sans (puisque ce n'est même pas un prérequis), il s'agit toujours de POO.
    Après que l'on puisse trouver la POO complexe c'est une autre histoire.

    Concernant les origine du JS, à la base et sans intervention de SUN (merci le marketing JAVA) il aurait ressemblé à un LISP donc dire qu'il est plus adapter à la manipulation du DOM qu'un autre langage, ...boff, boff.

    Les "dévs back" justement, veulent un langage fiable et qui ne pète pas au runtime sans crier gare.
    Maintenant, c'est rarement le dev qui a le dernier mot sur la stack qu'il devra utiliser et il se retrouvent souvent à devoir composer avec des choix fait par d'autres et en d'autres temps parfois.
    Ça n'as donc rien à voir avec leurs "langage favoris" ou le fait de "réapprendre" quoi que ce soit.
    Sans compter que je suis désolé pour vous si vous croyez réellement que JS ai introduit quelque chose de nouveau (vous semblez également croire qu'il ne s'agit pas d'un langage Objet) .

    D'ailleurs, les "dévs front" le veulent aussi apparemment.
    Qui développe en JS Vanilla quant il existe tant de langages plus sûr transpilant vers JS ?
    Leurs existences même démontre à elle seule que le JS n'est pas tellement un choix mais plus une contrainte.

    Cette année ce sera la réécriture de l'application d'entreprise (db de 400 tables, c'est une application métier complète y compris toute la compta et hr...) d'angularjs vers react.
    ...
    @frfancha
    Ouf, courage l'amie
    Juste par curiosité, mais 400 tables dans une DB SQL et JS pour une application métier, c'était volontaire ou c'est suite à une demande client de suicide collectif ?

    TypeScript n'est pas un langage c'est une extension de JavaScript.
    @Marco46
    Heu, ...si je prend un fichier ".ts" que je le renomme en ".js" et que je l'utilise avec un runtime js ça ne fonctionnera pas donc c'est bien un langage différent.
    Il y avait le même type de discoure concernant Vala/Genie qui ne seraient pas des langages puisque transpilant vers du C/GObject.
    Je regrette mais du moment que le runtime/système ne comprend pas le langage sans transpilation/compilation, c'est bien un autre langage.
    Ou alors vous avez une définition de ce qu'est un langage qui m'est inconnu et tous les autres langages existants ne seraient que des vues de l'esprit.
    Seule JS serait le vrai, l'unique qui dans les ténèbres les lierait tous ?

  12. #12
    Membre averti Avatar de RPGamer
    Homme Profil pro
    Ingénieur en systèmes embarqués
    Inscrit en
    Mars 2010
    Messages
    168
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : Suisse

    Informations professionnelles :
    Activité : Ingénieur en systèmes embarqués

    Informations forums :
    Inscription : Mars 2010
    Messages : 168
    Points : 395
    Points
    395
    Par défaut
    TypeScript n'est pas un langage c'est une extension de JavaScript.
    Justement Typescript reste simplement un langage transcompilé en JS au final donc Angular (> V1) reste un framework JS...
    Si la team Angular a décidé d'utiliser TypeScript au lieu de JavaScript c'est pas pour faire plaisir à Microsoft, c'est parce qu'écrire du code en TypeScript n'a rien à voir avec écrire du code en JavaScript. De ce fait, AngularJS n'a rien à voir avec Angular. Certe, la syntaxe est volontairement proche du JS, contrairement à ce que propose CoffeeScript par exemple, mais l'approche reste totalement différente.

    Au passage, le transcompilateur TS fait beaucoup plus que d'étendre JS.

  13. #13
    Membre éprouvé

    Profil pro
    Inscrit en
    Novembre 2009
    Messages
    506
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2009
    Messages : 506
    Points : 1 289
    Points
    1 289
    Par défaut
    Citation Envoyé par RPGamer Voir le message
    Si la team Angular a décidé d'utiliser TypeScript au lieu de JavaScript c'est pas pour faire plaisir à Microsoft, c'est parce qu'écrire du code en TypeScript n'a rien à voir avec écrire du code en JavaScript. De ce fait, AngularJS n'a rien à voir avec Angular. Certe, la syntaxe est volontairement proche du JS, contrairement à ce que propose CoffeeScript par exemple, mais l'approche reste totalement différente.

    Au passage, le transcompilateur TS fait beaucoup plus que d'étendre JS.
    Angular n'a rien avoir avec angular.js => oui en effet, mais c'est juste parce que angular est différent, rien à voir avec le changement de langage. Angular aurait pu tout aussi bien être écrit en JavaScript.

  14. #14
    Membre éprouvé

    Profil pro
    Inscrit en
    Novembre 2009
    Messages
    506
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2009
    Messages : 506
    Points : 1 289
    Points
    1 289
    Par défaut
    Citation Envoyé par defZero Voir le message
    Ouf, courage l'amie
    Juste par curiosité, mais 400 tables dans une DB SQL et JS pour une application métier, c'était volontaire ou c'est suite à une demande client de suicide collectif ?
    La logique métier est complètement programmée dans des stored procedures SQL.
    Celle présente en JavaScript ne concerne que la présentation.
    Parfois certains calculs ou contrôles sont dupliqués en JavaScript pour donner un feedback instantané à l'utilisateur, mail ultimement le même calcul ou contrôle est toujours fait en SQL qui a le dernier mot.
    Avant angularjs c'était des écrans lourds écrits en Visualage for Smalltalk.
    Passer à angularjs est ma décision et franchement les utilisateurs sont ravis du résultat.
    Alors direz vous, pourquoi changer ?
    -une partie de l'application est exposée sur internet et sujette à des audit de sécurité qui exigent une version à jour du framework. Angularjs 1.7.8 reste accepté mais ce ne sera pas le cas éternellement.
    -malgré notre usage de directives essentiellement (pas de controller), il n'est pas aussi simple de récupérer les composants comparé à react
    -la puissance de JavaScript dans le jsx par rapport à ngrepeat, ngif est fantastique, surtout que nos tables colonnes ont des tas de metadata dans la DB qui nous permettront facilement d'automatiser une grande partie de la génération des écrans.
    -afficher une table de 100 lignes en angularjs est instantané, 2000 est beaucoup moins évident. Je parle de ligne "riches" avec des composants dans les cellules. Il n'y a pas ce problème en react.
    ... Du moins j'espère, ce sera un des premiers tests !

    Finalement, le principe même d'angularjs exige qu'il soit très permissif avec le code écrit dans l'html: a.b.c fonctionne même si a n'existe pas, ou bien a.b, ... C'est très simple et très puissant, mais un retour immédiat sur les erreurs de frappe comme en react permettra de gagner du temps au total

  15. #15
    Expert éminent sénior
    Avatar de Marco46
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2005
    Messages
    4 413
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2005
    Messages : 4 413
    Points : 19 609
    Points
    19 609
    Par défaut
    Citation Envoyé par RPGamer Voir le message
    c'est parce qu'écrire du code en TypeScript n'a rien à voir avec écrire du code en JavaScript
    Commence par lire la documentation de TypeScript, ce que je t'explique y est écrit en gros dès la home du site de TypeScript.

    Concernant la team Angular, tu confonds le choix d'aller vers une conception fortement orientée objet par classes avec le choix d'un outil qui ajoute du typage statique en ajoutant une phase de compilation.

    La manière dont la team Angular utilise TS, et qui est fortement discutable, est propre à cette team. Ce n'est pas nécessairement de cette manière qu'il faut utiliser TS. Les auteurs de TS l'ont déjà expliqué à plusieurs reprises.

    D'ailleurs je te ferai remarquer que de très nombreuses teams utilisent React avec TypeScript alors que la conception de React est fortement orientée prog fonctionnelle et que Vue dans sa version 3 intégrera TS out of the box (Vue est agnostique question paradigme).

    Il ne restera plus rien comme petit avantage concurrentiel à Angular, d'où l'énorme gamelle qu'il se ramasse. Comme d'hab on a quelques années de retard en France sur ce sujet mais c'est la tendance lourde observée depuis 2 ans maintenant dans le reste du monde.

    Perso je suis sorti d'Angular dès que j'ai pu ... Mais j'adore TypeScript ... Mais malheureusement il est mal compris et encore plus mal utilisé

    Citation Envoyé par RPGamer Voir le message
    Au passage, le transcompilateur TS fait beaucoup plus que d'étendre JS.
    Il fait ce que fait Babel en supportant les dernières fonctionnalités de JS et en permettant de target une version obsolète de JS pour supporter tous les navigateurs possibles et imaginables.

    Et en plus de cette feature il ajoute du typage statique.

    Voilà, il ne fait rien de plus (enfin c'est déjà beaucoup ).

    Il s'agit donc littéralement de JS + typage statique. Ça ne sert à rien d'argumenter ce n'est pas une opinion c'est un fait.
    Un problème avec Git ? Essayez la FAQ, sinon posez votre question sur le forum.



    "Toute personne croyant qu'une croissance exponentielle peut durer indéfiniment dans un monde fini est soit un fou, soit un économiste."
    Kenneth E. Boulding

    "Les richesses naturelles sont inépuisables, car, sans cela, nous ne les obtiendrions pas gratuitement. Ne pouvant être ni multipliées ni épuisées, elles ne sont pas l’objet des sciences économiques."
    Jean-Baptiste Say, Traité d'économie politique, 1803.

    "/home/earth is 102% full ... please delete anyone you can."
    Inconnu

  16. #16
    Expert éminent sénior
    Avatar de Marco46
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2005
    Messages
    4 413
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2005
    Messages : 4 413
    Points : 19 609
    Points
    19 609
    Par défaut
    Citation Envoyé par defZero Voir le message
    Heu, ...si je prend un fichier ".ts" que je le renomme en ".js" et que je l'utilise avec un runtime js ça ne fonctionnera pas donc c'est bien un langage différent.
    Si et seulement si tu utilises le système de type qui existe, faut-il le rappeler, uniquement à la phase de transpilation/compilation justement.

    Inversement tu peux prendre n'importe quel fichier .js, changer l'extension en .ts et tu obtiens un code Typecript valide, c'est un des fondamentaux des design goals de TypeScript.

    Si seulement vous lisiez les documentations des outils que vous utilisez

    Citation Envoyé par defZero Voir le message
    Je regrette mais du moment que le runtime/système ne comprend pas le langage sans transpilation/compilation, c'est bien un autre langage.

    Ou alors vous avez une définition de ce qu'est un langage qui m'est inconnu et tous les autres langages existants ne seraient que des vues de l'esprit.
    Ma définition c'est de lire la documentation et lire ce qu'en disent les auteurs avant de parler à tord et à travers.
    Un problème avec Git ? Essayez la FAQ, sinon posez votre question sur le forum.



    "Toute personne croyant qu'une croissance exponentielle peut durer indéfiniment dans un monde fini est soit un fou, soit un économiste."
    Kenneth E. Boulding

    "Les richesses naturelles sont inépuisables, car, sans cela, nous ne les obtiendrions pas gratuitement. Ne pouvant être ni multipliées ni épuisées, elles ne sont pas l’objet des sciences économiques."
    Jean-Baptiste Say, Traité d'économie politique, 1803.

    "/home/earth is 102% full ... please delete anyone you can."
    Inconnu

  17. #17
    Membre expérimenté Avatar de dfiad77pro
    Homme Profil pro
    Responsable Architecture logicielle
    Inscrit en
    Décembre 2008
    Messages
    541
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Responsable Architecture logicielle
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2008
    Messages : 541
    Points : 1 729
    Points
    1 729
    Par défaut
    En effet une des pire erreur est d'utiliser TypeScript comme on utilise Java.

    Biensûr cela ne veut pas dire jeter les patterns de conception à la poubelle, mais il faut simplifier.
    Dans mon équipe j'ai mis en œuvre le passage à TypeScript pour Reactjs, il a été dur de convaincre les personnes réfractaires au typage statique,
    mais ils ont vites compris l'intérêt , notamment pour la maintenance et le re-factoring.
    Et contrairement aux idées reçus , écrire en TypeScript ne prends pas beaucoup plus de temps qu'écrire du JS.

    Attention tout de fois à appliquer une rigeur sur la cohérence des types , car parfois on à une fausse impression de sécurité avec TypeScript.
    Par exemple si vous typez un objet retourné par un service (Rest), il faut bien penser à le mettre à jour. De notre coté nous avons des packages npm pour l'accès au services, qui sont automatiquement mis à jours lors des modifications du service.

    Pour en revenir au sujet React vs Angular, j'ai appris à apprécier React, le principal reproche que je lui fait c'est qu'il propose moins de chose 'in the box qu'Angular" , en gros il faut vraiment bien architecturer sa stack technique et se tenir au courant (fini les stacks qu'on met à jours une fois tout les 5ans, mais ça c'est propre au monde post 2010).

    Un autre truc de chiant particulièrement avec React , c'est que des éléments présentés comme bonne pratique deviennent mauvaise pratique 6 mois plus tard. Je ne suis pas particulièrement fan de flux et du context API, parfois une simple promise sans store fait mieux l'affaire (pour un module pas trop complexe)
    J'avoue que souvent ça me fais vraiment regretter .net et WPF/WinUI

  18. #18
    Membre éprouvé

    Profil pro
    Inscrit en
    Novembre 2009
    Messages
    506
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2009
    Messages : 506
    Points : 1 289
    Points
    1 289
    Par défaut
    Citation Envoyé par dfiad77pro Voir le message
    fini les stacks qu'on met à jours une fois tout les 5ans mais ça c'est propre au monde post 2010)
    C'est un point de vue technique.
    Ce n'est pas un point de vue grosse entreprise où l'équipe de développement est là pour apporter de la valeur métier et pas du fun technologique.
    Dans ce cadre si on peut convaincre d'une grosse mise à jour technique tous les 7 ans au lieu de tous les 30 ans c'est bien.
    Et honnêtement une stack bien choisie tient minimum 7 ans.

  19. #19
    Membre expérimenté Avatar de dfiad77pro
    Homme Profil pro
    Responsable Architecture logicielle
    Inscrit en
    Décembre 2008
    Messages
    541
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Responsable Architecture logicielle
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2008
    Messages : 541
    Points : 1 729
    Points
    1 729
    Par défaut
    Je suis dans une grosse entreprise (>15 000 employés) drivée par le métier, biensûr qu'on tempère , on ne parle pas de remplacer la stack tout les 3 ans, mais au moins de suivre les mises à jours petit à petit.

    Mais comme tu le dis même si c'est plus lent dans les grosses boites, ça s'améliore nettement

    Je préfére garder un peu de mon esprit naïf de mes débuts dans le monde pro (2011) , ça me permet de rester à jours plus facilement .

    Après même une stack pourris peut tenir plus de 10ans à coût de scotch (les techno "web" étant très souples), les grosses boites sont excellentes pour dissoudre les coûts de maintenance…

  20. #20
    Membre extrêmement actif
    Homme Profil pro
    Technicien de maintenance / Developpeur PHP
    Inscrit en
    Mai 2015
    Messages
    428
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : Technicien de maintenance / Developpeur PHP
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Mai 2015
    Messages : 428
    Points : 1 627
    Points
    1 627
    Par défaut
    Citation Envoyé par Marco46 Voir le message
    Si et seulement si tu utilises le système de type qui existe, faut-il le rappeler, uniquement à la phase de transpilation/compilation justement.

    Inversement tu peux prendre n'importe quel fichier .js, changer l'extension en .ts et tu obtiens un code Typecript valide, c'est un des fondamentaux des design goals de TypeScript.

    Si seulement vous lisiez les documentations des outils que vous utilisez



    Ma définition c'est de lire la documentation et lire ce qu'en disent les auteurs avant de parler à tord et à travers.
    D'après le site "TypeScript is a typed superset of JavaScript that compiles to plain JavaScript." donc non, du TypeScript n'est pas du JS puisqu'un sur-ensemble devant être compilé / transpilé.
    C'est comme vouloir compiler du C++ avec un compilot C, ça ne juste marche pas.
    Pourtant C++ est un sur-ensemble de C (oui, je sais il y a des incompatibilités, mais C++ est bien née comme un sur-ensemble de C).
    Par contre, tout compilateur C++ doit pouvoir compiler du C sans problème 'et avec quelques flags ).
    C et C++ sont bien 2 langages totalement différents et il ne viendrais à l'esprit de personne de les mélanger, alors pourquoi vouloir le faire avec TypeScript et JS ?

    Enfin, j'ai lu la doc et ne trouve aucune mention du fait que TypeScript ne serait pas un langage à part.
    Alors je sais que tout fichier ".js" peut être renommer en ".ts" est que le compilo est assez lâche pour accepter (moyennant quelques flags), mais je n'est vue nul part où il est dit qu'un fichier ".ts" normale était compatible ".js" sans passer par la case compilation.
    D'ailleurs étant donner que le compilo TS peut générer des modules JS selon les différentes norme (AMD, CommonJS, ...etc) je ne voit juste pas comment ce serait possible qu'un runtime JS comprenne le système de module natif de TS qui lui est de bien plus haut niveau.

Discussions similaires

  1. Java est mort et JavaScript pourrait remplacer Flash pour les développeurs, qu'en pensez-vous ?
    Par Katleen Erna dans le forum Débats sur le développement - Le Best Of
    Réponses: 138
    Dernier message: 18/10/2013, 11h52
  2. Réponses: 138
    Dernier message: 18/10/2013, 11h52
  3. [Article] Les outils vraiment utiles pour les développeurs JavaScript
    Par Bovino dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 07/11/2009, 21h38
  4. [C++]bibliotheque utilisant les sockets et un peu plus...
    Par hansaplast dans le forum Développement
    Réponses: 3
    Dernier message: 05/12/2005, 14h28

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