SlideShare uma empresa Scribd logo
1 de 15
Baixar para ler offline
Quick Form DataBase
       (QFDB)




     Everaldo Uavniczak
   everaldouav@gmail.com
Cronograma
- O que é?
- Características do Desenvolvimento Web
- Requisitos de uma Aplicação Web
- Etapas do Desenvolvimento Web
- O framework
- Desenvolvendo com o framework
- Status do framework
- Objetos QFDB
- Regras QFDB
- Exemplo de Uso
- Implementações Futuras
O que é? É de comer???
- Framework desenvolvido em PHP 5 (5.2)
- Implementado em OO
- Orientado a Plugins

- Permite desenvolver Aplicações Web
através de “montagem” usando “peças” do
framework

- Licenciado pela Licensa BSD
Características do Desenvolvimento Web


 - Implementados em requisitos vagos
 - Exigem alterações constantes
 - Requerem (re-)implementações em fase de
 produção

 Em geral:
 - Possuem inúmeras semelhanças estruturais e
 praticamente os mesmos requisitos
Requisitos de uma Aplicação Web

- Exibição de conteúdo atualizado

- Interação com usuários (feedback e/ou conteúdo)

- Painel administrativo

- Exibição de relatórios
Etapas do Desenvolvimento Web

- Modelagem (UML)
- Layout (Imagens)
- Layout (HTML)
- Layout (CSS)
- Regras de Negócio server-side (PHP, Python, etc)
- Validação dos Dados client-side (JavaScript)
- Validação dos Dados server-side (PHP, Python,
etc)
- Rotinas de Banco de Dados (MySQL, PG, etc)
- Segurança
O Framework
- Idéia Inicial: Agosto de 2006
- Motivação: Reutilizar códigos entre os projetos e
automatizar seus processos visando ganhar tempo
- Objetivos:
   * Tornar as aplicações multi-database (abstração DB)
   * Geração automática de código HTML e JS
   * Automatizar a validação de dados
   * Automatizar implementações de segurança
   * Permitir adição de plugins carregados
dinamicamente
   * Reduzir o número de arquivos da aplicação
   * Uma única linha alterada para cada
implementação
/quickformdb.php
/quickformdb_init.php
/qfdb_db_interface.php
/qfdb_db_mysql.php
/qfdb_themes_default.php
/objects/
/objects/qfdbobj_text.php
/rules/
/rules/text/qfdbr_text_max.php
/lang/
/lang/
/lang/pt-br/
Desenvolvendo com QFDB
- Modelagem UML
- Layout (Imagens)
- Definições QFDB
- Layuot (HTML)
- Layout (CSS)
- Regras de Negócio server-side (PHP, Python, etc)
- Validação dos Dados client-side (JavaScript)
- Validação dos Dados server-side (PHP, Python,etc)
- Rotinas de Banco de Dados (MySQL, PG, etc)
- Segurança
Status do QFDB
1: Constroi formulário para inserção de
dados
2: Inserir dados no banco de dados
3: Formulário para edição de dados
4: Atualizar dados no banco de dados

5: Geração de relatório

6-9: Status Livre
Objetos QFDB
 Plugins que desempenham as ações do framework

/objects/qfdbobj_*.php
$header[] = 'headdoctype ||| 12345 =>';
$header[] = 'headhtml ||| 12345 => html_lang=pt-br |||
html_xmllang=pt-br';
$header[] = 'headcss ||| 12345 => href=main.css &&&
qfdb.css';
$header[] = 'headicon ||| 12345 =>
href=image/favicon.ico';
$header[] = 'body ||| 12345 => ';
$header[] = 'literal ||| 12345 => content= <div
style="text-align: center;">';
$header[] = 'table ||| 12345 => border=0 ||| cellpadding=2
||| cellspacing=2 ||| class=qfdb_table ||| style=margin:
auto; width: 900px;';
Regras QFDB
 Validam os dados inseridos pelos usuários a
  partir dos Objetos QFDB que definem os
            campos de formulário


