Quel est le chemin vers la maîtrise de JavaScript? [fermé]


18

Je sais comment nous commençons avec JavaScript, nous coupons-collons un extrait pour gagner un peu de fonctionnalité ou de validation côté client.

Mais si vous suivez ce chemin en essayant d'implémenter un comportement interactif riche, il ne faut pas longtemps avant de réaliser que vous créez une Big Ball Of Mud.

Alors, quelle est la voie vers l'expertise dans la programmation de la couche d'interaction? Quels livres, didacticiels, exercices et processus contribuent à la capacité de programmer un JavaScript robuste et maintenable?

Nous savons tous que la pratique est importante dans toute entreprise, mais je cherche un chemin similaire à la réponse ici: /programming/2573135/


La "couche d'interaction?"
Robert Harvey

1
Doit être un nouveau tag à mon avis: P
Mike

1
Une autre question où la réponse est pratique comme tout autre domaine que vous souhaitez maîtriser. Pratiquez, apprenez de vos pairs (ceux qui sont plus qualifiés) et ai-je mentionné la pratique. Le processus de maîtrise du langage de programmation x est le même que pour le langage de programmation y qui est le même que la maîtrise de la sculpture, du crochet ou de tout autre métier.
Chris

1
@johnny: Quand vous pouvez arracher l'exception à la trace de la pile ...
TMN

1
@Chris - si vous suivez le lien que j'ai inclus, vous verrez qu'une telle question peut être utilement répondue. Dire "la réponse est pratique" n'est pas utile. Pointez quelques points de repère le long d'un chemin utile, ne me dites pas seulement de commencer à marcher.
Eric Wilson

Réponses:


15

lire le code des autres ( BEAUCOUP ) et essayer de comprendre ce qu'ils font et pourquoi ils le font. Écrivez votre propre code ( BEAUCOUP ) essayez de nouveaux concepts et idées, surtout jouez et amusez-vous. La meilleure façon de s'améliorer dans quelque chose est de pratiquer, de pratiquer, puis de pratiquer un peu plus.

Lisez des livres, des tutoriels, des articles, des blogs, des flux RSS, etc.

Créez un projet sur lequel travailler pendant votre temps libre. Si vous ne pouvez pas penser à quelque chose, trouvez un projet open source sur lequel vous pourriez être intéressé à travailler.

aussi, ne vous découragez pas et surtout, rappelez-vous que la «maîtrise» n'est pas une destination, mais un voyage - faites-le à votre rythme, amusez-vous et profitez du paysage. Si vous le prenez trop au sérieux, vous vous épuiserez et cela ne fera de bien à personne.


7
Je souhaite que cela réponde automatiquement lorsque quelqu'un demande "comment apprendre / maîtriser X". Cela ressemble beaucoup à la façon dont vous maîtrisez une preuve mathématique ou affinez un roman. Voir les autres travaux de X, pratiquer X vous-même, Rincer, répéter -> Master en X.
Chris

@Chris, Yup. C'est à peu près ma réponse standard.
Muad'Dib

Bien que je puisse dire que les questions concernant où trouver de bonnes références / livres / documents sont des questions que j'aime. J'ai récemment pris en charge Python et la question que nous avions programmers.stackexchange.com/questions/12189/… J'ai trouvé que c'était génial de me faire décoller et de courir.
Chris

@Chris ouais, cette réponse est plus un conseil général et manque d'étapes spécifiques qui peuvent être, à mon avis, très objectives. Moi aussi, j'aime voir les liens. Mais c'est à ça que sert Google, non?
Muad'Dib

C'est vrai, mais google ne peut fournir aucune réaction / impression du matériel. Google fait du bien mais ne fait pas tout. D'accord malgré tout. t
Chris


3

