web-dev-qa-db-fra.com

L'importance de JavaScript et la meilleure façon de l'apprendre?

Je suis un nouveau diplômé, mais je fais un développement Web depuis environ six mois. Quand j'avais fini par l'Université, les langues latérales du serveur (PHP, Java) étaient plus importantes que les langues secondaires du client. Javascript n'a été utilisé que pour valider les données ou utiliser AJAX pour embellir la page. La validation du côté serveur était bien sûr faite de toute façon.

Alors que je pleure dans plus de projets, je peux voir que JavaScript est utilisé beaucoup. Il s'agit principalement de créer des effets visuels, mais une pièce importante est utilisée pour transmettre des données (JSON) et faire des demandes (AJAX). Dans un projet que je suive, JavaScript prend 30% à 40% du codeBase!

Ma question est la suivante: "est javascript comme important?".

Ma première impression n'était pas bonne, mais je me rendrai aussi compte que cela nécessite une compétence d'écrire un bon JavaScript. Il semble très facile d'écrire, il est donc tellement difficile de gérer et très difficile d'identifier le flux de JavaScript.

P/S: Beaucoup d'astuces, des conseils, une bibliothèque (comme JQuery) et des tutoriels sont là-bas, ils sont beaucoup mais je ne connais pas la meilleure façon de commencer. Je suis donc très reconnaissant si quelqu'un pouvait me donner un conseil.

MISE À JOUR : Comme maintenant je suis sur le chemin avec JavaScript, merci pour tous les conseils utiles. Je vais essayer de résumer les réponses afin qu'elle puisse être une bonne source pour quiconque avec le même problème.

JavaScript:

pourquoi ça va bien :

  1. Meilleure interface utilisateur
  2. Beaucoup de bon cadre
  3. Côté de serveur JavaScript (Mongodb & Node.Js)
  4. Beaucoup de candidatures de succès construites (Gmail en est un exemple)
  5. Axé sur l'objet capable
  6. Bon soutien (HTML5 inclus)

concept important

  1. Fermeture (manipulation des événements)

meilleure pratique

  1. Rien de global. Essayez d'utiliser des "espaces de noms/bibliothèques et classes"
  2. Ne fonctionne jamais (controversé). J'utilise toujours la fonction, et cela ne semble pas très mauvais.

ressources

  1. Réseau de développeurs Mozilla
  2. Douglas Crockford
  3. W3schools (Starter)
  4. Tizag
  5. JavaScript - Le Guide défini (eBook) (recommandé par Douglas Crockford)
  6. Head premier JavaScript (ebook)
  7. Head First Ajax (eBook)
  8. Head Rush Ajax (eBook)
  9. JavaScript orienté objet: créez des applications javascript et des bibliothèques javascript de haute qualité évolutives de Steyan Stefanov.
  10. Koans javascript

cadre

  1. Mousse
  2. Prototype
  3. Dojo
  4. Extjs
  5. Yui
  6. GWT
  7. Côté serveur: mongodb & node.js

Alternative pour JavaScript (merci Mike Samuel)

  1. GWT: code.google.com/weboolkit (Java)
  2. script de café (python)

Encore une fois, je tiens à vous remercier pour toutes les réponses et opinions, car je bénéficié d'un grand avantage de tous. Néanmoins, en raison du fait que je peux tout simplement accepter une réponse, la réponse de la Renèse, pour sa mention sur Fermeture, ce qui est utile pour moi.

25
Hoàng Long

Pour le moment, JavaScript est essentiel pour une application Web ou un site Web, sauf si vous allez simplement avoir des pages statiques. Vous devez l'apprendre.

Je suis un grand partisan de l'apprentissage de la langue elle-même, mais si vous devez également l'utiliser pratiquement et que vous n'avez pas déjà ni besoin d'un cadre personnalisé, je voudrais utiliser et apprendre jQuery. C'est un excellent cadre dans sa conception et ses fonctionnalités.

Assurez-vous d'apprendre comment -Fermetures Travail (défini fondamentalement: fonctions comme variables) et cela vous aidera à comprendre beaucoup de moyens de fondement de JQuery.

Un embout important, que si non suivi, laissera le code obtenir hors de contrôle très rapidement: essayez de ne pas jamais utiliser l'espace global de quoi que ce soit, mais que des espaces de noms/Bibliothèques et classes! ( Ne jamais Fonctions!)

16
Nicole

Oui

JavaScript est absolument essentiel pour faire du développement Web.

Côté client et général

