Desde o começo de 2018, comecei a trabalhar na versão 3.0 do meu site. Além de falar deste novo projeto, vim falar também sobre o porquê ter abandonado o meu site anterior, e o meu blog sobre a sua criação.

Em 2016, dava meus primeiro passos em Front-End, e comecei a criar a segunda versão do meu site. Era uma aplicação Single Page (SPA, de Single Page Application), feita em AngularJs 1.X. Me fascinei pela possibilidade de programar tudo apenas usando JavaScript em todo o projeto, desde nas partes menores, como animações e transições, até mesmo nas partes essenciais, como em roteamento e requisições.

Durante a criação, criei uma conta na Medium, onde comecei a contar o passo a passo de todo o processo de criação. Como hostear a página, como controlar o código-fonte usando GIT, prototipando o projeto, etc…

O projeto começou a tomar forma, e consegui criar as 4 páginas básicas do projeto (portfólio, blog, sobre e a galeria). A partir deste ponto, comecei a perder o ânimo, tanto com o desenvolvimento do site quanto em escrever o diário da criação.

Com o site, porque percebi, tarde demais, que SPA não funciona muito bem em compartilhar conteúdo. Para ter uma idéia, pense que quando você digita o endereço da página num browser, aperta Enter e espera a página baixar todo o conteúdo do site, ela apareça em branco. Apenas quando todo o código JavaScript é baixado pelo browser, a aplicação começa a gerar a página, e só depois disto, a visualização fica pronta.

Todo este processo é muito rápido, e a visualização funciona muito bem (esta é uma vantagem de uma SPA, pois quando você muda de página, você não precisa mais baixar o conteúdo). Mas não funciona muito bem caso algum outro sistema precise ler o conteúdo da página.

Por exemplo: compartilhamento de links em redes sociais, como Facebook, Twitter e Linkedin. Estes sites conseguem ler um link que você copiu numa postagem e o renderizam em cards atrativos, com imagens e títulos formatados. Em aplicações SPA, isto não acontece, pois a rede social não espera o JavaScript gerar a página para gerar este conteúdo renderizado.

Isto porque, além do conteúdo visual não estar pronto, o metadado da página também não está (dados relacionados ao conteúdo da página, como ID ou título; geralmente ficam dentro da tag HEAD do código HTML). A menos que o metadado seja fixo em TODAS as páginas do site, ele também é gerado dinamicamente em cada página, e não é informado diretamente do servidor.

Além disto tudo, eu também estava tendo problemas com buscadores como o Google, pois eles também precisam ler o conteúdo das páginas.

Eu acredito que deva ser possível burlar estes problemas, mas depois de todo o trabalho que tive, e vendo o que precisaria fazer, tinha percebido que SPA não serviria para mim.

A partir deste ponto, comecei a desanimar em escrever o blog também. Como eu disse na primeira parte desta história, eu ainda estava começando na área de Front-end. Conforme estava aprendendo sobre como trabalhar na área, chegou um momento que precisava ter mais tempo para aprender do que para ensinar.

E, além disto tudo, queria abandonar AngularJs 1.X, que tinha sido feito em 2010; aprendi na área de Tecnologia uma lição difícil: se você não se atualiza, você ficará para trás.

De 2016 para cá, mudei de emprego, criei outros sites, aprendi muita coisa. Entre elas, conheci o VueJs, que adorei imediatamente.

Graças à tudo isto, resolvi começar meu site do zero. Agora seguindo a lição de casa, usando os padrões corretos, não mais apenas uma SPA, mas agora uma aplicação devidamente fornecida por um servidor.

Não sei se quero fazer como o meu antigo site e escrever passo-a-passo da sua criação. Ainda não me considero um bom profissional. Tive vários problemas durante a sua criação. Quem nunca fez um site, ou nunca fez um projeto em Vue, ou criou um servidor para fornecer o site, talvez esteja batendo a cabeça em alguma coisa que eu já tenha resolvido.

E talvez você, que nunca tenha visto Vue, ou queira/precise conhecer, tanto como programação JavaScript em servidores, eu posso tentar te convencer a usar estas tecnologias, ou te mostrar a realidade, para que você desista de vez de tentar usá-las, com os devidos argumentos.

Não prometo que vou escrever; no momento que eu achar que ficar escrevendo o processo deixou de ser interessante, ou que vai ser algo que não vou ganhar em nada, vou abandonar a idéia. Também sou 3.0, e nesta versão, não posso mais perder tempo na vida.

Bem vindo ao meu novo site: http://amosbatista.com/