/collabcode-roadmap-frontend

Um guia de estudos com materiais a serem estudados no grupo CookingScript.

Apache License 2.0Apache-2.0

Cooking Script

Segue um guia de estudos com tópicos a serem estudados para nivelamento e apresentação externa no grupo CookingScript.

  1. A História da Internet;
    • Evolução da Internet;
    • Timeline dos principais acontecimentos importantes da internet;
    • Entendendo o problema de compatibilidade entre navegadores;
    • Sugimento da W3C;
  2. A saga do HTML;
    • Conceitos básicos sobre tags;
    • Conceitos básicos sobre atributos;
    • Id e Classes;
    • Cabeçalho de um HTML;
    • Atributos personalizados com o Data;
    • Hieararquia de Títulos e sua importância para o SEO;
    • Criação e utilização de Divs para Organização e Posicionamento dos Elementos;
    • Principais acontecimentos e a evolução até a chegada do HTML5;
    • Novidades do HTML5;
    • Novos elementos do HTML5 e suas funções semânticas;
  3. Revisão sobre o funcionamento do protocolo HTTP;
    • Como a internet funciona?
    • Modelo Cliente e Servidor;
    • HTTPS - A segurança da informação;
  4. Padrões de Projeto Web;
    • O que são?
    • Quando e onde usar?
    • O padrão MVC para web;
    • Como e onde usar?
    • Definição dos cenários: Front-End e Back-End;
    • Integrações entre Front-End e Back-End;
  5. O que é uma API?
    • REST;
    • RESTFULL;
    • JSON;
  6. JavaScript Vanilla; (https://www.youtube.com/watch?v=vEROU2XtPR8&list=PLillGF-RfqbbnEGy3ROiLWk7JMCuSyQtX)
    • Tipos de Dados;
      • Number;
      • String;
      • Array;
      • Object;
    • Como declarar uma variável;
    • Tipos de parões para nomenclatura de variáveis;
      • CamelCase;
      • PartialCase;
      • Underscore;
    • Arrays;
      • Criando Arrays;
      • Tipos de Dados Variados em Arrays
      • O comando arr.lenght;
      • O comando arr.sort();
      • O comando arr.reverse();
      • Percorrendo um array com for;
      • Percorrendo um array com while;
      • Percorrendo um array com foreach;
    • Comandos condicionais;
      • if;
      • else;
      • else if;
      • switch;
    • Objetos;
      • Objetos Literais;
      • Objetos Construtores;
      • Padrões de Construtores;
    • Eventos;
    • Validação de Formulários;
  7. Preparação do ambiente de trabalho
  8. Gerenciadores de Pacotes;
    • Conhecendo o npm (NodeJS);
    • Conhecendo o bower;
  9. Versionamento de Arquivos com o GIT;
    • Visão geral e principais recursos para gerenciamento de arquivos com a ferramenta GIT;
    • Instalando o GIT;
    • Criando um repositório;
    • Clonando um repositório existente;
    • Fazendo enviando e recuperando dados de um repositório;
    • Fazendo Pull Request em um repositório;
  10. GitHub;
  11. Ferramentas Adicionais
    • GitLab - Hospede seu projeto Gratuitamente;
    • c9.io - O Google Docs dos Programadores;
  12. Conhecendo alguns Editores de Texto;
  13. O processo de desenvolvimento web;
  14. Front-End;
  15. Conhecendo o Can i Use? (https://caniuse.com/)
  16. Conhecendo Pré-Processadores de CSS:
  17. SVG;
    • Animações com SVG;
    • O que são imagens vetoriais;
    • Tipos de inserções SVG (inline, arquivos externos…)
    • Como criar um Logotipo Responsivo;
    • Como aplicar efeitos visuais em SVGS;
    • Otimizações
    • Por que é importante realizar otimizações em suas imagens?
  18. Conhecendo as Recomendações do Google para avaliar e melhorar a performance do seu site;
  19. Aprendendo a Debugar um Site com o Google Chrome DevTools
  20. Conhecendo os Schemas
  21. Conhecendo a Nova Especificação JavaScript ES6;
    • Quando usar?
    • Novas Variáveis;
    • Arrow Functions;
    • Templates Literais;
    • Promisses;
    • Classes;
    • Async/Await;
  22. Ferramentas de automação;
    • Por que utilizar?
    • O que podemos fazer?
    • Minificações;
    • Automações;
    • Watch em seu ambiente de trabalho;
    • Ferramentas:
      • Gulp
      • Grunt;
  23. Conhecendo alguns Frameworks para desenvolvimento Front-End;
    • Por que são importantes?
    • Quando utilizá-los?
    • AngularJS;
    • ReactJS;
    • Vue.js;
  24. SEO
    • O que é SEO?
    • Técnicas para obter uma boa indexação;
  25. MetaTags;
    • Meta Tag OG;
    • Meta Tags para Facebook;
    • Meta Tags para o Twitter;
    • Meta Tags para o Google Plus;
  26. Robots.txt;
  27. Google Analytics;
  28. Criando uma estrutura básica em NodeJS;
  29. O que é um banco de dados NOSQL;
    • Quais as suas vantagens e desvantagens?
  30. Utilizando o NodeJS para criar uma estrutura de servidor web com Express;
  31. Demonstração da aplicação em RealTime com NodeJS + MongoBD e WebSockets;
  32. Criando uma aplicação real time em NodeJS para consumir dados de uma API Externa; (Twitter);
  33. Conhecendo o Firebase;
    • Conhecendo uma aplicação de Chat em Realtime com Firebase;
  34. Trabalhando com JQuery;
  35. Conhecendo alguns plugins essenciais do JQuery;

Links Interessantes