SlideShare uma empresa Scribd logo
1 de 6
Baixar para ler offline
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);
 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
 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;
 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.
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
 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”.

Mais conteúdo relacionado

Mais procurados

Cobol Web com Net Express 3.1/4.0/5.x - Parte 2
Cobol Web com Net Express 3.1/4.0/5.x - Parte 2Cobol Web com Net Express 3.1/4.0/5.x - Parte 2
Cobol Web com Net Express 3.1/4.0/5.x - Parte 2Altair Borges
 
Cobol Web com Net Express 5.1 - Parte 3
Cobol Web com Net Express 5.1 - Parte 3Cobol Web com Net Express 5.1 - Parte 3
Cobol Web com Net Express 5.1 - Parte 3Altair Borges
 
Grails parte 1 - introdução
Grails   parte 1 - introduçãoGrails   parte 1 - introdução
Grails parte 1 - introduçãoJosino Rodrigues
 
GraphQL - APIs mais robustas e flexíveis
GraphQL - APIs mais robustas e flexíveisGraphQL - APIs mais robustas e flexíveis
GraphQL - APIs mais robustas e flexíveisBruno Lemos
 
Net beans 7.4 Funções e Atalhos
Net beans 7.4 Funções e AtalhosNet beans 7.4 Funções e Atalhos
Net beans 7.4 Funções e Atalhosandreandrade17
 
GraphQL: Como começar a usar no seu projeto AGORA
GraphQL: Como começar a usar no seu projeto AGORAGraphQL: Como começar a usar no seu projeto AGORA
GraphQL: Como começar a usar no seu projeto AGORAMaira Bello
 
Criando um Web Service Restful com Jersey, Eclipse, JBoss, Tomcat, WebSphere
Criando um Web Service Restful com Jersey, Eclipse, JBoss, Tomcat, WebSphereCriando um Web Service Restful com Jersey, Eclipse, JBoss, Tomcat, WebSphere
Criando um Web Service Restful com Jersey, Eclipse, JBoss, Tomcat, WebSphereJuliano Martins
 

Mais procurados (13)

Cobol Web com Net Express 3.1/4.0/5.x - Parte 2
Cobol Web com Net Express 3.1/4.0/5.x - Parte 2Cobol Web com Net Express 3.1/4.0/5.x - Parte 2
Cobol Web com Net Express 3.1/4.0/5.x - Parte 2
 
Cobol Web com Net Express 5.1 - Parte 3
Cobol Web com Net Express 5.1 - Parte 3Cobol Web com Net Express 5.1 - Parte 3
Cobol Web com Net Express 5.1 - Parte 3
 
Curso de Grails
Curso de GrailsCurso de Grails
Curso de Grails
 
Apostila ajax
Apostila ajaxApostila ajax
Apostila ajax
 
ASP.NET - Conceitos Básicos
ASP.NET - Conceitos BásicosASP.NET - Conceitos Básicos
ASP.NET - Conceitos Básicos
 
Grails parte 1 - introdução
Grails   parte 1 - introduçãoGrails   parte 1 - introdução
Grails parte 1 - introdução
 
GraphQL - APIs mais robustas e flexíveis
GraphQL - APIs mais robustas e flexíveisGraphQL - APIs mais robustas e flexíveis
GraphQL - APIs mais robustas e flexíveis
 
Aula02 eclipse quem_es_tu
Aula02 eclipse quem_es_tuAula02 eclipse quem_es_tu
Aula02 eclipse quem_es_tu
 
Mean Stack
Mean StackMean Stack
Mean Stack
 
Net beans 7.4 Funções e Atalhos
Net beans 7.4 Funções e AtalhosNet beans 7.4 Funções e Atalhos
Net beans 7.4 Funções e Atalhos
 
GraphQL: Como começar a usar no seu projeto AGORA
GraphQL: Como começar a usar no seu projeto AGORAGraphQL: Como começar a usar no seu projeto AGORA
GraphQL: Como começar a usar no seu projeto AGORA
 
Python 06
Python 06Python 06
Python 06
 
Criando um Web Service Restful com Jersey, Eclipse, JBoss, Tomcat, WebSphere
Criando um Web Service Restful com Jersey, Eclipse, JBoss, Tomcat, WebSphereCriando um Web Service Restful com Jersey, Eclipse, JBoss, Tomcat, WebSphere
Criando um Web Service Restful com Jersey, Eclipse, JBoss, Tomcat, WebSphere
 

Destaque

Restaurante
RestauranteRestaurante
Restaurantemarcuzu
 
1192875517 servico de_mesa
1192875517 servico de_mesa1192875517 servico de_mesa
1192875517 servico de_mesaRui Gomes
 