/rules/text/qfdbr_text_range.php
$body[] = 'text .... validate=range:::3:::10:::Digite entre
3 e 10 caracteres ';


/rules/text/qfdbr_text_br-cpf.php
$body[] = 'text .... validate=br-cpf:::Digite um CPF
válido';

 As Regras QFDB estão em fase de implementação na versão 0.5
Exemplo de Uso

index.php
qfdb_init.php
pre.php
pos.php
/qfdb_0.5/
/themes/
/themes/base.css
/themes/qfdb.css
/themes/img/
Implementações Futuras

- Regras QFDB (em andamento)

- Restrições por status

- Nicetitle

- Integração com Ajax usando xajax

- QFDB Wizard: Assistente gráfico

- QFDB Debug - rastreador de erros
Perguntas




Maiores informações:
   http://www.qfdb.net/
 everaldouav@gmail.com

Mais conteúdo relacionado

Mais procurados

Arquitetura Web Desacoplada - FCI/Mackenzie
Arquitetura Web Desacoplada - FCI/MackenzieArquitetura Web Desacoplada - FCI/Mackenzie
Arquitetura Web Desacoplada - FCI/MackenzieVivaldo Jose Breternitz
 
Mecanismo de busca .NET Core + MongoDB
Mecanismo de busca .NET Core + MongoDBMecanismo de busca .NET Core + MongoDB
Mecanismo de busca .NET Core + MongoDBLuiz Duarte
 
Azure Cosmos DB - TDC 2017 - São Paulo
Azure Cosmos DB - TDC 2017 - São PauloAzure Cosmos DB - TDC 2017 - São Paulo
Azure Cosmos DB - TDC 2017 - São PauloRenato Groff
 
Ruby, Rails, Web - for rails girls Porto Alegre
Ruby, Rails, Web - for rails girls Porto AlegreRuby, Rails, Web - for rails girls Porto Alegre
Ruby, Rails, Web - for rails girls Porto AlegreJulio Farah
 
Workshop Mundo Senai - Hello, Angular.js
Workshop Mundo Senai - Hello, Angular.jsWorkshop Mundo Senai - Hello, Angular.js
Workshop Mundo Senai - Hello, Angular.jsFábio Elísio
 
NoSQL para Desenvolvedores .NET - Developers-SP - Setembro-2017
NoSQL para Desenvolvedores .NET - Developers-SP - Setembro-2017NoSQL para Desenvolvedores .NET - Developers-SP - Setembro-2017
NoSQL para Desenvolvedores .NET - Developers-SP - Setembro-2017Renato Groff
 
Tecnologias de bancos de dados no Azure: conhecendo as opções relacionais e N...
Tecnologias de bancos de dados no Azure: conhecendo as opções relacionais e N...Tecnologias de bancos de dados no Azure: conhecendo as opções relacionais e N...
Tecnologias de bancos de dados no Azure: conhecendo as opções relacionais e N...Renato Groff
 
A importância de padronizar nosso CSS
A importância de padronizar nosso CSSA importância de padronizar nosso CSS
A importância de padronizar nosso CSSFernando Henriques
 
Técnicas de Programação para a Web
Técnicas de Programação para a WebTécnicas de Programação para a Web
Técnicas de Programação para a WebLuiz Cláudio Silva
 
CakePHP workshop ifsul
CakePHP workshop ifsulCakePHP workshop ifsul
CakePHP workshop ifsulWaldemar Neto
 
Aula 8 php (intro, get e post)
Aula 8   php (intro, get e post)Aula 8   php (intro, get e post)
Aula 8 php (intro, get e post)andreluizlc
 
Workshop Node.js + MongoDB + Mongoose
Workshop Node.js + MongoDB + MongooseWorkshop Node.js + MongoDB + Mongoose
Workshop Node.js + MongoDB + MongooseLuiz Duarte
 
