• [^] # Re: Mon opinion : fuir

    Posté par . En réponse au message Des retour de l'utilisation du framework web Wt (C++) ?. Évalué à 1.

    À mon avis si aucun projet connu utilise la techno, alors que la techno existe depuis très longtemps, c'est qu'il y a une raison.

    Hm... ça ne veut pas dire que ce n'est pas bon, ça veut dire - par exemple que peu de projets "à la mode" utilisent des technos telles que C/C++.

    On est d'accord, mais en général c'est un bon indicateur de départ. Voir qui sont les utilisateurs d'un projet permet de se rassurer. Si il y a Google ou Facebook qui sont utilisateurs je sais que le projet a une carrière assurée pour quelques années. C'est toujours plus risqué de partir sur un projet sans trop savoir si on ne va pas galérer à le maintenir seul.

    On peut cependant avoir une certaine nostalgie, comme faire ses interfaces en GTK ou utiliser Wt pour du web. Mais si on a un temps de développement beaucoup plus élevé pour un résultat médiocre ce n'est très intéressant.

    Bah, le temps de développement est une chose, la maintenabilité en est une autre. Je ne vois pas en quoi utiliser Wt est "avoir une certaine nostalgie".

    Ma remarque est sur le cotés très bas niveau de C++. Selon moi il n'est pas nécessaire de descendre aussi bas niveau pour réaliser une IHM, d'où le cotés nostalgique. Dans l'embarqué ça peut cependant être nécessaire, mais dans ce cas on ne fait pas du Web avec un gros framework comme Wt au dessus.

    Si tu recherches un langage typé dans le monde du web, tu peux regarder du cotés de TypeScript et compagnie. C++ c'est un peu overkill.

    Hm... TypeScript, à part que c'est développé par M,ドル je sais pas qui l'utilise spécialement ; des sites comme le bon coin, par exemple, pour ne citer que lui utilise du C pour son backend.

    Je pensais plus à la partie frontend, même si tu peux tenter de l'utiliser cotès backend avec Node.js (et là il y en a des utilisateurs en Node.JS).

    Pour ceux qui utilisent TypeScript effectivement c'est assez difficile à savoir. Le langage a cependant profité d'une bonne couverture médiatique et est créé/soutenu par Microsoft. C'est possible que ça soit assez utilisé à l'avenir il faut voir.

    Je n'ai pas compris ton histoire de C++ avec des callbacks et des évènements car c'est exactement pareil en JavaScript.

    Tout à fait. Sauf qu'en Javascript, c'est côté client uniquement : ensuite il faut que tu gères la synchronisation des données avec le serveur. Là, avec Wt, c'est "full package" : tu ne te préoccupes pas de l'API et de la synchronisation client/serveur puisque c'est encapsulé dans Wt justement.

    Pour les performances, un programme écrit en C++ et compilé en ASM.js avec emscripten est très efficace. Mais je ne pense pas que ce soit le cas de Wt. À mon avis tu perds en performances pures pour les gros traitements.

    Tu parles d'une seule partie du sujet : le côté utilisateur.

    Désolé quand je pense web je pense surtout cotés utilisateur. C'est vrai que c'est un gros avantage d'avoir le client/serveur dans le même code source avec le même framework.

    Cependant cela peut avoir aussi des inconvénients, car le client et le serveur sont dépendants. Un serveur (développé en C++ par exemple) fournissant une API REST permet d'avoir des clients développés facilement dans n'importe quelle technologie.

    Pour les évènements temps réel ça existe avec Socket.IO pour Node.JS par exemple et là aussi c'est indépendant du client.

    De manière générale, on ne fait plus des IHM aujourd'hui comme on les faisait il y a 20 ans. Le web a changé beaucoup de choses dans ce domaine.

    Arguments ?

    Juste pour prendre l'exemple de l'évolution chez Microsoft :
    https://www.google.fr/search?hl=fr&site=imghp&tbm=isch&source=hp&q=windows+3.1
    https://www.google.fr/search?hl=fr&site=imghp&tbm=isch&source=hp&q=microsoft+pixelsense

    Et le site web d'apple :
    http://web.archive.org/web/19970404064444/http://www.apple.com/
    http://www.apple.com/

    Je connais AngularJS. Comme pour beaucoup d'autres framework MVC Javascript, j'aimerais que tu m'expliques un peu plus ce qui les différencie des méthodes de développement d'IHM d'il y a 20 ans. Les mécanismes que tous ces framework implémentent sont ceux qui existaient déjà il y a 20 ans. La différence c'est que les technos à la mode ne sont plus les même.

    Je dirais que la différence se situe surtout au niveau du code source. En C++ tu dois gérer la mémoire et les types de tes données, avec AngularJs tu t'occupes plus de tes composants et comment les faire interagir. Je pense que le développement est plus efficace.

    Le TDD c'est une bonne pratique, mais ça n'empêche qu'un langage fortement typé et compilé évite beaucoup d'erreurs avant même que tu aies besoin de lancer le moindre test.

    Le langage fortement typé évite pas mal d'erreurs on est d'accord, mais surtout cotés serveur. Cotés client la plupart des problèmes viendront avec les interactions des utilisateurs, qui font toujours des choses bizarres.

    Après tout, développer en C++ cotés serveur n'est pas une mauvaise idée si il y a de gros traitements à réaliser (car si c'est pour attendre la BDD ou les IOs en permanence c'est moins intéressant aujourd'hui).

    Cotés client c'est selon moi beaucoup moins avantageux mais si tu ne souhaite pas séparer le code source du client et du serveur, tu peux effectivement avoir un intérêt à utiliser Wt, mais je ne le conseillerais pas.