Qual é o caminho para o domínio do JavaScript? [fechadas]

18

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/

Eric Wilson
fonte
A "camada de interação?"
Robert Harvey
1
Deve ser uma nova tag na minha opinião: P
Mike
1
Outra pergunta em que a resposta é praticar como qualquer outro campo que você deseja dominar. Pratique, aprenda com seus colegas (os que têm mais habilidades) e eu mencionei a prática. O processo para dominar a linguagem de programação x é o mesmo que para a linguagem de programação y, que é o mesmo que dominar a escultura ou o crochê ou qualquer outro comércio.
Chris
1
@johnny: Quando você pode arrebatar a exceção do rastreamento de pilha ...
TMN
1
@ Chris - se você seguir o link que incluí, verá que essa pergunta pode ser útil para responder. Dizer "a resposta é prática" não é útil. Aponte para alguns pontos de referência ao longo de um caminho útil, não me diga apenas para começar a andar.
Eric Wilson

Respostas:

15

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.

Muad'Dib
fonte
7
Eu gostaria que isso respondesse automaticamente quando alguém perguntar "como aprender / dominar X". Soa muito como você domina uma prova matemática ou refina um romance. Veja os outros trabalhos de X, pratique X você mesmo, enxágue, repita -> Domine X.
Chris
@ Chris, Yup. Esta é praticamente a minha resposta padrão.
Muad'Dib
Embora eu possa dizer que as perguntas sobre onde obter boas referências / livros / materiais são perguntas de que gosto. Recentemente, assumimos o python e a pergunta que tínhamos programmers.stackexchange.com/questions/12189/… achei estelar para me tirar do chão e correr.
Chris
@ Chris sim, esta resposta é mais um conselho geral e carece de etapas específicas que podem ser, na minha opinião, muito objetivas. Eu também gosto de ver links. Mas é para isso que serve o Google, certo?
Muad'Dib
Certo, mas o Google não pode fornecer nenhuma reação / impressão do material. O Google faz o bem, mas não faz tudo. Concordou independentemente. t
Chris
3

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.

rjzii
fonte
2

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.

david4dev
fonte
1

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!

Neil
fonte
1

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.

ocodo
fonte
1

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.)

Sean McMillan
fonte
0

Javascript é aplicado em muitas áreas de desenvolvimento no momento.

  • É o único idioma presente no navegador moderno.
  • Pode ser executado no servidor, graças ao node.js e ao mecanismo V8.
  • Ele pode ser incorporado em dispositivos móveis via PhoneGap ou outras alternativas.
  • Ele pode ser usado para criar aplicativos do Windows 8.

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.

Vlad Nicula
fonte
-1

Eu odiava JavaScript até descobrir o jQuery. Agora eu amo e uso o tempo todo. Provavelmente demais.

melhor atendimento
fonte
Você odiava o DOM e a conformidade entre navegadores, não o EcmaScript.
Raynos
O jQuery torna o Javascript divertido! +1
Dinâmico