David Walsh est un développeur Web bien connu, âgé de 26 ans. En plus de son blog, il a contribué à la création de Script and Style et fait partie de l'équipe principale du framework Mootools. Aujourd'hui, nous lui parlerons de son flux de travail quotidien, de JavaScript et du développement Web en général..
Je m'appelle David Walsh et je me considère comme un programmeur Web flexible en PHP, CSS, HTML, JavaScript (MooTools et jQuery). Je passe la plupart du temps à genoux dans le code, à lutter contre les navigateurs ordures et les webmasters qui m’ont précédé..
J'ai appris le HTML, le JavaScript et le CSS pendant ma première année au lycée. Je ne me souviens pas pourquoi je suis tombée amoureuse de la programmation Web, mais je ne pouvais tout simplement pas m'empêcher de bricoler, bricoler, bricoler. Dix ans plus tard, je suis toujours obsédé par la programmation Web et pousse chaque langage Web à ses limites..
J'ai un travail normal de 8 à 5 jours mais j'apprécie le plus quelques heures après le travail. Cela me donne généralement le temps de prendre les problèmes rencontrés au cours de la journée et de les transformer en articles de blog. Mes possibilités d'expérimenter au travail sont limitées, de sorte que la liberté de bricoler après le travail me rafraîchit.
Wynq Web Labs est mon bras de conseil / freelance. Wynq se spécialise dans l’amélioration de votre site Web vanilla avec MooTools ou jQuery. Tant de choses peuvent être faites à l'aide de ces bibliothèques javascript (ou de n'importe quelle autre) qu'il est toujours possible d'améliorer un site Web basique ou avancé..
Le meilleur conseil que je puisse donner est le suivant: déposez le livre, ouvrez votre éditeur de texte et le code. Code, code, code. Expérimenter, expérimenter, expérimenter. Bricoler, bricoler, bricoler. Il n’ya pas de meilleure expérience d’apprentissage que de s’asseoir, d’échouer, de réparer, d’échouer, de réparer, etc. Ne cessez jamais d’échouer et de ne jamais arrêter de réparer. Je recommande également de lire des sites Web de développement Web de qualité comme mon blog, Nettuts +, Dev-Tips et CSS-Tricks; il y a beaucoup à apprendre des personnes riches d'expérience.
Oui, JavaScript est officiellement devenu mon langage de programmation préféré. J'aime la flexibilité de JavaScript et comment il peut, avec votre framework préféré et quelques lignes de code rapides, faire passer un site Web de 4 à 8. Il n’existe pas beaucoup d’autres langues / plates-formes qui existent. grand impact avec un temps relativement court.
J'ai suivi mes propres conseils: expérimenter, expérimenter, expérimenter. J'ai commencé par me fixer un petit objectif: échouer, résoudre le problème et atteindre cet objectif. Ensuite, nous passons au test suivant. J'ai également commencé à suivre des blogs centrés sur JavaScript comme le mien et j'ai rejoint la salle MooTools IRC. Il n'y a vraiment pas de substitut à la passion, à l'ambition et à prendre le temps d'expérimenter.
Ce qui est génial avec JavaScript, c’est qu’il s’agit du seul standard pour les scripts de navigateur. Certaines personnes déplorent le fait qu’il s’agit du seul langage de script pour navigateur et que nous sommes «coincés» avec ce dernier. Pensez-y: si chaque navigateur gère son implémentation JavaScript différemment (comme il le fait maintenant), imaginez que de nombreux langages au sein de chaque navigateur soient gérés différemment. Quel cauchemard!
J'aime que JavaScript soit typé de manière lâche et que vous puissiez modifier les prototypes d'objets natifs. J'aime aussi le fait que les fonctions puissent être stockées sous forme de variables et transmises sous forme d'arguments (/ moi éblouit en PHP). J'aime surtout le fait que JavaScript nous fournisse l’outil nécessaire pour lutter contre les sites Web ennuyeux - la seule limite à ce que nous pouvons faire est un manque d’imagination..
L'erreur JavaScript la plus courante que je vois est que les développeurs (ou les webmasters) copient un extrait de code javascript dans la page, le constatant que cela ne fonctionne pas et se plaignent par la suite que le code n'est pas correct. Les développeurs doivent prendre quelques instants pour étudier et comprendre le code - et ne pas seulement s’attendre à ce que cela fonctionne. Parmi les autres erreurs que je vois fréquemment, citons la résolution du problème «bien, ça marche» au lieu d’optimiser et d’utiliser JavaScript pour remplacer les tâches côté serveur. Supplément: oui; remplacer: non.
J'ai commencé à bloguer sur MooTools parce que j'aimais tellement le framework. Il y a environ un an, le développeur principal de MooTools, Aaron Newton, m'a demandé d'envisager de contribuer à la base de code et à la communauté du framework. Un mois plus tard, Valerio m'a demandé de rejoindre l'équipe MooTools. Aujourd'hui, je consacre la majeure partie de mon temps à communiquer au sein de l'équipe, à contacter les organisations à propos de MooTools, à discuter avec des membres de la communauté MooTools et à rédiger des didacticiels MooTools. Cela prend beaucoup de mon temps libre, mais être entouré de certains des plus brillants esprits JavaScript du monde est une façon bienvenue de le dépenser..
Absolument! Les concepteurs et les développeurs Web peuvent obtenir de l'aide avec MooTools à de nombreux endroits. Le meilleur endroit est la salle MooTools IRC sur Freenode: #mootools. Le groupe Google MooTools est un autre excellent endroit pour obtenir de l'aide. La plupart des développeurs et contributeurs MooTools Core ont des blogs qui traitent de problèmes élémentaires à avancés de MooTools. C'est difficile de ne pas trouver de l'aide!
Beaucoup! Chaque cadre peut toujours être amélioré. J'aimerais que MooTools intègre un gestionnaire de dépendance afin que les développeurs puissent charger des scripts en fonction de leurs besoins. Par exemple:
// javascript $ require ('Drag.Move');
Le code ci-dessus ajouterait Drag.Move
support (et ses dépendances) s'il n'est pas déjà inclus dans la page. Je sais que Dojo et YUI ont implémenté cela. J'aimerais que MooTools mette cela en œuvre. En tant que membre de l'équipe, je ne peux tout simplement pas attendre que cela se produise. :) J'ai hâte de travailler avec certains de mes collègues pour définir comment créer un tel système..
Remarque: MooTools a publié Depender, un outil de compilation côté serveur qui utilise PHP ou Python: http://github.com/mootools/mootools-depender/
Créer mon propre framework JavaScript n'est tout simplement pas dans les cartes. Je suis entouré de brillants développeurs de l'équipe MooTools et je respecte le travail effectué par les équipes jQuery, Dojo et Ext. Je préférerais passer mon temps à améliorer MooTools plutôt qu’à tenter de réinventer la roue..
Je pense que les frameworks JavaScript sont les entités qui poussent le plus les navigateurs à faire mieux, à aller plus vite, à avancer. Prenez du recul et réfléchissez à ce que nous faisons actuellement avec l'interface utilisateur Web que nous ne faisions pas il y a un an ou deux. Tout cela grâce à JavaScript (et à un groupe de programmeurs très talentueux).
Attendez-vous à des progrès incroyables de chacun des frameworks JavaScript. Nous sommes tous engagés pour le long terme et chaque jour offre la possibilité d'un saut en avant géant..
Je pense que CSS et JavaScript se volent parfois les rôles. Si quelque chose peut être fait (de manière fiable) avec CSS, un développeur doit utiliser CSS. Le problème est que CSS n’avance pas assez vite (ou du moins d’une manière normalisée) et que notre seule option est de pirater une solution avec JavaScript. Les coins arrondis et l'opacité en sont d'excellents exemples. Chaque navigateur a sa propre structure de code CSS pour obtenir la fonctionnalité souhaitée, ce qui rend le piratage CSS inefficace. Les frameworks JavaScript éliminent tous les soucis liés aux navigateurs et nous permettent de coder quelque chose et d'aller de l'avant. Je doute que cela changera de sitôt.
Je me considère habile dans les deux cadres et préfère MooTools. En fait, apprendre jQuery m'a fait aimer davantage MooTools. À chacun ses goûts. MooTools me convient parfaitement. La nature de la POO de MooTools me passionne et cette philosophie me permet de coder plus rapidement. Je trouve également que le code de MooTools est plus lisible en raison de son utilisation de getters, de setters et de mots d'action utilisés pour les noms de méthodes. MooTools me permet également de créer ma propre version, adaptée au projet sur lequel je travaille, afin de réduire la taille du fichier..
"En fait, apprendre jQuery m'a fait aimer davantage MooTools."
Si vous n'approuvez pas la modification du prototype d'objet natif (MooTools et Prototype le font), jQuery est le meilleur choix. La syntaxe de jQuery est généralement plus courte que celle de MooTools. jQuery est également connu pour avoir une courbe d'apprentissage plus facile que d'autres frameworks. Je félicite également jQuery pour son organisation, sa promotion et ses efforts de coordination - Rey Bango et son équipe font un excellent travail..
En fin de compte, il est important de savoir que vous ne pouvez pas perdre avec l'un ou l'autre des cadres. Je dirais que tout bon développeur JavaScript devrait maîtriser les deux. Le meilleur de tous est qu'ils peuvent travailler ensemble dans la même page.
Sûr. MooTools modifie les prototypes de certains objets JavaScript natifs (chaînes, fonctions, tableaux, etc.) pour les rendre plus flexibles et plus puissants. MooTools implémente également un système de classe / héritage OOP très solide qui vous permet d'étendre facilement les classes MooTools. MooTools est également très modulaire, vous n'avez donc qu'à télécharger les morceaux dont vous avez besoin.
jQuery habilite les éléments de l'objet jQuery, raison pour laquelle vous voyez souvent “$ (Ceci)” - "ce" n'est pas excrété sans le $ (). Tous les plugins sont ajoutés à la fonction $. JQuery est essentiellement une fonction puissante ($) avec de nombreuses autres fonctions ($ .each, par exemple). La syntaxe jQuery est généralement plus courte que la syntaxe MooTools et les mêmes méthodes sont utilisées pour obtenir et définir les styles, les attributs, etc..
J'y pense de cette façon: MooTools prend des objets natifs et les place sur des périodes stériles. jQuery leur donne un "$" shell de pouvoir. Aaron Newton a écrit un excellent article sur la différence et la similitude entre les deux frameworks: http://jqueryvsmootools.com. Je recommande vivement aux développeurs JavaScript de prendre le temps de lire le message d'Aaron et d'essayer eux-mêmes les deux cadres.
Trop à compter! Je suis particulièrement fier de mes plugins MooTools: ScrollSpy, ContextMenu, Dotter, jQuery Events, LazyLoad et ScrollSide. Vous pouvez consulter tous mes plug-ins MooTools sur mon site Web ou sur MooTools Forge. J'ai aussi pas mal de plugins jQuery disponibles sur mon site web. Les démos de mes plugins sont disponibles sur http://davidwalsh.name/demos.
L'un de mes professeurs d'université a déclaré un jour que «tout développeur digne de ce nom apprendra un langage de programmation par an» et j'essaie généralement de suivre ce principe. Mes langues principales sont PHP / MySQL et HTML / CSS / JavaScript. Bien que Git ne soit pas une langue, il est certain que le diable peut être un défi, et c'est ce sur quoi je me concentre actuellement. J'espère plonger dans Ruby et Python sous peu. Malheureusement, il ne semble jamais y avoir assez de temps pour apprendre tout ce que je veux!
Le modèle de site Web du groupe s'est incroyablement harmonisé grâce aux excellentes compétences en conception et en CSS de Chris. Créer un installateur solide était probablement la partie la plus difficile du modèle pour moi. BWT nécessite certaines connaissances de WebDev, mais nous voulions simplifier la configuration pour les consommateurs les moins avertis. Une fois le programme d'installation créé, le reste était facile. Je suis fier du directeur du Gig, aussi simple soit-il. Je suis également fier de la qualité de la réception et de l'absence de courriels d'assistance. Nous avons définitivement obtenu un résultat positif.!
Chris et moi collaborons beaucoup. Parfois, il s'agit de gros projets comme Script & Style et Template de site Web de groupe et d'autres fois, il écrit des articles de blog en parallèle. J'écris souvent le didacticiel MooTools qui reflète son didacticiel jQuery..
Script & Style était définitivement un défi. Je devais pirater certaines des fonctionnalités par défaut des flux RSS de WordPress. Nous avons également récemment ajouté des captures d'écran de la page Web de l'article, qui nécessitaient une mise en cache des images et un codage d'API de capture d'écran. Malgré les défis, le site a été très enrichissant et j'ai hâte de le développer davantage.
Budget. Budget vous dit presque tout ce que vous devez savoir sur un client. S'ils respecteront le travail que vous faites. S'ils vont nécessiter beaucoup d'entretien. Si leurs objectifs avec le site Web seront en ligne avec vos objectifs pour le projet. Rappelez-vous qu'ils ne vous choisissent pas seulement… vous les choisissez également.
Une excellente question. Cela dépend généralement du projet. Parfois, il est bon de ne garder qu'un seul chef en cuisine. J'essaie généralement de travailler avec un groupe de développeurs talentueux. Plus vous pouvez vous attaquer au problème, plus vous avez d'esprits expérimentés et meilleures sont vos chances de dépasser les attentes.
Curieusement, je n'ai que quelques sites Web de base que je suis, à part Nettuts +. Je suis toujours sûr de voir ce que Chris Coyier a à dire et aime lire les articles de A List Apart. Je vérifie surtout les articles entrant dans Script & Style. Je cherche de l'inspiration dans ces publications: moyens d'améliorer leur code ou de le transférer dans un autre framework JavaScript. Je garde également une oreille attentive dans la rue Twitter pour voir quels articles enthousiasment les gens..
. Pouvez-vous nous donner quelques exemples de traits qu'un bon développeur pourrait posséder??Un bon développeur est un bon solutionneur de problèmes qui explore toutes les pistes pour atteindre un objectif. Un bon développeur tire des leçons de ses erreurs passées et met tout en œuvre pour éviter de les répéter. Enfin, un bon développeur web est une personne qui maîtrise toutes les technologies et qui passe plus de temps à les comprendre et à les expérimenter..
En plus d’essayer de publier d’autres publications MooTools et jQuery sur mon blog, j’ai quelques projets parallèles. Un projet s'appelle OPTMZR, un site Web qui offrira de nombreux outils pour optimiser votre JavaScript, CSS, HTML, les images, etc. L’autre projet sur lequel je travaille est un site Web pour mon prochain mariage. Je vais ajouter quelques techniques MooTools qui feront l'objet d'un blog une fois le site terminé..
On m'a déjà demandé d'écrire des livres MooTools, mais tout ce que j'ai entendu dire, c'est que c'est une tonne de travail avec très peu de retour. J'aimerais voir mon nom imprimé, mais je pense que mon temps est mieux servi que de bloguer quotidiennement et d'aider les gens sur IRC. J'espère qu'un jour je pourrai publier le livre de David Walsh qui mettrait en vedette tous mes articles de blog au fil des ans..
Je recommande vraiment aux internautes de consulter mon blog. J'ai de nombreux didacticiels jQuery et MooTools, ainsi que des démonstrations qui vous permettront de mieux comprendre les deux cadres. N'hésitez pas à me suivre sur Twitter: @davidwalshblog. Je recommande également de visiter Script & Style - Chris Coyier et moi-même, modérons et approuvons des articles HTML / Javascript / CSS de qualité supérieure rédigés par des experts du secteur. Et n'oubliez pas de visiter MooTools Forge - des centaines de plug-ins MooTools de qualité conçus par des concepteurs et des développeurs comme vous! MooTools FTW!
Saviez-vous que vous pouvez gagner jusqu'à 600 USD en écrivant un tutoriel et / ou un screencast PLUS pour nous?? Nous recherchons des didacticiels détaillés et bien écrits sur HTML, CSS, PHP et JavaScript. Si vous en avez la possibilité, veuillez contacter Jeffrey à l'adresse [email protected]..
Veuillez noter que la rémunération réelle dépendra de la qualité du didacticiel final et du screencast..