Introdução ao MongoDB
Introdução ao MongoDBIntrodução ao MongoDB
Introdução ao MongoDBLuiz Duarte
 
Aula 5 java script
Aula 5   java scriptAula 5   java script
Aula 5 java scriptandreluizlc
 
Azure Cosmos DB - Azure Weekend SP - Outubro/2017
Azure Cosmos DB - Azure Weekend SP - Outubro/2017Azure Cosmos DB - Azure Weekend SP - Outubro/2017
Azure Cosmos DB - Azure Weekend SP - Outubro/2017Renato Groff
 
Spring Security e Spring Boot Aula - 2018
Spring Security e Spring Boot Aula - 2018Spring Security e Spring Boot Aula - 2018
Spring Security e Spring Boot Aula - 2018André Luiz Forchesatto
 

Mais procurados (19)

Java web
Java webJava web
Java web
 
Arquitetura Web Desacoplada - FCI/Mackenzie
Arquitetura Web Desacoplada - FCI/MackenzieArquitetura Web Desacoplada - FCI/Mackenzie
Arquitetura Web Desacoplada - FCI/Mackenzie
 
Mecanismo de busca .NET Core + MongoDB
Mecanismo de busca .NET Core + MongoDBMecanismo de busca .NET Core + MongoDB
Mecanismo de busca .NET Core + MongoDB
 
Azure Cosmos DB - TDC 2017 - São Paulo
Azure Cosmos DB - TDC 2017 - São PauloAzure Cosmos DB - TDC 2017 - São Paulo
Azure Cosmos DB - TDC 2017 - São Paulo
 
Ruby, Rails, Web - for rails girls Porto Alegre
Ruby, Rails, Web - for rails girls Porto AlegreRuby, Rails, Web - for rails girls Porto Alegre
Ruby, Rails, Web - for rails girls Porto Alegre
 
Workshop Mundo Senai - Hello, Angular.js
Workshop Mundo Senai - Hello, Angular.jsWorkshop Mundo Senai - Hello, Angular.js
Workshop Mundo Senai - Hello, Angular.js
 
Framework web 02 - 2016
Framework web 02 - 2016Framework web 02 - 2016
Framework web 02 - 2016
 
NoSQL para Desenvolvedores .NET - Developers-SP - Setembro-2017
NoSQL para Desenvolvedores .NET - Developers-SP - Setembro-2017NoSQL para Desenvolvedores .NET - Developers-SP - Setembro-2017
NoSQL para Desenvolvedores .NET - Developers-SP - Setembro-2017
 
Tecnologias de bancos de dados no Azure: conhecendo as opções relacionais e N...
Tecnologias de bancos de dados no Azure: conhecendo as opções relacionais e N...Tecnologias de bancos de dados no Azure: conhecendo as opções relacionais e N...
Tecnologias de bancos de dados no Azure: conhecendo as opções relacionais e N...
 
A importância de padronizar nosso CSS
A importância de padronizar nosso CSSA importância de padronizar nosso CSS
A importância de padronizar nosso CSS
 
Devise
DeviseDevise
Devise
 
Técnicas de Programação para a Web
Técnicas de Programação para a WebTécnicas de Programação para a Web
Técnicas de Programação para a Web
 
CakePHP workshop ifsul
CakePHP workshop ifsulCakePHP workshop ifsul
CakePHP workshop ifsul
 
Aula 8 php (intro, get e post)
Aula 8   php (intro, get e post)Aula 8   php (intro, get e post)
Aula 8 php (intro, get e post)
 
Workshop Node.js + MongoDB + Mongoose
Workshop Node.js + MongoDB + MongooseWorkshop Node.js + MongoDB + Mongoose
Workshop Node.js + MongoDB + Mongoose
 
Introdução ao MongoDB
Introdução ao MongoDBIntrodução ao MongoDB
Introdução ao MongoDB
 
Aula 5 java script
Aula 5   java scriptAula 5   java script
Aula 5 java script
 
