Sei como começamos com JavaScript, recortamos e colamos um snippit para obter um pouco de funcionalidade ou validação do lado do cliente.
Mas se você seguir esse caminho na tentativa de implementar um comportamento interativo rico, não demorará muito para que você perceba que está criando um Big Ball Of Mud.
Então, qual é o caminho para a experiência em programar a camada de interação? Quais livros, tutoriais, exercícios e processos contribuem para a capacidade de programar JavaScript robusto e sustentável?
Todos sabemos que a prática é importante em qualquer empreendimento, mas estou procurando um caminho semelhante à resposta aqui: /programming/2573135/
javascript
software-craftsmanship
Eric Wilson
fonte
fonte
Respostas:
leia o código de outras pessoas ( MUITO ) e tente entender o que eles estão fazendo e por que eles estão fazendo. Escreva seu próprio código ( MUITO ), experimente novos conceitos e idéias, acima de tudo, jogue e divirta-se. A melhor maneira de melhorar algo é praticar, praticar e praticar um pouco mais.
Leia livros, tutoriais, artigos, blogs, feeds RSS, etc.
Crie algum projeto para trabalhar no seu tempo livre. Se você não consegue pensar em algo, encontre um projeto de código aberto no qual possa estar interessado em trabalhar.
Além disso, não desanime e, acima de tudo, lembre-se de que "domínio" não é um destino, mas uma jornada - faça o que quiser no seu próprio ritmo, divirta-se e aprecie a paisagem. Se você levar isso muito a sério, ficará esgotado e isso não ajudará ninguém.
fonte
Poucos links para o domínio JS
Quais " recursos ocultos " do JavaScript você acha que todo programador deveria saber?
Perguntas sobre entrevista avançada em JavaScript
Melhores recursos para aprender JavaScript - vídeos JavaScript de Douglas Crockford
Quais perguntas um programador JavaScript deve ser capaz de responder?
Aprendendo JavaScript avançado
6 técnicas avançadas de JavaScript que você deve conhecer
fonte
Primeiro, você precisa saber qual será seu objetivo em aprender JavaScript. Se você está apenas procurando validação de entrada e tornar a interface do usuário um pouco mais fácil para o usuário, realmente não precisa ter um entendimento completo e aprofundado da linguagem se estiver usando estruturas como o jQuery .
Dito isso, se você deseja obter uma sólida compreensão do JavaScript, tente e escreva uma extensão em uma estrutura existente que implemente uma ferramenta útil.
Em termos de livros e outros recursos, eu realmente não ouvi muito sobre livros úteis e geralmente aprendi a linguagem, tentando resolver problemas e verificando se meu código está limpo de acordo com o JSLint . Uma combinação de um problema interessante (por exemplo, extensão de estrutura), JSLint e tempo suficiente para obter uma prática sólida provavelmente será sua melhor aposta em termos de aprendizado do idioma.
fonte
Antes de aprender qualquer um dos detalhes de desenvolvimento da web (DOM etc.), aprenda o idioma principal. Você pode aprender de várias maneiras - livros, vídeos etc. É claro que precisará ler e escrever código.
ECMAScript (esse é o nome do padrão da linguagem - o javascript se refere a várias implementações) é uma linguagem muito interessante. É uma linguagem orientada a objetos dinâmica, funcional e baseada em protótipo; portanto, você deve dedicar algum tempo para entender os princípios desses paradigmas.
Aprenda a usar um console interativo no seu navegador (no Chromium, você pode acessá-lo pressionando Ctrl+ Shift+ J), semelhante a ferramentas como IRB e o interpretador interativo Python. Isso é útil para testar recursos de linguagem e depuração.
Use JSLint para verificar a qualidade do seu código.
Quando você começar a desenvolver um desenvolvimento 'real' usando DHTML, facilite sua vida usando uma estrutura, como o JQuery , para lidar com os frustrantes problemas entre navegadores.
fonte
Muitas das técnicas que tornam um programador um especialista em um determinado idioma podem ser aplicadas aqui, embora o javascript tenha algumas pérolas que permitem que ele seja usado com efeitos extraordinários. Talvez um dos maiores obstáculos que eu já tenha superado com o javascript foi desfazer minha mentalidade de programação "C", ou seja, mil pequenas funções agrupadas em um único arquivo js.
Um conselho geral é abstrair sempre que possível e tentar formar classes sempre que possível para organizar o comportamento geral. Crie novos arquivos js para qualquer funcionalidade que possa ser usada com bons resultados em seus outros arquivos js (dentro do motivo) e evite variáveis globais, se possível. Eu recomendo que você aprenda jQuery se ainda não o fez. É uma ferramenta que aprendi a amar e agora não ficaria sem. É uma extensão extremamente flexível de javascript, que permite simplificar tremendamente o seu código, o que é bom para simplificar e também é capaz de codificar com rapidez e eficiência. O jQuery vem com uma grande biblioteca de plug-ins que permite fazer muitas coisas que não seriam mais impressionantes se você o fizesse em flash. Confira a interface do usuário do jQuerypara um sistema de temas completo para o seu site, permitindo modificar efetivamente todo o layout do site sem fazer muito. Inclui muitos efeitos de animação e controles úteis comumente usados em sites (seletor de datas, botão, barra de progresso etc.), a maioria dos quais pode ser ativada usando uma única linha de javascript.
Espero que ajude!
fonte
Muito do que você faz em JavaScript está essencialmente interligado com DOM, CSS e compatibilidade com navegador, portanto, entender o DOM é um dos principais requisitos para dominar o JavaScript.
Aprender os principais recursos da linguagem, como orientação a objetos com base em protótipo, funções anônimas e recursos mais gerais da linguagem, como loops, condições etc., é a chave para entender qualquer código lido que não esteja interagindo especificamente com DOM / CSS .
Você também precisará aprender a biblioteca padrão da linguagem, por exemplo, String e Math e outras funções principais do objeto.
Você também deve estudar algoritmos, se desejar obter uma compreensão verdadeira e completa de como as coisas estão sendo feitas e como implementar soluções mais avançadas, esse conhecimento é fundamental para entender a programação avançada e vai além da sintaxe específica da linguagem.
fonte
Leia o código das bibliotecas que você está usando. A leitura da fonte jQuery ou Prototype ensina a você o que realmente acontece no javascript e no dom. Técnicas de pesquisa que as bibliotecas usam para que você possa entendê-las. Sinta-se à vontade para começar lendo as micro-estruturas em http://microjs.com/ . Verifique a fonte real, e não apenas os arquivos distribuídos. (O jQuery possui cerca de uma dúzia de arquivos de origem, mas eles são montados por um processo de construção.)
fonte
Javascript é aplicado em muitas áreas de desenvolvimento no momento.
Portanto, acredito que existem mais talentos de javascript. Depende do que você deseja começar, mas tenha certeza de que cada um desses 4 itens mencionados acima oferecerá um desafio diferente - ok, talvez os campos da janela 8 e do fonegap possam ser semelhantes, mas o restante é diferente -.
Se estivermos falando sobre o ambiente do navegador, aprender como quase todos os aplicativos da Web devem ser organizados pode ser um dos caminhos que você pode seguir. Estou seguindo esse caminho e experimentando minhas próprias idéias, verificando repositórios git de bibliotecas populares de organização de código como dojo, backbone, brasa etc.
Se estamos falando do ambiente do nó js, essa é uma história diferente. Não estamos preocupados com minificação e tamanho do arquivo. Criando aplicativos inteiros no nó, construindo sistemas, sites, API REST, há muitas coisas para descobrir lá.
Se estamos falando do mundo móvel, a otimização excessiva vem à mente. As propriedades, animações, eventos de toque acelerados do CSS3 e tentar usar a mesma arquitetura da Web com componentes de interface do usuário mais especializados são ótimas coisas para começar.
No geral, como outros responderam, experimentar seu próprio código e o código de outros é a melhor maneira de se envolver, acompanhar o que há de novo e, quem sabe, talvez apresentar o próximo grande sucesso.
Outra coisa que ajuda é trabalhar em equipe e entender as diferenças entre o seu modo e o modo de escrever código da equipe. Trabalhar em uma equipe de desenvolvedores de javascript forçará você a escrever um código melhor e a documentá-lo bem. Acho que não há maneira melhor de aprender sobre a arquitetura de um aplicativo do que escrever um wiki sobre o que você pretende implementar ou já implementou.
fonte
Eu odiava JavaScript até descobrir o jQuery. Agora eu amo e uso o tempo todo. Provavelmente demais.
fonte