visão global
A leitura do livro é agradável e o autor ( Trevor Burnham ) sabe sobre o que está escrevendo. O tema é bastante específico, mas é um conhecimento essencial para o público-alvo (JavaScripters intermediários) que deseja aprimorar seus conhecimentos e compreensão da linguagem. São 183 páginas (no iBooks) e o tópico é muito bem coberto. Depois de ler o livro, o leitor deve ter um entendimento decente de JavaScript assíncrono, padrões comuns relacionados e como resolver problemas comuns ao lidar com o assunto.
Gostei especialmente das seções “Controle de fluxo com Async.js” e “Carregamento de script assíncrono”.
No entanto, o livro não é perfeito. Definitivamente vale a pena o investimento (apenas US $ 11 para o e-book), mas tenho algumas notas críticas. Eles são abordados a seguir.
O primeiro capítulo
O primeiro capítulo usa o conceito de eventos para explicar a assincronicidade em JavaScript. Ele está usando a setTimeout
função para fazer isso. O que é bom, mas o primeiro exemplo é um pouco complicado se você me perguntar, uma vez que está lidando com mais conceitos do que precisa para explicar nos primeiros parágrafos (por exemplo, escopo, tópicos).
Embora a categorização de funções assíncronas (E / S e tempo) seja muito útil, fiquei surpreso que os eventos do usuário (E / S) foram mencionados apenas brevemente aqui.
No final de cada capítulo, há uma seção “O que aprendemos”. Para o primeiro capítulo, isso está mencionando:
vimos como o single-threadedness do JavaScript é tanto uma bênção quanto uma maldição
Embora isso seja verdade, os outros 90% da seção são sobre “o resto deste livro”. Acho que uma lista com marcadores de tópicos cobertos seria mais apropriada, especialmente no primeiro capítulo. Também em outros capítulos, esta seção tem mais conteúdo cobrindo o que o autor deseja que o leitor saiba sobre o tópico, não apenas uma lista do que foi realmente abordado no capítulo.
No geral, o primeiro capítulo parece um pouco desorganizado.
jQuery
Para os tópicos de eventos distribuídos (PubSub), eventos personalizados e promessas, o autor está usando jQuery extensivamente. Embora não haja nada de errado em usar uma biblioteca para explicar e demonstrar conceitos, há o risco de os leitores recorrerem a essa biblioteca apenas por um recurso (por exemplo, PubSub ou Promises).
PubSub
O jQuery é tão mencionado no capítulo “eventos distribuídos” que o leitor provavelmente não percebe que o PubSub do jQuery é baseado em DOM (afaic) e, da mesma forma, o capítulo trata apenas de eventos de UI (exceto um pouco sobre o Modelo de Backbone eventos). O próprio padrão publicar / assinar não está recebendo toda a atenção que merece.
Adiado
Enquanto jQuery Deferreds tem problemas próprios – que não são mencionados – o capítulo sobre Promises também observa que jQuery pode ser usado no Node. Há muitos conselhos questionáveis aqui. Este capítulo foi escrito totalmente de uma perspectiva jQuery, como em “O que aprendemos” neste capítulo:
Na minha opinião, Promises é um dos recursos mais interessantes a serem adicionados ao jQuery nos últimos anos.
Embora eu realmente concorde com a declaração, acho que o que importa é que o conceito de Promises foi introduzido em JavaScript (não por jQuery, btw).
Em resumo, o livro é sobre JavaScript assíncrono , mas esses tópicos são escritos como “vamos recorrer ao jQuery para tudo”.
Palavras finais
Embora tenha escrito alguns comentários negativos aqui, ainda assim recomendo o livro com satisfação. É uma ótima leitura para JavaScripters intermediários com o objetivo de aprimorar seus conhecimentos nesta área da linguagem.