Auteur Sujet: 27/02/2013 : L'utilisation d'un framework : avantages et inconvénients  (Lu 12894 fois)

Hors ligne Prelude

  • Administrateur
  • Membre Héroïque
  • *****
  • Messages: 1155
  • Karma: +9/-0
    • Mon blog
Re : Prochaine radio : L'utilisation d'un framework : avantages et inconvénients
« Réponse #15 le: 26 février 2013 à 11:48:46 »
Merci ;)

Normalement, on fait le plein ce soir (mais que ceux qui souhaitent s’incruster le fassent !)

Hors ligne xviniette

  • Néophyte
  • *
  • Messages: 7
  • Karma: +0/-0
Re : Prochaine radio : L'utilisation d'un framework : avantages et inconvénients
« Réponse #16 le: 27 février 2013 à 21:15:19 »
C'était bien sympa ! Et les questions de lhyn sont intéressantes car elles permettent aux non-initiés d'avoir des réponses.

Hors ligne Prelude

  • Administrateur
  • Membre Héroïque
  • *****
  • Messages: 1155
  • Karma: +9/-0
    • Mon blog
Re : Prochaine radio : L'utilisation d'un framework : avantages et inconvénients
« Réponse #17 le: 27 février 2013 à 21:31:42 »
Oui, ce serait bien d'avoir une personne complètement en dehors du sujet à chaque fois...
Faut que j'invite des stars, un chanteur, un acteur...

Hors ligne Damocorp

  • Membre Junior
  • **
  • Messages: 93
  • Karma: +0/-0
    • Damocorp Space War
Radio intéressante comme toujours :)

Pour la question concernant la consommation des ressources serveur :
Je comprend bien qu'on peut toujours faire mieux et que les benchmarks d'hello world sur les frameworks ne sont pas des bases de comparaisons solides.

Pour ceux qui auraient de l'expérience entre un jeu web avec et sans framework, celui-ci a-t-il un impact conséquent sur le(s) serveur(s) ou ca reste négligeable ?
Car quand je voit tout ce que contient le framework, et vu ce que j'utilise, n'y a-t-il pas des charges suplémentaires qui seront de plus inutiles ?
Tous mes tests me renvoi un temps de réponse de la page qui est sérieusement plus grande que sans framework. Et c'est un point qui à tendance à me taper sur le système :D



Pour enchainer sur le choix du framework, après avoir écouté la radio :
Partant du principe qu'il est intéressant de les tester pour pouvoir choisir le framework qui nous convient le mieux, comment, en tant que néophyte, peut-on trouver "le" bon framework ?
Le temps d'apprentissage étant déjà long, si on dois tous les étudier et les comparer, on est pas prêt d'avoir un projet qui pourra sortir un jour :)


Les jeux webs étant quand même bien spécifique comme site web, fabriquer son propre framework n'est-il pas plus intéressant à long terme ?
Même si je sais qu'en tant que néophyte, je ferai certainement quelque chose d'atroce, mais bon personne sauf moi le verra :)


Voir mon projet sur jeux-web
Accès direct à Damocorp Space War
La fiche de Damocorp sur jeux-web

Hors ligne Prelude

  • Administrateur
  • Membre Héroïque
  • *****
  • Messages: 1155
  • Karma: +9/-0
    • Mon blog
Pour avoir tester des jeux avec framework, je dirais que la version framework sera en générale plus lourde et que la charge serveur sera plus importante (donc le temps de chargement des pages).
Maintenant, ça ne peux pas être une généralité sinon on ne parlerai pas de réaliser son propre framework. Mais du coup, un framework fait maison reste un framework...

Le problème d'un framework est qu'il est conçu pour s'adapter à un maximum de situations. Donc, il y a beaucoup de chose qui ne serviront jamais pour un site bien précis. Maintenant, lorsque l'on connait bien un framework (et que ce dernier est bien), il est possible de le moduler. Donc, on peut s'approcher d'un framework minimaliste et suffisant.