J'ai écrit une Liste des meilleures pratiques de JavaScript Il n'y a pas trop longtemps, même si vous devez toujours faire attention à certains JavaScript "Gotcha's's's's" qui se faufile. Comprendre les bases de la programmation fonctionnelle sont un très bon début. Gardez les choses dans la portée locale, créez des bibliothèques pour contenir vos objets et vos fonctions. Soyez cohérent, utilisez JSlint .

Je recommande de partir au réseau de développeurs Mozilla , plus spécifiquement la section JavaScript . Il y a beaucoup d'informations vraiment excellentes sur la manière dont JavaScript fonctionne et des conseils et des conseils communs.

Côté serveur javascript

Une autre chose que je recommande vivement est de prendre à outils basées sur javascript , spécifiquement MongoDB et nœud.js . MongoDB est une base de données "NOSQL" qui a utilisé SpiderMonkey sous le capot pour exécuter des requêtes et manipuler des données. Nœud.js est activé des connexions de niveau bas sur des connexions basées, des connexions HTTP de niveau supérieur et un tas d'autres goodies pour la rédaction de JavaScript côté serveur.

6
Josh K

Oui

Une réponse courte est oui, parce que l'UI compte, et cela compte beaucoup ces jours-ci, il a toujours compté et cela importera toujours. Il ne s'agit pas seulement d'importants effets niftys, mieux UIS vous permet de travailler différemment, ce qui compte à chaque utilisateur.

Mais attendez, il y a plus.

Applications frontales, pas décor

