Ementa do curso Desenvolvimento web com Brook framework 3.0

6
Ementa do curso Desenvolvimento web com Brook framework 3.0 1. Apresentação Baixando o pacote de instalação; Instalação com dois cliques; Sugerindo ideias, solicitando novos recursos e reportando bugs; Forkando o projeto; Abrindo um pull request; Fazendo uma doação ao projeto. 2. Primeiros passos Entendendo o funcionamento de uma aplicação Brook; Criando o primeiro Hello world; Escrevendo na tela de diversas maneiras com o método Write; Renderizando arquivos na tela. Exercício 1: Mostrar uma mensagem de erro usando recursos da própria action; Exercício 2: Renderizar um arquivo na tela, porém, trocando algumas informações do conteúdo dele em tempo de execução. 3. Tipos de aplicação, Depuração Criando um servidor HTTP próprio com Embedded Server; Criando um servidor HTTP próprio e o instalando como serviço com Embedded Daemon Server; Criando uma aplicação CGI; Depurando aplicações; Ativando a opção Build mode na aplicação; Personalizando erros 404 e 500. Desafio: Criar uma aplicação do tipo CGI e Embedded Server, com três opções de build: Release, Debug e Trace, podendo escolher um dos três modos via diretiva de compilação, sendo que, no modo Release, a aplicação será do tipo CGI, e, nos modos Debug e Trace, a aplicação será do tipo Embedded Server. 4. HTML, Zen Coding, JTemplate, Bootstrap, Métodos HTTP e XMailer Escrevendo HTML via back-end; Zen Coding na prática (com Notepad++ ou Sublimetext); Dando vida ao HTML com o plugin JTemplate; Embelezando telas HTML com o Bootstrap; Entendendo métodos GET e POST; Montando um pequeno exemplo (Calculadora de soma);

Transcript of Ementa do curso Desenvolvimento web com Brook framework 3.0

Page 1: Ementa do curso Desenvolvimento web com Brook framework 3.0

Ementa do curso Desenvolvimento web com Brook framework 3.0

1. Apresentação

Baixando o pacote de instalação; Instalação com dois cliques; Sugerindo ideias, solicitando novos recursos e reportando bugs; Forkando o projeto; Abrindo um pull request; Fazendo uma doação ao projeto.

2. Primeiros passos

Entendendo o funcionamento de uma aplicação Brook; Criando o primeiro Hello world; Escrevendo na tela de diversas maneiras com o método Write; Renderizando arquivos na tela.

Exercício 1: Mostrar uma mensagem de erro usando recursos da própria action; Exercício 2: Renderizar um arquivo na tela, porém, trocando algumas informações do conteúdo dele em tempo de execução.

3. Tipos de aplicação, Depuração

Criando um servidor HTTP próprio com Embedded Server; Criando um servidor HTTP próprio e o instalando como serviço com

Embedded Daemon Server; Criando uma aplicação CGI; Depurando aplicações; Ativando a opção Build mode na aplicação; Personalizando erros 404 e 500.

Desafio: Criar uma aplicação do tipo CGI e Embedded Server, com três opções de build: Release, Debug e Trace, podendo escolher um dos três modos via diretiva de compilação, sendo que, no modo Release, a aplicação será do tipo CGI, e, nos modos Debug e Trace, a aplicação será do tipo Embedded Server.

4. HTML, Zen Coding, JTemplate, Bootstrap, Métodos HTTP e XMailer

Escrevendo HTML via back-end; Zen Coding na prática (com Notepad++ ou Sublimetext); Dando vida ao HTML com o plugin JTemplate; Embelezando telas HTML com o Bootstrap; Entendendo métodos GET e POST; Montando um pequeno exemplo (Calculadora de soma);

Page 2: Ementa do curso Desenvolvimento web com Brook framework 3.0

Usando sua conta Gmail para enviar e-mails com XMailer. Exercício: Usando Zen Coding e Bootstrap, adicionar os botões de 0 a 9 na calculadora e as operações aritméticas básicas; Desafio: Alinhar os botões da calculadora com Bootstrap e/ou CSS, deixando-a com uma aparência de uma calculadora real.