Un exemple typique d'une mauvaise utilisation de framework est avec jQuery : utiliser jQuery pour masquer ou montrer un élément d'une page alors que ça peut se faire (désormais) avec 1 ligne de code.
Reprenons cet exemple et imaginons que jQuery est utilisé (intelligement) sur beaucoup de pages à travers le site. Dans ce cas, il est peut-être préférable de le charger une fois pour toute dans un ensemble de librairies JS. Cet ensemble sera mis en cache côé client et n'aura pas à être rechargé à chaque fois (attention au cas particulier des mobiles : ils ont un cache un peu limite).

Et oui, pour le choix d'un framework, il va falloir s'aventurer. Mais voilà quelques conseils :
 - regarde le code : si il est imbuvable pour toi, tente peut-être un autre framework.
 - regarde la communauté du framework : si elle est grande, ce n'est peut-être pas pour rien.
 - demande conseil à la communauté : est-ce que ce framework est adapté à tes besoins ? Pourra-t-il tourner sur ton hébergement ? Faudra t-il prendre un second dédié (puis d'autres) en cas de surcharge ? ...
 - est-ce que ton éventuel développeur connaît ce framework ? Regarde aussi le prix d'un dév, on ne sait jamais...

Maintenant, fabriquer son propre framework me semble dangereux. Sauf... Si il a déjà été fait dans un autre cadre. Du coup, il est réutilisable / modifiable / adaptable sans perdre trop de temps.
Il faut garder à l'esprit que les technologies sur internet sont très éphèmères et qu'il est faut probable que lorsque tu auras terminer ton framework, il ne soit plus aussi pertinent qu'au début.
Seul, ce n'est pas simple. D'autant que rien ne te dit que tu vas dans le bon sens.

Enfin, la plupart des frameworks disposent d'un bon système de cache. Ça peut aider à les rendre performant. Si tu rajoutes à ça un bon cache d'OPCode et cache mémoire, alors ça devrait rouler. Le jour où ça surcharge, c'est que tu as de quoi augmenter le nombre de serveurs ;)

Hors ligne Damocorp

  • Membre Junior
  • **
  • Messages: 93
  • Karma: +0/-0
    • Damocorp Space War
Je suis bien d'accord.

Néamoins, l'idée de développer mon framework me viens aussi d'une envie de faire quelque chose qui m'est propre, que je connaitrait donc à fond et surtout de découvrir. Car les MVC, la POO, les ORM, c'est assez nouveaux pour moi.
Oui, il sera certainement mauvais, mais toute expérience reste bon à prendre.

Ce qui me gêne le plus dans les frameworks tel que Zend ou Symfony ( que je test actuellement ), c'est leur côté généraliste. Plus je les étudie, et plus je me dis qu'il me serait profitable de les utiliser si je voulais développer des tas. Des sites ou je pourrai justement réutiliser un maximum des composants du framework.
Tandis qu'un jeu web, ca reste quand même très particulier et relativement différent. D'un autre côté je me dis que n'y connaissant encore que très peu, je pourrai changer rapidement d'avis.

Bref je pense pas avoir fini d'en lire ( ou écouter des radios ;) ) et tester pour me décider.


Citer
Un exemple typique d'une mauvaise utilisation de framework est avec jQuery : utiliser jQuery pour masquer ou montrer un élément d'une page alors que ça peut se faire (désormais) avec 1 ligne de code.
La je suis très intéressé :)
Je supprime beaucoup de ligne de Jquery ces derniers temps en le remplaceant par du javascript lorsque celui-ci est tout a fait suffisant.

Ce que j'adore dans le framework Jquery, c'est son côté "compatibilité". Tu es sur que ta ligne de code l'est tout autant ?

Voir mon projet sur jeux-web
Accès direct à Damocorp Space War
La fiche de Damocorp sur jeux-web

Hors ligne Prelude

  • Administrateur
  • Membre Héroïque
  • *****
  • Messages: 1155
  • Karma: +9/-0
    • Mon blog
Toute expérience est bonne à prendre, et ça, c'est bien vrai.Après, il faut faire la part des choses : si tu cherches à sortir un jeu rapidement et en vivre, il faut se baser sur tes acquis, quitte à tout refaire dès que ça marche. Sinon, si tu as le temps, autant en profiter pour apprendre de nouvelles choses. Zend et Symfony sont très demandés dans les annonces emploi.