Avant de sous-estimer JavaScript (que la plupart d'entre nous font à un moment donné), sachez que JavaScript est capable de penser à plusieurs fois. Si vous jetez un coup d'œil à ce qui peut être fait avec JavaScript (en dehors du développement Web côté client), non seulement vous serez surpris, mais inspiré, jetez un coup d'œil:

JavaScript est utilisé de plus en plus comme une langue backend, juste Google "Node.Js".

Ne sous-estimez pas JavaScript

Même avec ses des défauts de conception , les développeurs se sont rendus pour construire de grandes choses avec elle, comme je l'illustre plus tôt. Pour comprendre JavaScript, peut-être que personne ne vaut mieux écouter que Douglas Crockford . Ma première approche sérieuse de JavaScript, heureusement, était à travers cette petite conversation par lui:

"Le langage de programmation Javascipt" ( partie 1 , partie 2 , partie , partie 4 )

Note personnelle: Je suis en quelque sorte réussi à trouver cette conversation juste au bon moment, qui étant déjà lors du développement d'une idée de projet que j'ai vendue et qui est venue à la production avec succès ... quand j'étais un noob JavaScript total (à la "faire Webpage Demandez votre nom et affichez-le ".

jquery et motoools

Je sais que je pourrais avoir des tomates jeté au visage pour cela, mais N'essayez pas JQuery avant d'essayer motooques, pourquoi ?, JQuery est Populaire = Parce que, en vérité, tout script kiddie (* Dodges tomate *) peut faire des choses très astucieuses et rapidement.

Les problèmes rencontrent ensuite, sous la forme d'un code spaghetti savoureux, et c'est la seule chose qui fait moi Reste à l'écart de JQuery: le code n'éplève pas, ce qui signifie Plus vous ajoutez à votre UI/Application, plus vous avez terminé du code spaghetti.

Je ne dis pas que JQuery est mauvais, je dis simplement que vous pouvez faire de mieux coder avec d'autres cadres. Je recommande toujours motoools au-dessus de tout autre cadre, car Il conduit à nettoyer javascript modulaire orienté objet et bien architecté, et en général, vous pouvez dire Il fait JavaScript une meilleure langue. Il existe même une version JavaScript de côté serveur pur du cadre de Motoools dans la page Téléchargements .

La seule chose que je veux que vous preniez de cela est la suivante: élargir votre spectre Avant de rester avec JQuery.

Quelques autres grands cadres:

* Essuyer les tomates off-face *

Pour comprendre la nature de Marotools un peu plus, je vous recommande de vérifier ce qui suit:

Enfin, rappelez-vous que Les cadres ne sont que des outils, pas des religions, vous pouvez utiliser plusieurs en même temps, même JQuery et MotooTools à la même heure exacte (voir Objet orienté jQuery avec mooTools (cochons Prenez votre vol ), et comme tout outil, il est seulement bon s'il convient à vos besoins. Si vous avez besoin d'une manipulation facile et de sale et sale et/ou facilement disponible, JQUERY est pour vous, OTOH, si vous allez s'appuyer sur JavaScript pour votre application côté client et que vous souhaitez une architecture JavaScript réelle et propre, Motools est pour vous.

L'apprendre

Certaines ressources que j'ai trouvées utiles:

5
dukeofgaming

Si vous parlez d'applications Web, au lieu de sites Web, la tendance à long terme est d'écrire l'assurance-emploi entière en JavaScript ou de ne rien écrire dans JavaScript.

La raison en est que les personnes ont compris que la séparation de l'état de l'interface utilisateur sur le client et le serveur est gênante. En conséquence, il existe de nombreuses solutions qui tentent d'apporter le code de l'interface utilisateur parfaitement sur le client ou entièrement sur le serveur. Si c'est sur le serveur, vous vous retrouvez avec des cadres tels que ASP.NET et vous n'écrivez pas beaucoup de code JavaScript. Si c'est sur le client, vous vous retrouvez avec des cadres tels que ExtJs et Dojo, et vous finissez par traiter le serveur en tant que magasin de données (avec validation pour la sécurité).

Si vous êtes favorable à une approche centrée sur le client, comme si je le ferai, vous devrez vraiment apprendre JavaScript. Lire le livre de Douglas Crockford, apprenez l'un des cadres de composants Big JS (ExtJS est mon favori). Si vous êtes favorable à une approche centrée sur le serveur, ne vous inquiétez pas avec JavaScript. L'une ou l'autre approche vous permettra de créer des applications Web de haut niveau, mais la compétence requise est très différente.

Ce que je peux vous dire, c'est que si vous l'utilisez correctement, JavaScript est aussi propre que n'importe quelle autre langue. Beaucoup de gens écrivent JavaScript comme si c'était PHP, jetant tout sur une grande pile mondiale de boue. Si vous souhaitez voir ce que JavaScript peut faire lorsqu'il est utilisé correctement, consultez les exemples exemples extjs .

2
Joeri Sebrechts

JavaScript est un langage de programmation interprété principalement utilisé pour transformer les pages Web statiques en pages dynamiques et interactives une fois qu'un navigateur Web a fini de télécharger une page Web. En règle générale, les pages Web doivent utiliser JavaScript pour améliorer l'expérience de l'utilisateur, plutôt que de dépendre. Et, il est intégré aux pages HTML pour interagir avec des objets DOM. Gmail utilise JS autant de sa logique d'interface dans la mise en œuvre dans JS. Et, selon Douglas Crockford (actuellement un architecte JavaScript senior à Yahoo!) , JS est le plus Langage de programmation incompris .

Il existe une autre application où JS est utilisée autre que l'application Web, telles que les gadgets de Microsoft, Yahoo! Widgets, Google Desktop Gadgets, etc.


Pour l'apprendre, je préfère tête première JavaScript . Et, il y a tête d'abord Ajax et tête Rush Ajax , ils sont assez assez pour les débutants. Jetez un coup d'œil sur eux.

2
Abimaran Kugathasan

Vous pourriez trouver le koans JavaScript une façon amusante d'apprendre un peu sur les (bons bits) de la langue javascript.

J'adorerais des contributions supplémentaires de Koan; Juste Fork & Envoyer une demande de traction.

1
David Laing

JavaScript orienté objet: créez des applications javascript et des bibliothèques javascript de haute qualité évolutives de Steyan Stefanov.

Ne soyez pas induit par le nom, il n'assume aucune connaissance antérieure de JavaScript. C'est un livre de détail débutant sur JavaScript (pas la programmation débutant). Je pense que ce serait beaucoup plus célèbre sinon pour le titre.

Je faisais face au même choix récemment et après avoir essayé un certain nombre de livres recommandés, j'ai fini par lire et aimer celui-ci. Les autres livres ont également pris trop de connaissances javascript de lire comme un dictionnaire. Celui-ci a beaucoup plus d'exemples/problèmes intéressants et introduit explicitement des subtilités intéressantes de la langue pour vous sauver une frustration.

1
zhenka

Juste pour le chèque amusant this lien pour une explication de ce bit de code JavaScript

($=[$=[]][(__=!$+$)[_=-~-~-~$]+({}+$)[_/_]+($$=($_=!''+$)[_/_]+$_[+$])])()[__[_/_]+__[_+~$]+$_[_]+$$](_/_)

Comme mentionné dans les autres réponses ne sous-estimez pas JavaScript, La langue est remarquablement puissante et que cela permet aux types ci-dessus d'obfuscation qu'il exige que vous preniez le temps d'apprendre à le savoir. Tôt ou tard, vous devrez peut-être déchiffrer quelque chose de similaire qu'un autre programmeur "intelligent" laissé dans certains codes que vous devez entretenir.

0
kloucks