Quero escolher o JavaScript como meu principal campo de desenvolvimento, ao lado de HTML e CSS para me tornar um desenvolvedor conhecido como desenvolvedor front-end . Mas não sei como me tornar um profissional de JavaScript. Eu li muitos livros e aprendi as peças, incluindo tipos de dados, sintaxe, uso de ferramentas (como IDEs, depuradores, etc.), jQuery etc. Mas quando olho para alguns códigos JavaScript sofisticados, incluindo bibliotecas famosas, fico " Eu nunca poderia escrever esse código ". O que há de errado aqui? Que passo eu deveria dar que não dei? Sinto que estou perdendo algo aqui para me tornar um desenvolvedor profissional de JavaScript. Também assisti a filmes de treinamento, incluindo os filmes de Douglas Crockford no Yahoo Theatre.
fonte
Respostas:
Sua resposta é experiência. Receio que não haja outra maneira de se tornar bom sem prática. Tente criar bibliotecas semelhantes às que você considerou um exercício. Continue lendo, mas pratique, pratique, pratique!
fonte
Mesmo? Experimente primeiro.
fonte
Engraçado você deve formular sua pergunta dessa maneira. A maioria dos livros sobre javascript básico não ajuda a entender por que e como certos aspectos do JavaScript devem ser usados para obter um ótimo código. O que realmente REALMENTE me ajudou a entender o lado mais avançado do JavaScript, bem como as melhores práticas de codificação, foram os escritos de John Resig, o principal engenheiro do JQuery.
http://www.amazon.com/s/ref=nb_sb_noss?url=search-alias%3Daps&field-keywords=John+Resig
Particularmente:
Técnicas JavaScript Pro
Segredos do JavaScript Ninja
Isso ajuda você a entender como os recursos avançados de JavaScript devem ser usados e por quê. Você também pode ler sobre Padrões e Princípios Ágeis e, em particular, os escritos de Martin Fowler para idéias mais generalizadas sobre as melhores práticas de codificação.
fonte
Você tem que programar ... muito.
Estude o código fonte de projetos como jQuery, Node.js. Adicione CoffeScript ou ClojureScript ao seu arsenal.
Dê uma olhada no JavaScript MVC ou Backbone.js.
Veja o que o Google Closure traz para a mesa.
E, claro, adicione a Mozilla Developer Network aos favoritos.
fonte
Se você escolher esse campo, esteja preparado para receber menos e ser considerado menos profissional / bom que c / c ++ / c # / java / etc.
Geralmente é esse o caso, especialmente em termos de salários. É muito fácil encontrar codificadores js + html + css realmente bons, mas é meio difícil encontrar programadores c / c ++ / c # realmente bons. Esse é o problema que a empresa em que trabalho (cerca de 300 funcionários) está enfrentando agora. Até os alunos que têm uma boa compreensão dos idiomas mencionados foram pagos melhor do que os desenvolvedores de JS experientes.
A maioria dos desenvolvedores de JS aprende com os tutoriais da Internet e participa de projetos de código aberto, o que é uma coisa bastante boa - talvez encontre algum projeto FOSS que use muito o JS (desenvolvimento de front-end para o gnome 3, para dar um exemplo) e contribuir para isso. Dessa forma, você pode obter alguma experiência com as ferramentas e idiomas.
Além disso, encontre alguns livros com boa classificação na Amazon e leia-os. Mas lembre-se, CODING é a maneira que você aprende, então comece a desenvolver, além de ler;)
fonte
Eu concordo com o que foi dito acima, você só precisa praticar. Também é importante entender os padrões de design usados no código javascript high-end. Eu acho que depois que você entender os padrões usados e por que eles os utilizaram, pode ficar muito mais claro. Os Pro JavaScript Design Patterns de Harmes e Diaz são um bom começo. Veja também os Padrões de design JavaScript essenciais da Osmani para iniciantes .
fonte
Os ninjas normalmente são apenas agricultores ou camponeses vestidos com roupas simples, mas furtivas, que disfarçam a identidade. Mas o que faz de uma pessoa simples um verdadeiro ninja é um objetivo significativo, realizá-lo e depois não se matar. Então, com isso em mente, por que você não encontra um demônio samurai javascript, aguça a codificação da katana e vê se consegue derrubar o badboy sem se matar. Se você conseguir, fará do mundo um lugar melhor para os outros criadores de código e descobrirá que se tornou um ninja no processo. Isso ou você estará morto.
Boa sorte!
fonte
Eu não me chamaria de mestre em javascript, mas muito bom mesmo assim. Leia, entenda e codifique como estes livros:
http://www.amazon.com/Pro-JavaScript-Techniques-John-Resig/dp/1590597273/ref=sr_1_2?s=books&ie=UTF8&qid=1320176633&sr=1-2
http://www.amazon.com/JavaScript-Good-Parts-Douglas-Crockford/dp/0596517742/ref=pd_sim_b_1
Isso cobriria o básico. Depois explore todo o campo. Tente aprender o máximo possível. Aprenda a depurar código no Firebug. Aprenda algumas estruturas javascript (um tanto decentes) - o Jquery é o mais fácil. Talvez kit de ferramentas Dojo, Mootools e Prototype. Tente ler e entender o código fonte das estruturas javascript. Crie um plugin no jQuery. Aprenda o padrão do módulo. Há muito o que aprender ..
Mas a regra mais importante de todas é:
Código e tente melhorar a si mesmo todos os dias!
E não se torne apenas um viciado em framework que precisa do mais recente plugin ou framework para fazer algo de bom. Tente dominar o idioma principal e faça plug-ins ou widgets desde o início. Se você não pode fazer isso, ainda não é ótimo.
fonte
Definitivamente praticar - mas, IMHO, é melhor não apenas fazer um trabalho ocupado para praticar; encontre um problema real para resolver. Pense em algo legal para realizar e escreva-o. Encontre alguém que queira fazer algum trabalho javascript gratuitamente (como para uma instituição de caridade ou sem fins lucrativos) ou muito barato e escreva um código para eles. Em outras palavras, sua melhor prática ocorrerá fazendo algo significativo.
Além disso - acho que o javascript é uma linguagem realmente interessante e realmente muito poderosa -, mas aprendi mais sobre programação em geral na classe C da faculdade que fiz anos atrás do que em qualquer fonte antes ou depois. Aprender C veio com aprender sobre como os computadores pensam, sobre a memória em bits e bytes, e eu tive um professor bastante decente que enfatizou algumas práticas de programação fundamentais realmente sólidas. O cara que disse aprender outra língua não estava completamente errado - aprender outra língua muda um pouco sua visão de programação e faz você apreciar as semelhanças e diferenças.
fonte
O código javascript que você encontra em um aplicativo Web típico é bastante fácil, especialmente se você usar uma estrutura como o jQuery. Escrever plugins personalizados é um pouco mais avançado, mas ainda requer apenas alguns conceitos básicos. Isso é suficiente para a maioria das finalidades - em ambientes corporativos, você pode realmente impressionar os clientes com algumas técnicas simples de desenvolvimento da Internet, porque a interface do usuário existente geralmente é horrível - mas não é realmente um nível ninja.
Se você realmente deseja conhecer o javascript, precisa de algo um pouco mais desafiador, onde encontrará as limitações do sistema e será forçado a aplicar técnicas mais avançadas. Você pode encontrar parte desse tipo de código em estruturas que precisam lidar com a compatibilidade do navegador, mas esse é um problema amplamente resolvido, além de ser bastante frustrante de se trabalhar. Existem muitas opções mais interessantes em torno dos aplicativos html5 - tente implementar algo que normalmente não seria feito em um navegador.
Meu próprio exemplo disso é um cliente git. Javascript não lida com dados binários muito bem, e a implementação ingênua bloqueia a interface do usuário por vários minutos e aloca novos objetos com rapidez suficiente para ficar sem memória antes que o GC seja acionado. A otimização de algo assim leva a aprender exatamente o que acontece quando o código é executado, e como esse entendimento é impossível com códigos mal estruturados, você aprenderá a escrever javascript com uma estrutura clara, aplicável também a aplicativos mais comuns.
fonte
Prática em campo e JQuery. Este é o melhor conselho que posso dar.
fonte
Não aprenda JavaScript como seu primeiro idioma e não tente emular o estilo de programação encontrado nas bibliotecas JavaScript. A maioria dos programadores de JavaScript são hackers que desistiram de linguagens de programação reais como C ++, C, Java etc. O resultado é que o código JavaScript deles é um amontoado de código espaguete não comentado e indecifrável. Eu sei, porque trabalhei como engenheiro de software C ++ / Java / C # e estou entrando no mundo do JavaScript agora.
Portanto, se você deseja ser um ótimo programador de software JavaScript, aprenda algumas outras linguagens de programação primeiro e depois volte ao JavaScript.
fonte