Desenvolvimento Web Moderno
O mercado egípcio de desenvolvimento de software sofre com a escassez de talentos especializados em comparação com o mercado internacional. Neste curso, cobriremos as mais recentes práticas de desenvolvimento de software estável, arquitetura de projetos, padrões de design e tecnologia na área de desenvolvimento web.
Este curso é voltado para quem pretende seguir carreira em desenvolvimento de software, ou deseja criar um MVP de baixo custo para uma startup. Após este curso, você deverá estar familiarizado com o estado da arte atual, capaz de tomar decisões informadas sobre sua pilha de desenvolvimento.
A estrutura deste curso é amplamente motivada pela noção de que desenvolvedores novatos começam adotando frameworks e usando bibliotecas sem pensar criticamente se esta ferramenta é adequada para o trabalho.
Fluxo do curso
- Este curso será composto por 13 sessões
- Cada sessão terá 2 partes, exercício e discussão
- Durante o exercício você estará resolvendo a tarefa do curso
- Durante a discussão discutiremos a próxima tarefa
- Todos os conceitos discutidos estão documentados nas tarefas
- Estarei explicando conceitos que não são claros
- Após cada sessão atualizarei o material do curso com base em nosso progresso.
- As tarefas custam 10% cada porque tenho que avaliar você em alguma coisa.
- As notas são concedidas após a conclusão (considerada completa por mim).
- As tarefas são avaliadas durante as sessões.
- As notas podem ser parciais dependendo do nível de conclusão.
- As 10 melhores tarefas são consideradas
- De preferência, leia ou comece a resolver a tarefa antes da sessão.
- Se você for incapaz de concluir a tarefa, poderá receber permissão para concluí-la antes do próximo período de exercício.
- A primeira sessão é apenas para discussão.
- A última sessão é apenas uma sessão de atribuição.
- Todos deveríamos comer pizza no final do curso.
Você vai precisar
- Um laptop com um shell bash (sistema operacional baseado em Unix ou Windows 10 com terminal Ubuntu)
- Um navegador moderno, por exemplo, o Google Chrome mais recente
- Internet
- NodeJS
- Git
- Editor de texto como Atom
Sessões do curso
Neste curso apresentaremos
1. Histórico de aplicativos da Web
Nesta sessão falaremos sobre o cenário existente de coisas que um desenvolvedor pode aprender e o que abordaremos durante este curso.
- Estabelecendo expectativas para o curso.
- Os problemas que iremos resolver.
- Histórico de aplicativos da Web.
- Configurando um projeto ES6 com babel e node
- Webpack
Tarefa para a próxima vez
- Crie um webapp simples sem bibliotecas
- Os problemas básicos que enfrentamos
- Divida o código em arquivos separados
- OOCSS e BEM
2. Vida de um aplicativo moderno: visualização de renderização de dados
Nesta sessão, começaremos com uma recapitulação dos recursos básicos de Javascript e passaremos pelos conceitos de programação funcional.
- Caixa flexível
- strings de modelo de recurso es6
- componentes renderizando dados para html
Tarefa para a próxima vez
- Código de renderização completo para HTML
3. Vida de um aplicativo moderno: ações atualizam dados
- Eventos DOM
- Escopo do nosso código
- Programação baseada em eventos com o padrão Observer
Tarefa para a próxima vez
- Arquitetura de fluxo (ação de redução de dados)
4. Vida de uma aplicação moderna: testes
- Renderização HTML de teste de unidade
- Funções Puras
- Loja Estadual
- Simulações e stubs
- Injeção de Dependência
Tarefa para a próxima vez
- Testando nossas funções de renderização
- Testando nossos despachantes de ação
- Testando nossas ações mudando a loja
5. Vida de um aplicativo moderno: visualizações acionam eventos
- NodeJS: módulos
- ferramentas de construção: gole
- renderizando um dom virtual
- executando nossa tarefa de teste
- navegadorificar
Tarefa para a próxima vez
- Desenvolva um novo tipo de item de tarefa chamado contador
- itens de tarefas agora podem ser editados
6. Vida de um aplicativo moderno: código assíncrono
- O loop de eventos Javascript
- Promessas com busca
- Criando um servidor REST simples com express
- Soquetes
- Assíncrono
- Programação Reativa
7. Integração e implantação contínuas
- Front-end com páginas Git * Resistindo ao Git * Implantando seu código no github com um CI * SSH com Nginx e vamos criptografar
- Backend com Capistrano (node Flight) * Implantando em um servidor com ssh * Automatizando com o CI nossa aceitação de git pull request * Utilizando Flightplan para implantação
8. Tudo que você precisa para um MVP
- Base de Fogo * *
- Testando com Firebase * *
8. Arquitetura para aplicativos massivos: problemas
- Reaja * *
- Webapps progressivos * *
9. Arquitetura para aplicativos massivos: Frameworks
- Reaja * *
- GráficoQL * *
10. Reaja ao script nativo
- Configurar * *
- Notificação push *
11. Extra por tempo perdido
- Elétron * *
12. Extra por tempo perdido
Notas
- Use a folha de perguntas frequentes
#Curso