Azure Cosmos DB - Azure Weekend SP - Outubro/2017
Azure Cosmos DB - Azure Weekend SP - Outubro/2017Azure Cosmos DB - Azure Weekend SP - Outubro/2017
Azure Cosmos DB - Azure Weekend SP - Outubro/2017
 
Spring Security e Spring Boot Aula - 2018
Spring Security e Spring Boot Aula - 2018Spring Security e Spring Boot Aula - 2018
Spring Security e Spring Boot Aula - 2018
 

Semelhante a Quick Form DataBase Framework (QFDB) Documentação

Backbone.js nas trincheiras
Backbone.js nas trincheirasBackbone.js nas trincheiras
Backbone.js nas trincheirasLambda 3
 
Lampada Php Conference Brasil 2007 Palestra
Lampada Php Conference Brasil 2007 PalestraLampada Php Conference Brasil 2007 Palestra
Lampada Php Conference Brasil 2007 PalestraDavid O'Keefe
 
Analise frameworks php
Analise frameworks phpAnalise frameworks php
Analise frameworks phpIgor Moura
 
Cakephp - framework de desenvolvimento de aplicações Web em PHP
Cakephp - framework de desenvolvimento de aplicações Web em PHPCakephp - framework de desenvolvimento de aplicações Web em PHP
Cakephp - framework de desenvolvimento de aplicações Web em PHPArlindo Santos
 
Programando para programadores: Desafios na evolução de um Framework
Programando para programadores: Desafios na evolução de um FrameworkProgramando para programadores: Desafios na evolução de um Framework
Programando para programadores: Desafios na evolução de um FrameworkPablo Dall'Oglio
 
Curso de Ruby on Rails - Aula 01
Curso de Ruby on Rails - Aula 01Curso de Ruby on Rails - Aula 01
Curso de Ruby on Rails - Aula 01Maurício Linhares
 
TDC2015 Porto Alegre - Interfaces ricas com Rails e React.JS
TDC2015  Porto Alegre - Interfaces ricas com Rails e React.JSTDC2015  Porto Alegre - Interfaces ricas com Rails e React.JS
TDC2015 Porto Alegre - Interfaces ricas com Rails e React.JSRodrigo Urubatan
 
Desenvolvimento para a Web com CakePHP
Desenvolvimento para a Web com CakePHPDesenvolvimento para a Web com CakePHP
Desenvolvimento para a Web com CakePHPMarcelo Andrade
 
JSF 2.0 e ScrumToys
JSF 2.0 e ScrumToysJSF 2.0 e ScrumToys
JSF 2.0 e ScrumToysDr. Spock
 
Arquitetando Soluções de Dados com PostgreSQL
Arquitetando Soluções de Dados com PostgreSQLArquitetando Soluções de Dados com PostgreSQL
Arquitetando Soluções de Dados com PostgreSQLRaul Oliveira
 
O que todos os developers devem saber sobre seo
O que todos os developers devem saber sobre seoO que todos os developers devem saber sobre seo
O que todos os developers devem saber sobre seointrofini
 
Workshop Ruby on Rails dia 2 ruby-pt
Workshop Ruby on Rails dia 2  ruby-ptWorkshop Ruby on Rails dia 2  ruby-pt
Workshop Ruby on Rails dia 2 ruby-ptPedro Sousa
 
Criando APIs com Node e TypeScript
Criando APIs com Node e TypeScriptCriando APIs com Node e TypeScript
Criando APIs com Node e TypeScriptAndre Baltieri
 
Produtividade com JavaServer Faces
Produtividade com JavaServer FacesProdutividade com JavaServer Faces
Produtividade com JavaServer FacesEduardo Bregaida
 
Desenvolvimento Web com Simfony Framework.
Desenvolvimento Web com Simfony Framework.Desenvolvimento Web com Simfony Framework.
Desenvolvimento Web com Simfony Framework.Vinícius de Paula
 
JSF 2.0 e ScrumToys
JSF 2.0 e ScrumToysJSF 2.0 e ScrumToys
JSF 2.0 e ScrumToysDr. Spock
 