5. Generics, Entity, Formulários e Dados primitivos

Uma breve abordagem sobre Generics; Entendendo actions com suporte a Entity; Criando um formulário com diversos tipos de campos; Convertendo lista de strings em objeto e vice-versa; Clonando objetos; Usando propriedades com dados primitivos ao invés de conversões; Usando Sets e Enums em formulários.

Exercício: Montando uma pequena calculadora com todas as opções aritméticas (“+”, “-”, “*” e “/”).

6. Traduções, Redirecionamentos e Tipos de formulários

Traduzindo as mensagens de erro da Brook; Trabalhando com mais de um formulário; Entendendo redirecionamento e URLs canônicas; Criando links de redirecionamento com UrlFor; Criando formulários popup; Entendendo formulários do tipo form-data (pequeno exemplo com

upload de arquivo). Exercício 1: Criar um formulário onde o usuário digita o Nome e, ao clicar em Salvar, é redirecionado para outro formulário, com o campo Sobrenome, que, ao clicar em Salvar novamente, é redirecionado para uma tela que exibe a seguinte mensagem: Seu nome completo é: <NOME SOBRENOME>; Exercício 2: Criar três exemplos diferentes com UrlFor; Exercício 3: Criar um formulário que seja possível fazer o upload de três arquivos, recebendo cada um deles no back-end.

7. Banco de dados I: SQLdb, dOpf, CRUD

Persistindo dados de um formulário com SQLdb; Conhecendo o projeto dOpf; Reaproveitando entity numa action e num OPF; Paginando dados com dOpf; CRUD básico com dOpf.

Desafio: Criar um grid com uma table do HTML, listando 100 registros, no entanto, mostrando-os de 10 em 10, via paginação.

8. Menus, JTemplate, FontAwesome e dOpf

Page 3: Ementa do curso Desenvolvimento web com Brook framework 3.0

Criando um menu de topo e lateral; Usando um indicador de navegação com JTemplate; Embelezando menus com ícones do projeto FontAwesome.

Desafio: Gerenciar a exibição de cinco menus com JTemplate e dOpf.

9. Cookies e sessions

Persistindo dados em cookies; Persistindo dados em sessions; Criando uma tela com contagem de visitas.

Exercício: Criando uma tela de login.

10. Métodos HTTP, REST

Conhecendo os métodos PUT e DELETE; Usando a extensão Advanced REST Client do Google Chome; Parâmetros em URLs; Criando variáveis dinâmicas em URLs;

Exercício 1: Criar uma pequena aplicação CRUD em REST; Exercício 2: Criar uma tabela para cadastrar cinco clientes, depois, exibi-los em um grid, com a opção de mostrar os detalhes do cliente ao clicar em seu nome ou código.

11. Grids

Criando um grid com Bootstrap; Criando um grid com jTable; Criando um grid com Kendo UI; Criando um grid com ParamQuery; Exemplo completo com grid e telas de edição de dados.

Desafio: Com o conhecimento adquirido sobre os grids apresentados acima, criar um exemplo com o grid do projeto jEasyUI.

12. Banco de dados II: dOpf, jTable, Master/Detail, Lookup e Bootstrap

Estruturas master/detail com dOpf e jTable; Estruturas lookup com dOpf e jTable; Criando uma estrutura master/detail com REST, dOpf e Bootstrap; Criando uma tela para busca e listagem de dados; Validando dados nos entities (back-end).

Exercício: Criar um exemplo com master/detail e lookup em um único projeto.

13. Componentes especiais

Buscando um cliente pelo nome e mostrando sua foto na tela; Criando um slide show de propagandas com o auxílio do JTemplate; Escolhendo um componente para Hora, Data e linha de tempo;

Page 4: Ementa do curso Desenvolvimento web com Brook framework 3.0

Mostrando imagens em thumbnail; Preenchendo um combobox via JTemplate; Criando um campo Autocomplete.