Nutrição e Dietética, Anotações & Principais Pontos
Nutrição e Dietética, Anotações & Principais PontosNutrição e Dietética, Anotações & Principais Pontos
Nutrição e Dietética, Anotações & Principais PontosMoonsh Child
 
Fichas tecnicas controlo de custos
Fichas tecnicas controlo de custosFichas tecnicas controlo de custos
Fichas tecnicas controlo de custosMIguel Picciochi
 
Ficha tecnica calculos
Ficha tecnica calculosFicha tecnica calculos
Ficha tecnica calculosVânia Sandes
 
Como redigir a introdução e a conclusão de um trabalho escrito
Como redigir a introdução e a conclusão de um trabalho escritoComo redigir a introdução e a conclusão de um trabalho escrito
Como redigir a introdução e a conclusão de um trabalho escritoBiblioteca Escolar Ourique
 

Destaque (6)

Restaurante
RestauranteRestaurante
Restaurante
 
1192875517 servico de_mesa
1192875517 servico de_mesa1192875517 servico de_mesa
1192875517 servico de_mesa
 
Nutrição e Dietética, Anotações & Principais Pontos
Nutrição e Dietética, Anotações & Principais PontosNutrição e Dietética, Anotações & Principais Pontos
Nutrição e Dietética, Anotações & Principais Pontos
 
Fichas tecnicas controlo de custos
Fichas tecnicas controlo de custosFichas tecnicas controlo de custos
Fichas tecnicas controlo de custos
 
Ficha tecnica calculos
Ficha tecnica calculosFicha tecnica calculos
Ficha tecnica calculos
 
Como redigir a introdução e a conclusão de um trabalho escrito
Como redigir a introdução e a conclusão de um trabalho escritoComo redigir a introdução e a conclusão de um trabalho escrito
Como redigir a introdução e a conclusão de um trabalho escrito
 

Semelhante a Curso Desenvolvimento Web Brook 3.0

Spring Boot - Uma app do 0 a Web em 30 minutos
Spring Boot - Uma app do 0 a Web em 30 minutosSpring Boot - Uma app do 0 a Web em 30 minutos
Spring Boot - Uma app do 0 a Web em 30 minutosphelypploch
 
Minicurso de Cakephp
Minicurso de CakephpMinicurso de Cakephp
Minicurso de CakephpCauan Cabral
 
Aprendendo Na Prática: Aplicativos Web Com Asp.Net MVC em C# e Entity Framewo...
Aprendendo Na Prática: Aplicativos Web Com Asp.Net MVC em C# e Entity Framewo...Aprendendo Na Prática: Aplicativos Web Com Asp.Net MVC em C# e Entity Framewo...
Aprendendo Na Prática: Aplicativos Web Com Asp.Net MVC em C# e Entity Framewo...Daniel Makiyama
 
Dev401 novos recursos do microsoft visual basic 2010
Dev401 novos recursos do microsoft visual basic 2010Dev401 novos recursos do microsoft visual basic 2010
Dev401 novos recursos do microsoft visual basic 2010Alexandre Tarifa
 
Desenvolvimento Ágil com Grails.
Desenvolvimento Ágil com Grails.Desenvolvimento Ágil com Grails.
Desenvolvimento Ágil com Grails.Alex Guido
 
O uso de PWA e o futuro do desenvolvimento mobile com React Native e Kotlin
O uso de PWA e o futuro do desenvolvimento mobile com React Native e KotlinO uso de PWA e o futuro do desenvolvimento mobile com React Native e Kotlin
O uso de PWA e o futuro do desenvolvimento mobile com React Native e KotlinDavid Robert Camargo de Campos
 
Programação Web com Zend Framework e Ajax com Dojo
Programação Web com Zend Framework e Ajax com DojoProgramação Web com Zend Framework e Ajax com Dojo
Programação Web com Zend Framework e Ajax com Dojofabioginzel
 
Treinamento Básico Sobre ASP.NET MVC
Treinamento Básico Sobre ASP.NET MVCTreinamento Básico Sobre ASP.NET MVC
Treinamento Básico Sobre ASP.NET MVCMichael Costa
 
Introdução à Criação De Páginas Web Aula1
Introdução à Criação De Páginas Web Aula1Introdução à Criação De Páginas Web Aula1
Introdução à Criação De Páginas Web Aula1marioreis
 
Desenvolvimento web com .NET Core - Meetup São Carlos
Desenvolvimento web com .NET Core - Meetup São CarlosDesenvolvimento web com .NET Core - Meetup São Carlos
Desenvolvimento web com .NET Core - Meetup São CarlosRodolfo Fadino Junior
 