Semelhante a Quick Form DataBase Framework (QFDB) Documentação (20)

Backbone.js nas trincheiras
Backbone.js nas trincheirasBackbone.js nas trincheiras
Backbone.js nas trincheiras
 
Lampada Php Conference Brasil 2007 Palestra
Lampada Php Conference Brasil 2007 PalestraLampada Php Conference Brasil 2007 Palestra
Lampada Php Conference Brasil 2007 Palestra
 
Analise frameworks php
Analise frameworks phpAnalise frameworks php
Analise frameworks php
 
Cakephp - framework de desenvolvimento de aplicações Web em PHP
Cakephp - framework de desenvolvimento de aplicações Web em PHPCakephp - framework de desenvolvimento de aplicações Web em PHP
Cakephp - framework de desenvolvimento de aplicações Web em PHP
 
Programando para programadores: Desafios na evolução de um Framework
Programando para programadores: Desafios na evolução de um FrameworkProgramando para programadores: Desafios na evolução de um Framework
Programando para programadores: Desafios na evolução de um Framework
 
Curso de Ruby on Rails - Aula 01
Curso de Ruby on Rails - Aula 01Curso de Ruby on Rails - Aula 01
Curso de Ruby on Rails - Aula 01
 
TDC2015 Porto Alegre - Interfaces ricas com Rails e React.JS
TDC2015  Porto Alegre - Interfaces ricas com Rails e React.JSTDC2015  Porto Alegre - Interfaces ricas com Rails e React.JS
TDC2015 Porto Alegre - Interfaces ricas com Rails e React.JS
 
jQuery
jQueryjQuery
jQuery
 
jQuery
jQueryjQuery
jQuery
 
Desenvolvimento para a Web com CakePHP
Desenvolvimento para a Web com CakePHPDesenvolvimento para a Web com CakePHP
Desenvolvimento para a Web com CakePHP
 
JSF 2.0 e ScrumToys
JSF 2.0 e ScrumToysJSF 2.0 e ScrumToys
JSF 2.0 e ScrumToys
 
Arquitetando Soluções de Dados com PostgreSQL
Arquitetando Soluções de Dados com PostgreSQLArquitetando Soluções de Dados com PostgreSQL
Arquitetando Soluções de Dados com PostgreSQL
 
O que todos os developers devem saber sobre seo
O que todos os developers devem saber sobre seoO que todos os developers devem saber sobre seo
O que todos os developers devem saber sobre seo
 
Estrutura do Projeto
Estrutura do ProjetoEstrutura do Projeto
Estrutura do Projeto
 
Estrutura do Projeto
Estrutura do ProjetoEstrutura do Projeto
Estrutura do Projeto
 
Workshop Ruby on Rails dia 2 ruby-pt
Workshop Ruby on Rails dia 2  ruby-ptWorkshop Ruby on Rails dia 2  ruby-pt
Workshop Ruby on Rails dia 2 ruby-pt
 
Criando APIs com Node e TypeScript
Criando APIs com Node e TypeScriptCriando APIs com Node e TypeScript
Criando APIs com Node e TypeScript
 
Produtividade com JavaServer Faces
Produtividade com JavaServer FacesProdutividade com JavaServer Faces
Produtividade com JavaServer Faces
 
Desenvolvimento Web com Simfony Framework.
Desenvolvimento Web com Simfony Framework.Desenvolvimento Web com Simfony Framework.
Desenvolvimento Web com Simfony Framework.
 
JSF 2.0 e ScrumToys
JSF 2.0 e ScrumToysJSF 2.0 e ScrumToys
JSF 2.0 e ScrumToys
 

