Finalmente! Foram 18 meses de gestação para que o Cangaceiro JavaScript: uma aventura no sertão da programação chegasse até vocês. Neste post, compartilharei as diretrizes que me nortearam durante sua concepção.

Um livro que fosse além da sintaxe

Em mais de 500 páginas deste calhamaço fui da versão 5 do JavaScript até sua versão ES2017 (ES8). Fui além utilizando novos recursos que estão sendo especificados como Decorators com auxílio de Babel. Porém, desde a sua concepção, eu tinha em mente que ele não seria um livro focado única e exclusivamente na sintaxe da linguagem.

Padrões de projeto e os paradigmas da Orientação a objetos e o Funcional

Eu queria um projeto do início ao fim que motivasse naturalmente a aplicação de padrões de projeto e o uso dos paradigmas da Orientação a Objetos e do Funcional, mas que ao mesmo tempo fosse simples.

Durante a procura do ponto perfeito (bem que eu poderia participar do MarterChef Brasil), acabei caricaturando recursos de frameworks populares do mercado. Digo “caricaturando”, porque o livro nunca perdeu seu foco que é ensinar JavaScript transitando entre diferentes paradigmas e não a criação de um mini framework. Este acabou aparecendo como consequência da aplicação de boas práticas. Aliás, já existem muitos frameworks no mercado, não?

Preparando o leitor para frameworks populares do mercado

Pensei também nos leitores que desejam trabalhar com frameworks Single Page Application do mercado como Angular e bibliotecas para criação de componentes como React, mas que ainda não possuem os pré-requisitos necessários. O livro ajudará com boa parte dos pré-requisitos para que o leitor compreenda esses frameworks.

Vários livros em um só

Ensinar a sintaxe da linguagem, diferentes paradigmas e padrões de projeto era minha meta desde o início, mas isso ainda não era suficiente. Para que o leitor pudesse praticar ainda mais e tornar seu código ainda melhor, incluí no livro IndexedDB, Babel e Webpack. O primeiro é um banco de dados orientado a documentos especificado e presente nos navegadores do mercado. O segundo, um transcompilador que permite garantir a compatibilidade do código com navegadores mais antigos e ainda antecipar a utilização de recursos que estão para entrar na linguagem. Por fim, temos o Webpack. Falarei dedicadamente sobre ele a seguir.

Por que Webpack?

A decisão de adicionar um capítulo dedicado exclusivamente ao Webpack foi de caso pensado. Por mais vanilla que o programador JavaScript seja, cedo ou tarde ele se deparará com ele através de ferramentas como Angular CLI, React Create App, Vue CLI entre outros clientes de linha de comando. Configurar do zero Webpack em um projeto que não pertença a nenhum framework do mercado dará a confiança que muitos ainda querem atingir ao utilizá-lo.

Confesso que minha ideia inicial era lançar o capítulo de Webpack como um livro em separado. As mais de 50 páginas eram suficientes para um mini livro completo que não deixaria nada a desejar. Todavia, desisti da ideia e a razão era simples; o projeto do Cangaceiro JavaScript caia igual a uma luva para explicar conceitos desde os mais básicos até os mais complexos desta tecnologia. A ideia de lançar um livro dentro de outro foi irresistível.

Minha filha

Uma grande fonte de inspiração para conseguir chegar até o final e lançar o calhamaço Cancagaceiro JavaScript foi o nascimento da minha filha. Caso ela queira um dia seguir o caminho do pai, o caminho de um Cangaceiro JavaScript, encontrá consolidado em um único local boa parte dos conhecimentos que precisa para se tornar uma Cangaceira JavaScript.

Considerações finais

Um livro não nasce por acaso, é resultado de um acúmulo de ideias e objetivos que são traçados ao longo do tempo.

Sucesso e bom estudo para todos!