Faça Sucesso Desenvolvendo com ASP.NET 4, ASP NET MVC e Visual Studio 2010
Faça Sucesso Desenvolvendo com ASP.NET 4, ASP NET MVC e Visual Studio 2010Faça Sucesso Desenvolvendo com ASP.NET 4, ASP NET MVC e Visual Studio 2010
Faça Sucesso Desenvolvendo com ASP.NET 4, ASP NET MVC e Visual Studio 2010Rodrigo Kono
 
Minicurso de JavaScript (Portuguese)
Minicurso de JavaScript (Portuguese)Minicurso de JavaScript (Portuguese)
Minicurso de JavaScript (Portuguese)Bruno Grange
 

Semelhante a Curso Desenvolvimento Web Brook 3.0 (20)

Acessando banco de dados remoto com android
Acessando banco de dados remoto com android Acessando banco de dados remoto com android
Acessando banco de dados remoto com android
 
Spring Boot - Uma app do 0 a Web em 30 minutos
Spring Boot - Uma app do 0 a Web em 30 minutosSpring Boot - Uma app do 0 a Web em 30 minutos
Spring Boot - Uma app do 0 a Web em 30 minutos
 
Aula1
Aula1Aula1
Aula1
 
Minicurso de Cakephp
Minicurso de CakephpMinicurso de Cakephp
Minicurso de Cakephp
 
Aprendendo Na Prática: Aplicativos Web Com Asp.Net MVC em C# e Entity Framewo...
Aprendendo Na Prática: Aplicativos Web Com Asp.Net MVC em C# e Entity Framewo...Aprendendo Na Prática: Aplicativos Web Com Asp.Net MVC em C# e Entity Framewo...
Aprendendo Na Prática: Aplicativos Web Com Asp.Net MVC em C# e Entity Framewo...
 
Gwt parte 01
Gwt   parte 01Gwt   parte 01
Gwt parte 01
 
Cake Php
Cake PhpCake Php
Cake Php
 
Dev401 novos recursos do microsoft visual basic 2010
Dev401 novos recursos do microsoft visual basic 2010Dev401 novos recursos do microsoft visual basic 2010
Dev401 novos recursos do microsoft visual basic 2010
 
Desenvolvimento Ágil com Grails.
Desenvolvimento Ágil com Grails.Desenvolvimento Ágil com Grails.
Desenvolvimento Ágil com Grails.
 
O uso de PWA e o futuro do desenvolvimento mobile com React Native e Kotlin
O uso de PWA e o futuro do desenvolvimento mobile com React Native e KotlinO uso de PWA e o futuro do desenvolvimento mobile com React Native e Kotlin
O uso de PWA e o futuro do desenvolvimento mobile com React Native e Kotlin
 
Programação Web com Zend Framework e Ajax com Dojo
Programação Web com Zend Framework e Ajax com DojoProgramação Web com Zend Framework e Ajax com Dojo
Programação Web com Zend Framework e Ajax com Dojo
 
Treinamento Básico Sobre ASP.NET MVC
Treinamento Básico Sobre ASP.NET MVCTreinamento Básico Sobre ASP.NET MVC
Treinamento Básico Sobre ASP.NET MVC
 
Introdução à Criação De Páginas Web Aula1
Introdução à Criação De Páginas Web Aula1Introdução à Criação De Páginas Web Aula1
Introdução à Criação De Páginas Web Aula1
 
Desenvolvimento web com .NET Core - Meetup São Carlos
Desenvolvimento web com .NET Core - Meetup São CarlosDesenvolvimento web com .NET Core - Meetup São Carlos
Desenvolvimento web com .NET Core - Meetup São Carlos
 
Faça Sucesso Desenvolvendo com ASP.NET 4, ASP NET MVC e Visual Studio 2010
Faça Sucesso Desenvolvendo com ASP.NET 4, ASP NET MVC e Visual Studio 2010Faça Sucesso Desenvolvendo com ASP.NET 4, ASP NET MVC e Visual Studio 2010
Faça Sucesso Desenvolvendo com ASP.NET 4, ASP NET MVC e Visual Studio 2010
 
Dreamweaver aula 1
Dreamweaver aula 1Dreamweaver aula 1
Dreamweaver aula 1
 
introdução a ajax
introdução a ajaxintrodução a ajax
introdução a ajax
 
Minicurso de JavaScript (Portuguese)
Minicurso de JavaScript (Portuguese)Minicurso de JavaScript (Portuguese)
Minicurso de JavaScript (Portuguese)
 
Fundamentos de arquitetura Web
Fundamentos de arquitetura WebFundamentos de arquitetura Web
Fundamentos de arquitetura Web
 
Minicurso Java
Minicurso JavaMinicurso Java
Minicurso Java
 

Curso Desenvolvimento Web Brook 3.0

  • 1. 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);
  • 2.  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
  • 3.  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;
  • 4.  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.
  • 5. 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
  • 6.  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”.