Quick Form DataBase Framework (QFDB) Documentação

  • 1. Quick Form DataBase (QFDB) Everaldo Uavniczak everaldouav@gmail.com
  • 2. Cronograma - O que é? - Características do Desenvolvimento Web - Requisitos de uma Aplicação Web - Etapas do Desenvolvimento Web - O framework - Desenvolvendo com o framework - Status do framework - Objetos QFDB - Regras QFDB - Exemplo de Uso - Implementações Futuras
  • 3. O que é? É de comer??? - Framework desenvolvido em PHP 5 (5.2) - Implementado em OO - Orientado a Plugins - Permite desenvolver Aplicações Web através de “montagem” usando “peças” do framework - Licenciado pela Licensa BSD
  • 4. Características do Desenvolvimento Web - Implementados em requisitos vagos - Exigem alterações constantes - Requerem (re-)implementações em fase de produção Em geral: - Possuem inúmeras semelhanças estruturais e praticamente os mesmos requisitos
  • 5. Requisitos de uma Aplicação Web - Exibição de conteúdo atualizado - Interação com usuários (feedback e/ou conteúdo) - Painel administrativo - Exibição de relatórios
  • 6. Etapas do Desenvolvimento Web - Modelagem (UML) - Layout (Imagens) - Layout (HTML) - Layout (CSS) - Regras de Negócio server-side (PHP, Python, etc) - Validação dos Dados client-side (JavaScript) - Validação dos Dados server-side (PHP, Python, etc) - Rotinas de Banco de Dados (MySQL, PG, etc) - Segurança
  • 7. O Framework - Idéia Inicial: Agosto de 2006 - Motivação: Reutilizar códigos entre os projetos e automatizar seus processos visando ganhar tempo - Objetivos: * Tornar as aplicações multi-database (abstração DB) * Geração automática de código HTML e JS * Automatizar a validação de dados * Automatizar implementações de segurança * Permitir adição de plugins carregados dinamicamente * Reduzir o número de arquivos da aplicação * Uma única linha alterada para cada implementação
  • 9. Desenvolvendo com QFDB - Modelagem UML - Layout (Imagens) - Definições QFDB - Layuot (HTML) - Layout (CSS) - Regras de Negócio server-side (PHP, Python, etc) - Validação dos Dados client-side (JavaScript) - Validação dos Dados server-side (PHP, Python,etc) - Rotinas de Banco de Dados (MySQL, PG, etc) - Segurança
  • 10. Status do QFDB 1: Constroi formulário para inserção de dados 2: Inserir dados no banco de dados 3: Formulário para edição de dados 4: Atualizar dados no banco de dados 5: Geração de relatório 6-9: Status Livre
  • 11. Objetos QFDB Plugins que desempenham as ações do framework /objects/qfdbobj_*.php $header[] = 'headdoctype ||| 12345 =>'; $header[] = 'headhtml ||| 12345 => html_lang=pt-br ||| html_xmllang=pt-br'; $header[] = 'headcss ||| 12345 => href=main.css &&& qfdb.css'; $header[] = 'headicon ||| 12345 => href=image/favicon.ico'; $header[] = 'body ||| 12345 => '; $header[] = 'literal ||| 12345 => content= <div style="text-align: center;">'; $header[] = 'table ||| 12345 => border=0 ||| cellpadding=2 ||| cellspacing=2 ||| class=qfdb_table ||| style=margin: auto; width: 900px;';
  • 12. Regras QFDB Validam os dados inseridos pelos usuários a partir dos Objetos QFDB que definem os campos de formulário /rules/text/qfdbr_text_range.php $body[] = 'text .... validate=range:::3:::10:::Digite entre 3 e 10 caracteres '; /rules/text/qfdbr_text_br-cpf.php $body[] = 'text .... validate=br-cpf:::Digite um CPF válido'; As Regras QFDB estão em fase de implementação na versão 0.5
  • 14. Implementações Futuras - Regras QFDB (em andamento) - Restrições por status - Nicetitle - Integração com Ajax usando xajax - QFDB Wizard: Assistente gráfico - QFDB Debug - rastreador de erros
  • 15. Perguntas Maiores informações: http://www.qfdb.net/ everaldouav@gmail.com