Tout d'abord, vous devez savoir quel sera votre objectif en matière d'apprentissage de JavaScript. Si vous cherchez simplement à faire une validation d'entrée et à rendre l'interface utilisateur un peu plus facile pour l'utilisateur, vous n'avez vraiment pas besoin d'avoir une compréhension approfondie du langage si vous utilisez des cadres tels que jQuery .

Cela dit, si vous voulez acquérir une solide compréhension de JavaScript, essayez de écrire une extension dans un cadre existant qui implémente un outil utile.

En termes de livres et d'autres ressources, je n'ai pas vraiment entendu parler de beaucoup de livres utiles et j'ai généralement appris la langue en essayant de résoudre les problèmes et en vérifiant que mon code est propre selon JSLint . Une combinaison d'un problème intéressant (par exemple l'extension du framework), JSLint, et suffisamment de temps pour obtenir une pratique solide en sera probablement votre meilleur pari en termes d'apprentissage de la langue.


2

Avant d'apprendre les détails de développement Web (DOM, etc.), apprenez le langage principal. Vous pouvez apprendre de nombreuses façons - livres, vidéos, etc. Vous aurez bien sûr besoin de lire et d'écrire du code.

ECMAScript (c'est le nom du langage standard - javascript fait référence à plusieurs implémentations) est un langage très intéressant. Il s'agit d'un langage orienté objet dynamique, fonctionnel et basé sur un prototype.Par conséquent, vous devriez prendre votre temps pour comprendre les principes de ces paradigmes.

Apprenez à utiliser une console interactive dans votre navigateur (dans Chromium, vous pouvez y accéder en appuyant sur Ctrl+ Shift+ J) qui est similaire à des outils comme IRB et l'interpréteur interactif Python. Ceci est utile pour tester les fonctionnalités du langage et le débogage.

Utilisez JSLint pour vérifier la qualité de votre code.

Lorsque vous commencez à faire du «vrai» développement à l'aide de DHTML, simplifiez-vous la vie en utilisant un framework, tel que JQuery , pour gérer les problèmes frustrants entre les navigateurs.


1

Beaucoup de techniques qui font d'un programmeur un expert dans une langue donnée peuvent être appliquées ici, bien que javascript ait quelques perles qui lui permettent d'être utilisé avec un effet extraordinaire. Peut-être que l'un des plus gros obstacles que j'ai dû surmonter en utilisant javascript était de défaire ma mentalité de programmation en "C", c'est-à-dire mille fonctions minuscules confinées dans un seul fichier js.

Quelques conseils généraux sont de résumer chaque fois que vous le pouvez et d'essayer de former des classes chaque fois que vous le pouvez pour organiser un comportement général. Créez de nouveaux fichiers js pour toute fonctionnalité pouvant être utilisée à bon escient dans vos autres fichiers js (dans des limites raisonnables) et évitez les variables globales si possible. Je vous recommande fortement d'apprendre jQuery si vous ne l'avez pas déjà fait. C'est un outil que j'ai appris à aimer et dont je ne me passerais plus. C'est une extension extrêmement flexible de javascript qui vous permet de simplifier énormément votre code, ce qui est bon pour la simplicité et de pouvoir également coder rapidement et efficacement. jQuery est livré avec une grande bibliothèque de plugins qui vous permet de faire beaucoup de choses qui ne pourraient pas être plus impressionnantes si vous le faisiez en flash. Check-out interface utilisateur de jQuerypour un système de thème complet pour votre site, vous permettant de modifier efficacement la mise en page entière de votre site sans faire grand-chose du tout. Livré avec de nombreux effets d'animation et des contrôles pratiques couramment utilisés sur les sites Web (sélecteur de date, bouton, barre de progression, etc.), dont la plupart peuvent être activés à l'aide d'une seule ligne de javascript.

J'espère que cela pourra aider!


1

Une grande partie de ce que vous faites en JavaScript est essentiellement liée à la compatibilité DOM, CSS et du navigateur, donc la compréhension du DOM est l'une des principales exigences pour maîtriser JavaScript.

Apprendre les fonctionnalités de base du langage, telles que l'orientation d'objet basée sur un prototype, les fonctions anonymes et les fonctionnalités de langage plus générales telles que les boucles, les conditions, etc. est la clé pour comprendre tout code que vous lisez qui n'interagit pas spécifiquement avec DOM / CSS .

Vous devrez également apprendre la bibliothèque standard de langage, par exemple la chaîne et les mathématiques et d'autres fonctions d'objet de base.

Vous devriez également étudier les algorithmes, si vous souhaitez acquérir une compréhension vraie et complète de la façon dont les choses se font et comment mettre en œuvre des solutions plus avancées, ces connaissances sont fondamentales pour comprendre la programmation avancée et vont au-delà de la syntaxe spécifique au langage.


1

Lisez le code des bibliothèques que vous utilisez. La lecture de la source jQuery ou Prototype vous apprendra ce qui se passe réellement en javascript et dans le dom. Recherchez des techniques que les bibliothèques utilisent pour que vous puissiez les comprendre. N'hésitez pas à commencer par lire les micro-frameworks sur http://microjs.com/ . Assurez-vous que vous regardez la source réelle, et pas seulement les fichiers distribués. (jQuery a une douzaine de fichiers source, mais ils sont assemblés par un processus de construction.)


0

Javascript est actuellement appliqué dans de nombreux domaines de développement.

  • C'est la seule langue présente dans un navigateur moderne.
  • Il peut s'exécuter sur le serveur, grâce à node.js et au moteur V8.
  • Il peut fonctionner intégré dans les appareils mobiles via PhoneGap ou d'autres alternatives.
  • Il peut être utilisé pour créer des applications Windows 8.

Par conséquent, je pense qu'il y a plus de maîtrises javascript. Cela dépend de ce que vous voulez commencer, mais rassurez-vous, chacun des 4 éléments mentionnés ci-dessus vous donnera un défi différent - ok, peut-être que les champs de la fenêtre 8 et de l'intervalle téléphonique pourraient être similaires mais les autres sont différents -.

Si nous parlons de l'environnement du navigateur, apprendre comment presque chaque application Web devrait être organisée pourrait être l'un des chemins que vous pourriez emprunter. Je vais dans cette voie, et expérimente mes propres idées, vérifiant les dépôts git des bibliothèques d'organisation de code populaires comme dojo, backbone, ember, etc.

Si nous parlons de l'environnement du nœud js, c'est une autre histoire. Nous ne sommes pas concernés par la minification et la taille du fichier. Créer des applications entières dans un nœud, construire des systèmes, des sites, des API REST, il y a beaucoup de choses à découvrir là-bas.

Si nous parlons du monde mobile, une optimisation excessive vient à l'esprit. Les propriétés accélérées CSS3, les animations, les événements tactiles et essayer d'utiliser la même architecture que le Web avec des composants d'interface utilisateur plus spécialisés sont d'excellentes choses pour commencer.

Dans l'ensemble, comme d'autres ont répondu, expérimenter avec votre propre code et avec le code des autres est le meilleur moyen de s'impliquer, de suivre les nouveautés et qui sait, peut-être trouver la prochaine grande chose.

Une autre chose qui aide est de travailler en équipe et de comprendre les différences entre votre manière et la façon dont l'équipe écrit du code. Travailler dans une équipe de développeurs javascript vous obligera à écrire un meilleur code et à bien le documenter. Je pense qu'il n'y a pas de meilleur moyen d'apprendre l'architecture d'une application que d'écrire un wiki sur ce que vous avez l'intention d'implémenter ou avez déjà implémenté.


-1

J'ai détesté JavaScript jusqu'à ce que je découvre jQuery. Maintenant, je l'adore et je l'utilise tout le temps. Probablement trop.


Vous détestiez la conformité DOM et multi-navigateur, pas EcmaScript.
Raynos

jQuery rend Javascript amusant! +1
Dynamique
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.