Exercício: Criar um pequeno exemplo de anúncios online.

14. Ajax I

Conhecendo o jQuery; Fazendo requisições com jQuery em estrutura REST (CORS); Atualizando uma área da tela sem redirecionar a página; Preenchendo dados num combobox via Ajax; Preenchendo dados numa lista via Ajax.

Exercício: Criar um pequeno exemplo de como preencher um combobox após escolher um item em outro.

15. RSS, Relatórios e Documentação de Projetos

Enviando notícias via RSS com o EasyRSS; Criando relatórios em PDF.

Desafio: Criar uma pequena aplicação RSS com uma opção para salvar os feeds em PDF.

16. Ajax II

Validando dados com jQuery (fron-end); Formatando campos com máscaras; Usando Ajax em conjunto com JTemplate; Mostrando um ícone indicando que uma determinada página está sendo

carregada; Criando um formulário modal; Criando e preenchendo tabs (pagecontrol) via Ajax; Exibindo tooltips (hints) em controles HTML; Exibindo alerts Bootstrap via Ajax; Conhecendo o menu do tipo accordion.

Desafio: Criar uma pequena aplicação com um menu lateral esquerdo que, ao clicar em seus itens (Home, Downloads e About), mostrar suas respectivas páginas.

17. Middleware, Constraints, Auditoria de Actions, Captcha

Controlando o acesso a URLs via middleware e constraints; Bloqueando o acesso a um site via login; Protegendo suas páginas com Captcha.

Desafio: Criar uma pequena aplicação para inscrição de usuários, com a página de inscrição protegida via Captcha, evitando ataques de bots.

Page 5: Ementa do curso Desenvolvimento web com Brook framework 3.0

18. APIs, REST, JSON, OAuth e Aplicações Desktop

Criando uma API para fornecer dados via JSON para um grid LCL; Persistindo dados em uma API via formulário LCL; Enviando arquivos para uma API via formulário LCL; Listando dados JSON em stringgrids com LJGridUtils; Evitando o envio de usuário/senha com OAuth PLAIN_TEXT.

Desafio: Criar uma pequena aplicação CRUD para manipular dados de uma API via formulário LCL.

19. Configurações

Configurando objetos via arquivo de configuração; Configurando uma aplicação via BrookSettings; Criando executáveis menores, linkando só o necessário neles; Organizando units e scripts em seus projetos; Configurando o dOpf para conectar em diversos tipos de bancos de

dados; Configurando o dOpf para gerar logs.

Exercício: Criar uma pequena aplicação onde seja possível configurar a conexão com o banco de dados via arquivo de configuração.

20. Parse, Interpretação de Scripts

Processando expressões algébricas; Executando Pascal dinamicamente com o PascalScript; Baixando e interpretando conteúdos de sites de terceiros.

Exercício: Criar um pequeno exemplo que consuma o serviço de algum site público de terceiro.

21. Multimídia

Renderizando um vídeo na tela; Configurando sua aplicação para oferecer o download ao invés de

renderizar um arquivo; Fazendo sua aplicação “tagarelar”.

Exercício: Usar algum plugin jQuery para tocar músicas em MP3.

22. Test-case, Documentação

Criando testes de regressão (test-case); Documentando suas aplicações.

Exercício: Escolher uma de suas aplicações, criar alguns testes de regressão nela e gerar uma documentação.

23. Conceitos básicos sobre publicação de aplicação web

Page 6: Ementa do curso Desenvolvimento web com Brook framework 3.0

Hospedando sua aplicação numa instância Amazon (Introdução); Hospedando sua aplicação na HostMonster (Introdução); Checando as limitações do host de hospedagem antes de contratá-lo.

Exercício: Criar um Hello World onde seja possível outras pessoas acessá-lo remotamente por IP ou domínio.

24. Diversos

Distribuindo um servidor embutido via setup de instalação (instalando um serviço);

Configurando o Lazarus para melhorar sua produtividade; Criando a aplicação “papo furado” (chat);

Dúvidas, agradecimentos e “o que vem por aí na Brook 3.1”.