Pour jQuery, désormais, tout les navigateurs acceptent le JavaScript de base et la modification du DOM.
Au pire, vérifies avec un site (http://dochub.io/#dom/) si tes fonctions sont compatibles.
Quoiqu'il en soit, ce n'est pas parceque tu n'utilises pas un framework JavaScript qu'il faut faire du code merdique : pas de code inline, regrouppement en fonctions, optimisation...
Le jour où tu as une incompatibilité, tu a juste une fonction a modifier. Au pire (mais vraiment au pire), tu fais appel dans ta fonction à la correspondance jQuery, le temps de corriger.

Maintenant, jQuery dernière version ne supporte plus IE6 officiellement. Donc, il faut en tenir compte.


(à voir aussi, comme table de compatibilité : http://compatibility.shwups-cms.ch/en/home/? )
« Modifié: 04 mars 2013 à 10:46:09 par Prélude »

Hors ligne Damocorp

  • Membre Junior
  • **
  • Messages: 93
  • Karma: +0/-0
    • Damocorp Space War
Merci bien pour les liens. J'aime ce genre présentation. Ils me serviront bien plus d'une fois :)
Voir mon projet sur jeux-web
Accès direct à Damocorp Space War
La fiche de Damocorp sur jeux-web

Hors ligne xviniette

  • Néophyte
  • *
  • Messages: 7
  • Karma: +0/-0
Quand tu parles de développer ton propre framework. Sache qu'il ne sera jamais aussi intéressant que les grosses machines de guerre tel que Zend ou symphony.
Par contre développer son propre framework peut être très intéressant au niveau programmation. J'avais codé le mien il y a 4-5 mois, et même s'il n'était pas le must have, je le trouvait bien intéressant (Je l'ai d'ailleurs utilisé dans plusieurs projets).

Donc si tu veux développer ton framework, n'hésite pas c'est une très bonne expérience, mais maintenir le framework à un bon niveau sera compliqué.

Hors ligne Thanatos

  • Néophyte
  • *
  • Messages: 3
  • Karma: +0/-0
    • Stormancer
D'une certaine manière, tous les développeurs codent leur propre framework, même ceux qui partent d'un framework existant.

Toutes les bibliothèques qu'on a développé et qu'on réutilise, toutes celles qu'on a récupéré sur internet et qu'on aime bien, tout ceci constitue le framework perso d'un développeur. Sa boîte à outil. Un développeur expérimenté ne pensera pas à ces outils comme un Framework, mais c'est ce que c'est.

Un framework préexistant, c'est au moins la garantie d'avoir une boîte à outil cohérente dès le départ. Même si elle sera moins adaptée à soi-même que celle qu'on s'est constitué au fil des projets.

Hors ligne Damocorp

  • Membre Junior
  • **
  • Messages: 93
  • Karma: +0/-0
    • Damocorp Space War
J'avais pas vu la chose comme ca effectivement :)

Je testerai la réalisation d'un framework, même si comme le dis si bien Prélude dans la radio, d'ici 3 mois je regarderai le code et me dirai que c'est bon à refaire.
Finallement Framework ou pas, il faudra toujours du temps pour tester, apprendre et améliorer le tout.

C'est bien ca qui me plait le plus dans la programmation, toujours appendre, toujours s'améliorer.
Voir mon projet sur jeux-web
Accès direct à Damocorp Space War
La fiche de Damocorp sur jeux-web

Hors ligne Prelude

  • Administrateur
  • Membre Héroïque
  • *****
  • Messages: 1155
  • Karma: +9/-0
    • Mon blog
Derrière mes 30 et quelques années de dév et plus de 20 en professionnel, je crois pouvoir dire sans la moindre prétention que j'ai encore tout à apprendre ;)
Donc, c'est l'un des nombreux atouts de ce métier.
Et comme le dit si bien Éric Daspet : "Les développeurs sont des créatifs"

Hors ligne Damocorp

  • Membre Junior
  • **
  • Messages: 93
  • Karma: +0/-0
    • Damocorp Space War
Bein d'accord avec ce monsieur
Voir mon projet sur jeux-web
Accès direct à Damocorp Space War
La fiche de Damocorp sur jeux-web