Primeiro de tudo, o desempenho. Quando usado, parece que o desempenho do Node.js não é tão bom quanto o esperado. O uso da memória é aproximadamente o mesmo nível que o Ruby, e é mais do que Python e PHP. Em termos de desempenho da computação (ou seja, uso da CPU), a computação pura não tem muita vantagem, mas como pode controlar bem o processo assíncrono, o desempenho geral é muito melhor que o PHP. Pessoalmente, acho que o Node.js tem um grande potencial em desempenho, porque existem muitos projetos grandes comprometidos em melhorar o desempenho das máquinas virtuais JavaScript - como os principais navegadores; Ao mesmo tempo, o JavaScript é um idioma com sintaxe simples e um padrão aberto. Ao contrário do Python e PHP, é difícil realizar reconstruções em larga escala para melhorar o desempenho devido a considerações de compatibilidade.
Depois, há o gerenciador de pacotes e a biblioteca. O Node.js possui NPM embutido, porque o NPM é um gerenciador de pacotes muito fácil de usar, porque o JavaScript possui baixo limite de escrita, e o JavaScript possui muitas excelentes bibliotecas de front-end que foram portadas para o back-end, então agora há mais pacotes sobre NPM do que PYP e rubigemas, e depois a Pear e o excelente pere. A diferença do PHP no desenvolvimento do Node.js é que todos não têm medo de adicionar dependências. Cada pequeno requisito vai para o NPM para encontrar as bibliotecas existentes para implementar - e muitas vezes podem ser encontradas. Portanto, o desenvolvimento do Node.js é basicamente sobre combinar dependências e, em seguida, tende a escrever uma biblioteca, mesmo que seja pequena, o que é mais semelhante à idéia da Unix. Por outro lado, a comunidade Node.js é muito amigável. A simpatia aqui significa que a maioria das bibliotecas é desenvolvida abertamente no GitHub e usa protocolos muito frouxos, como o MIT, que não é tão "agressivo" quanto a GPL.
Na comunidade, a maioria das aplicações do Node.js ainda está no back -end da web, e as bibliotecas relacionadas ao back -end da Web são basicamente feitas por algumas grandes fotos. Por exemplo, Express, JSHTTP, Jade, Mocha e Koa foram desenvolvidos por quatro ou cinco pessoas lideradas por TJ Masters, que é um fenômeno interessante. - Embora TJ Deus finalmente tenha decidido desaparecer da comunidade Node.js.
Toolchain, Node.js é relativamente jovem e muitas ferramentas úteis acabaram de aparecer nos últimos dois anos, como dialetos pré -compilados, testes de unidade e testes de simulação, ferramentas de construção, etc.; Não ouso dizer como é bom, mas é muito melhor que o PHP. Quanto ao motivo, em primeiro lugar, é principalmente porque essas bibliotecas são front-end e back-end, devido às duras demandas do front-end da Web, que beneficiam o Node.js a propósito; Então, devido à sintaxe flexível e simples do JavaScript, essas ferramentas podem ser implementadas de maneiras muito inteligentes e elegantes. Quanto ao IDE, ele ainda se beneficia do front -end da Web e ainda existem alguns IDEs disponíveis - embora a linguagem JavaScript em si não seja muito propícia à análise estática.
Sintaxe, gostaria de enfatizar a sintaxe simples e flexível do JavaScript. O ponto importante é que o JSON, JSON é quase o formato de dados mais comum no campo da web no momento, e o JavaScript possui suporte nativo ao JSON! Todas as estruturas de dados no JavaScript são expandidas em torno de um superconjunto de JSON, objeto, incluindo matrizes, funções, objetos e classes. Obviamente, isso também traz problemas, porque existem poucas restrições à escrita, o que leva a não saber como escrever. Quando você começar a aprender, inevitavelmente o refatorá para entender as vantagens e desvantagens de vários padrões de design em diferentes situações e encontrar uma maneira de escrevê -las que se adapte a você e seja adequada para projetos específicos. Portanto, pode-se dizer que o Node.js é fácil de começar, mas a construção de projetos em larga escala ainda é um teste das habilidades dos desenvolvedores. Devido a questões históricas, a sintaxe do JavaScript não é bonita, mas felizmente temos vários dialetos pré-compilados, como script de café, design de texto, dardo, LiveScript e clojurescript. Sempre há um que combina com você.
Usar cenários, o JavaScript é uma linguagem de programação geral; portanto, não há necessidade de mencionar as extremidades dianteiras e traseiras da web, vamos dar uma olhada em outros aspectos. Pessoalmente, acho que o Node.js ainda é muito adequado para escrever ferramentas de servidor ou ferramentas de operação e manutenção, porque muitas situações em operação e manutenção podem funcionar de forma assíncrona, e o JavaScript tem um suporte regular relativamente bom, portanto, não é um grande problema substituir Bash e Python; O Node.js só precisa instalar o intérprete e pode ser usado casualmente, sem medo de evitar a introdução de dependências. Para programação de desktop e dispositivos móveis, o Node.js possui node-webkit e várias outras conchas. Embora a experiência de uso atual não seja muito boa, ela pode reduzir significativamente os custos de desenvolvimento e facilmente plataformas cruzadas. Acredita -se que o futuro também seja brilhante.
Finalmente, vamos falar sobre aprender node.js. Na minha opinião, o aprendizado do Node.js tem dois pontos. Uma é esclarecer o "IO assíncrono com base em retornos de chamada de eventos" do Node.JS. Este é o ponto mais diferente entre o Node.js e outras linguagens de programação convencionais. Em seguida, o segundo passo é dar uma olhada nas 100 principais bibliotecas no NPM. Não há necessidade de olhar de perto. Apenas familiarize -se com isso e saiba o que cada biblioteca faz. Depois de concluir essas duas etapas, parabéns, você já é um desenvolvedor Node.js.