SlideShare uma empresa Scribd logo
WordPress para DesenvolvedoresWordPress para Desenvolvedores
Uso do WP como Framework de DesenvolvimentoUso do WP como Framework de Desenvolvimento
George Mendonça – @george_mendonca
08/07/2015
WordPress para Desenvolvedores - Uso do WP como Framework de Desenvolvimento / FISL16
George Mendonça 2
O WordPress
● Quem sou eu
– Analista de sistemas (PTV Tecnologia)
– Coordenador adjunto dos cursos TI da Faculdade JK de Tecnologia (FJK) em Santa
Maria-DF
– Professor das disciplinas de Orientação a objetos, Processo de Desenvolvimento de
Software e Software Livre nos campi de Santa Maria e Taguatinga, DF, na FJK
– Membro: FGSL, FLISOLDF, FLISOLGO, GoWordPress, WordPress Brasília, DFPress,
GOPHP, PHPDF, WP Brasil, #GRITA...
● Objetivo deste trabalho (2015 – 2016)
– 1° ano: Pesquisa do desenvolvimento de apliciações web com WordPress
– 2° ano: Continuidade da pesquisa com implementações práticas de alto nível
08/07/2015
WordPress para Desenvolvedores - Uso do WP como Framework de Desenvolvimento / FISL16
George Mendonça 3
Índice
● O WordPress
● Frameworks de Desenvolvimento
● WordPress para Desenvolvedores
● WordPress como Framework de Desenvolvimento
● Exemplo um plugin simples de cadastro de escolas
● Schoolpress
● Comunidades
● Considerações Finais
08/07/2015
WordPress para Desenvolvedores - Uso do WP como Framework de Desenvolvimento / FISL16
George Mendonça 4
O WordPress
● O que é o WordPress?
– CMS (Gerenciador de Conteúdo) – Blogs, sites e sistemas (porque não?)
● O mais popular do mundo!
– w3techs CMS Overview - Usage of content management systems for
websites
07/07/2015
08/07/2015
WordPress para Desenvolvedores - Uso do WP como Framework de Desenvolvimento / FISL16
George Mendonça 5
O WordPress
● WordPress?
– Curva de aprendizado pequena (fácil)
– Foco na simplicidade sempre
– Responsivo
– Plugins (aplicativos, extensões)
– Themes (Temas)
– Fora da caixa (gerenciamento simples)
– Limpo, leve e econômico
– Software Livre: (licença GPLv2 ou superior)
– Desenvolvido com software livre! (PHP/MySQL)
08/07/2015
WordPress para Desenvolvedores - Uso do WP como Framework de Desenvolvimento / FISL16
George Mendonça 6
O WordPress
● Repositório de plugins – O maior entre os CMSs
– https://wordpress.org/plugins/
● Repositório de temas – Inúmeros gratuitos e premium
– https://wordpress.org/themes/
● Social Network – Rede Social WP: BuddyPress
– https://buddypress.org/
● Fórum - bbPress
– https://bbpress.org/
● Documentação Completa WordPress – https://codex.wordpress.org
08/07/2015
WordPress para Desenvolvedores - Uso do WP como Framework de Desenvolvimento / FISL16
George Mendonça 7
Frameworks de Desenvolvimento
● Conjunto de classes que colaboram para realizar uma
responsabilidade para um domínio de um subsistema da
aplicação
● Conjunto de padrões de projeto (PP) de desenvolvimento de
software (funcionalidades em comum) para prover uma
funcionalidade genérica em uma linguagem específica
● Dita o fluxo de controle (inversão de controle). Não é um PP!
08/07/2015
WordPress para Desenvolvedores - Uso do WP como Framework de Desenvolvimento / FISL16
George Mendonça 8
Frameworks de Desenvolvimento
● Visualizando
BLIBLIOTECA FRAMEWORK
08/07/2015
WordPress para Desenvolvedores - Uso do WP como Framework de Desenvolvimento / FISL16
George Mendonça 9
Frameworks de Desenvolvimento
● Vantagens
– Automatização da construção da solução
– Eficiência na solução de problemas, reutilização, extensibilidade e
otimização de recursos
– Modularização e Componentização de software
– Detecção de erros
– Concentração na abstração das soluções e regras de negócio a serem
implementadas
– Inversão de controle – Fluxo e execução no controle do framework
08/07/2015
WordPress para Desenvolvedores - Uso do WP como Framework de Desenvolvimento / FISL16
George Mendonça 10
Frameworks de Desenvolvimento
● Desvantagens
– Curva de aprendizado é maior
– É necessário dominar a estrutura e/ou arquitetura proposta pelo
Framework adotado
– Estrutura e arquiteturas complexas, porém a maioria é abstraída
– Exige um nível de experiência em desenvolvimento de software
– É necessário "entrar na caixa"!
08/07/2015
WordPress para Desenvolvedores - Uso do WP como Framework de Desenvolvimento / FISL16
George Mendonça 11
WordPress para Desenvolvedores
● RECURSOS: APIs do WordPress
– Possui abundantes interfaces de programação em sua documentação:
● Dashboard Widgets API, Database API, HTTP API, File Header API,
Filesystem API, Metadata API, Options API, Plugin API, Quicktags API,
Rewrite API, Settings API, Shortcode API, Theme Modification API, Theme
Customization API, Transients API, Widgets API, XML-RPC WordPress API
● Veja documetnação completa de APIs em codex.wordpress.org/WordPress_APIs
08/07/2015
WordPress para Desenvolvedores - Uso do WP como Framework de Desenvolvimento / FISL16
George Mendonça 12
WordPress para Desenvolvedores
● RECURSOS: Plugins
– Ferramentas ou aplicações para estender a funcionalidade do
WordPress
– O núcleo do WordPress foi desenvolvido para maximizar a flexibilidade
no configuração/desenvolvimento da aplicação
– Plugins do WP são fantásticos! Elementos de frente no sucesso do WP!
– Oferecem funções personalizadas e funcionalidades que permitem que
cada usuário possa adequar seu site à sua necessidade
08/07/2015
WordPress para Desenvolvedores - Uso do WP como Framework de Desenvolvimento / FISL16
George Mendonça 13
WordPress para Desenvolvedores
● RECURSOS: Plugins
– São distriguídos com software livre (GPLv2) – Siga as regras da comunidade!
– Diretório de Plugins
● 38.648 plugins com 970.272.612 downloads no repositório em 07/07/2015
● Contém todos os plugins desenvolvidos pela comunidade e outros que não estão
no repositório (gratuitos e premium)
●
Link: https://wordpress.org/plugins/
– Handbook: https://developer.wordpress.org/plugins/
08/07/2015
WordPress para Desenvolvedores - Uso do WP como Framework de Desenvolvimento / FISL16
George Mendonça 14
WordPress para Desenvolvedores
● RECURSOS: Temas
– Coleção de arquivos que trabalham juntos para produzir uma interface
gráfica com um design unificador ("Skin" ou tema do seu site)
– Direcionam o FrontEnd da aplicação
– Somente o design de seu site é alterado
– Todos os dados ficam intactos no banco de dados
– Os Temas WordPress oferecem total controle sobre a aparência e a
apresentação do conteúdo do seu site
08/07/2015
WordPress para Desenvolvedores - Uso do WP como Framework de Desenvolvimento / FISL16
George Mendonça 15
WordPress para Desenvolvedores
● RECURSOS: Temas
– Hierarquia de Modelos WordPress
● http://codex.wordpress.org/pt-br:Hierarquia_de_Modelos_WordPress
– Desenvolvimento de Temas
● https://codex.wordpress.org/Theme_Development
– Handbook (em breve)
● https://make.wordpress.org/docs/theme-developer-handbook/
08/07/2015
WordPress para Desenvolvedores - Uso do WP como Framework de Desenvolvimento / FISL16
George Mendonça 16
WordPress para Desenvolvedores
● RECURSOS: Widgets
– Widgets em WordPress permite que você adicione conteúdo e recursos
nas áreas "widgetizadas" de seu tema
– O principal é a barra lateral (sidebar)
– No entanto, estas áreas de widgets prontos podem estar no cabeçalho,
rodapé, barra lateral ou basicamente qualquer outra área em seu tema
– Isso dependerá do tema em uso
08/07/2015
WordPress para Desenvolvedores - Uso do WP como Framework de Desenvolvimento / FISL16
George Mendonça 17
WordPress como Framework de
Desenvolvimento
● Site
– Páginas web contendo infos acessadas por meio de um navegador web
● Aplicação
– Software aplicativo, app, projetado para realizar tarefas específicas
● Aplicação Web
– Aplicação por meio de uma app Web
● WordPress (app web com inúmeros recursos prontos)
08/07/2015
WordPress para Desenvolvedores - Uso do WP como Framework de Desenvolvimento / FISL16
George Mendonça 18
WordPress como Framework de
Desenvolvimento
● WP como CMS
– Blog, site, e-commerce, etc
● WP como Aplicação Web
– Utilização das APIs WordPress para desenvolver aplicações web
● WP como Framework de Desenvolvimento
– Utilização das APIs WordPress utilizando recursos do CMS e padrões de projeto
– Diversas formas de implemetnação, técnicas e arquiteturas
● Exemplo: Modelo MVC
08/07/2015
WordPress para Desenvolvedores - Uso do WP como Framework de Desenvolvimento / FISL16
George Mendonça 19
WordPress como Framework de
Desenvolvimento
● Situação do WP
– 2006
– 2013 em diante
● Por volta de 2006...
● Atualidade...
Figure 1-1. Diagrams from Matt Mullenweg’s“State of WordPress”
presentation in 2013. WordPress wasn’t always so stable.
safaribooksonline.com
Apresentado por Matt Mullenweg
no WordCamp São Francisco 2013
08/07/2015
WordPress para Desenvolvedores - Uso do WP como Framework de Desenvolvimento / FISL16
George Mendonça 20
WordPress como Framework de
Desenvolvimento
● CMSs comumente são descartados em discussões sobre
frameworks
● Mas... o WordPress particularmente é excelente para a proposta
de um framework: criar aplicações rapidamente
● Em instantes podemos criar uma aplicação com gestão de
usuários, sessões e conteúdo por meio do painel do WordPress
● Para as estruturas complexas: APIs, objetos e funções!
08/07/2015
WordPress para Desenvolvedores - Uso do WP como Framework de Desenvolvimento / FISL16
George Mendonça 21
WordPress como Framework de
Desenvolvimento
● WP x MVC
– MVC (Model, View and Controller) é uma arquitetura de software para
para desenvolvimento com objetivo de separar o moldelo (regras de
negócio e transações de banco de dados), das camadas de visão
(visual) e controle (fluxo)
● Desenvolvida por um conjunto de padrões
● Utilização de códido
● Separação de responsabilidades
Figure 1-3. How MVC works
safaribooksonline.com
08/07/2015
WordPress para Desenvolvedores - Uso do WP como Framework de Desenvolvimento / FISL16
George Mendonça 22
WordPress como Framework de
Desenvolvimento
● WP x MVC
– O núcleo do WP não suporta MVC oficialmente
– Amarrar MVC ao WP pode causar problemas, devido a esta natureza
– No entando pode-se adequar à estrutura WP para atender o que de
melhos esta arquitetura propõe, enquanto o core não suporta MVC
– No livro Building Web Apps with WordPress, Brian Messenlehner e
Jason Coleman propõem
● [Modelos = Plugins] [Visões = Temas] [Controladores = Carregador de Templates]
08/07/2015
WordPress para Desenvolvedores - Uso do WP como Framework de Desenvolvimento / FISL16
George Mendonça 23
WordPress como Framework de
Desenvolvimento
● WP x MVC
– Obviamente que as comparações não se sustentam ao MVC
– No entanto, um mapeamento do processo MVC pode ajudar os
programadores WordPress a desenvolver aplicações que usufruem dos
vários benefícios deste padrão:
08/07/2015
WordPress para Desenvolvedores - Uso do WP como Framework de Desenvolvimento / FISL16
George Mendonça 24
WordPress como Framework de
Desenvolvimento
● WP x MVC
– [Modelos = Plugins]
● Nos plugins programadores WP vão desenvolver estruturas de dados, lógicas de
negócio e definição de tipos de post (model)
– [Visões = Templates]
● Temas são apropriados para armazenar código e lógica de templates (view)
– [Controladores = Carregadores de Templates]:
● Arquivos index.php e Hierarquia de Templates (controller)
08/07/2015
WordPress para Desenvolvedores - Uso do WP como Framework de Desenvolvimento / FISL16
George Mendonça 25
WordPress como Framework de
Desenvolvimento
● WP x MVC
– Obstáculos
● Model
– Diversos plugins implementam comportamentos semelhantes às de visão
– Formulários e componentes de visão também são tratados no painel do WP e geralmente
tratados por plugins
– Saída: Criar uma pasta template ou pages para o código frontend
● View
– No WP os templates não tem um mapeamento um para um
– Saída: Mesmo assim é um excelente ponto de partida
08/07/2015
WordPress para Desenvolvedores - Uso do WP como Framework de Desenvolvimento / FISL16
George Mendonça 26
WordPress como Framework de
Desenvolvimento
● WP x MVC
– Importante
● Todo o código da aplicação pode estar em um só tema ou plugin
● Na prática reserva-se temas para a camada de visão (front-end) e os plugins
para a camada de modelo e controladores (backend)
08/07/2015
WordPress para Desenvolvedores - Uso do WP como Framework de Desenvolvimento / FISL16
George Mendonça 27
WordPress como Framework de
Desenvolvimento
● WP x MVC
– Quando desenvolver Aplicações?
● Quando necessita de uma aplicação completa, utilizando a instalação do WP,
com acesso total ao site, temas e plugins instalados
● Diretrizes
– Plugin principal
– Funcionalidades modulares (outros projetos, reutilização) em plugin separado
– Jamais altere o core
08/07/2015
WordPress para Desenvolvedores - Uso do WP como Framework de Desenvolvimento / FISL16
George Mendonça 28
WordPress como Framework de
Desenvolvimento
● WP x MVC
– Quando desenvolver Plugins?
● Quando se necessita criar aplicações modulares para reutilização
● Será utilizado por outros sites
● Um bom momento para se produzir um software livre ;)
08/07/2015
WordPress para Desenvolvedores - Uso do WP como Framework de Desenvolvimento / FISL16
George Mendonça 29
WordPress como Framework de
Desenvolvimento
● WP x MVC
– Quando desenvolver Temas?
● Seguindo o raciocício dos plugins modulares, desenvolve-se temas quando o
objetivo é criar um tema a ser distribuíto
● Que de penda de tipos de post personalizados
● Podendo anda, por dependência do tema, transferir códigos de plugins para seu
tema
● Excelente oportunidade para se desenvolver software livre também
08/07/2015
WordPress para Desenvolvedores - Uso do WP como Framework de Desenvolvimento / FISL16
George Mendonça 30
Exemplo um plugin simples de cadastro de
escolas
● Plugin didático escrito por mim no grupo GoWordPress no
GitLab:
– Escola (CRUDESCOLAS)
● CRUD
– Inserir
– Listar
– Atualizar
– Remover
● Link: https://gitlab.com/go-wordpress/gowp-plugins/tree/master/crudescolas
08/07/2015
WordPress para Desenvolvedores - Uso do WP como Framework de Desenvolvimento / FISL16
George Mendonça 31
Schoolpress
● Aplicação completa com a estrutura MVC adaptada ao WordPress,
proposta pelos autores do livro Building Web Apps with
WordPress:
– https://github.com/bwawwp/schoolpress
– Exemplo: http://schoolpress.me/
08/07/2015
WordPress para Desenvolvedores - Uso do WP como Framework de Desenvolvimento / FISL16
George Mendonça 32
Comunidades WordPress
● Comunidades BR (fóruns, tutoriais, tradução, eventos, etc.)
– Comunidade WordPress BR – http://wp-brasil.org/ - Face
– WordPress.org Brasil – https://br.wordpress.org/
– Go WordPress – Comunidade WordPress de Goiás
● http://gowordpress.org/
– WP Brasília (página comunidade) e DF Press (grupo) – Comunidade
WordPress do Distrito Federal
● https://www.facebook.com/WordPressBrasilia e https://www.facebook.com/groups/dfpress
08/07/2015
WordPress para Desenvolvedores - Uso do WP como Framework de Desenvolvimento / FISL16
George Mendonça 33
Considerações Finais
● Ficou evidente que o WordPress pode ser facilmente utilizado
como um ferramenta poderosa para o desenvolvimento de
aplicações web
● Seja como um blog, um site, aplicação comum ou mesmo como
um framework de desenvolvimento
PERGUNTAS?
08/07/2015
WordPress para Desenvolvedores - Uso do WP como Framework de Desenvolvimento / FISL16
George Mendonça 34
Considerações Finais
O trabalho WordPress para Desenvolvedores - Uso do WP
como Framework de Desenvolvimento de George Mendonça é
um REA e está licenciado com uma Licença
Creative Commons - Atribuição-NãoComercial-CompartilhaIgual 4.0 Internacional
Utilize e copie o que tem de melhor na web com sabedoria, mantendo
referências e ajudando ao próximo.
Deus os abençoe!

Mais conteúdo relacionado

Destaque

Apresentação Fumo
Apresentação FumoApresentação Fumo
Apresentação Fumo
Sintonia Propaganda
 
Núria costa act5
Núria costa act5Núria costa act5
Núria costa act5Nuria Costa
 
taller de informatica y pedagogia de los idiomas extrangeros
taller  de informatica y pedagogia de los idiomas extrangerostaller  de informatica y pedagogia de los idiomas extrangeros
taller de informatica y pedagogia de los idiomas extrangeros
jhonatanvaloyes
 
Isla De Flores
Isla De FloresIsla De Flores
Isla De Floresicuellar
 
Accounting Webinar
Accounting WebinarAccounting Webinar
Accounting WebinarSimplyCast
 
IE express yourself applicant Ruslan Hernandez
IE express yourself applicant Ruslan HernandezIE express yourself applicant Ruslan Hernandez
IE express yourself applicant Ruslan Hernandez
RuslanHernandez
 
Jason Pannell Resume TESOL
Jason Pannell Resume TESOLJason Pannell Resume TESOL
Jason Pannell Resume TESOLJason Pannell
 
Genre research
Genre researchGenre research
Genre research
feartom
 
Ppt kebakaran hutan
Ppt kebakaran hutanPpt kebakaran hutan
Ppt kebakaran hutan
1115500038
 
Xa gico dossier vcds vw golf mkvii
Xa gico dossier vcds vw golf mkviiXa gico dossier vcds vw golf mkvii
Xa gico dossier vcds vw golf mkvii
emilitoC280PP
 

Destaque (15)

Apresentação Fumo
Apresentação FumoApresentação Fumo
Apresentação Fumo
 
Como estudar melhor
Como estudar melhorComo estudar melhor
Como estudar melhor
 
Núria costa act5
Núria costa act5Núria costa act5
Núria costa act5
 
Dnal 1
Dnal 1Dnal 1
Dnal 1
 
Cristo E NóS.Jrcordeiro.
Cristo E NóS.Jrcordeiro.Cristo E NóS.Jrcordeiro.
Cristo E NóS.Jrcordeiro.
 
taller de informatica y pedagogia de los idiomas extrangeros
taller  de informatica y pedagogia de los idiomas extrangerostaller  de informatica y pedagogia de los idiomas extrangeros
taller de informatica y pedagogia de los idiomas extrangeros
 
Waddell House CAD
Waddell House CADWaddell House CAD
Waddell House CAD
 
Isla De Flores
Isla De FloresIsla De Flores
Isla De Flores
 
Destiny's work
Destiny's workDestiny's work
Destiny's work
 
Accounting Webinar
Accounting WebinarAccounting Webinar
Accounting Webinar
 
IE express yourself applicant Ruslan Hernandez
IE express yourself applicant Ruslan HernandezIE express yourself applicant Ruslan Hernandez
IE express yourself applicant Ruslan Hernandez
 
Jason Pannell Resume TESOL
Jason Pannell Resume TESOLJason Pannell Resume TESOL
Jason Pannell Resume TESOL
 
Genre research
Genre researchGenre research
Genre research
 
Ppt kebakaran hutan
Ppt kebakaran hutanPpt kebakaran hutan
Ppt kebakaran hutan
 
Xa gico dossier vcds vw golf mkvii
Xa gico dossier vcds vw golf mkviiXa gico dossier vcds vw golf mkvii
Xa gico dossier vcds vw golf mkvii
 

Semelhante a WordPress para Desenvolvedores - Utilizando WP como framework de desenvolvimento - FISL 16

The Ultimate Guide to Development in WordPress
The Ultimate Guide to Development in WordPressThe Ultimate Guide to Development in WordPress
The Ultimate Guide to Development in WordPress
Jackson F. de A. Mafra
 
Mini Curso Wordpress
Mini Curso WordpressMini Curso Wordpress
Mini Curso Wordpress
Rafael Pinheiro
 
Escalando apps com React e Type Script e SOLID
Escalando apps com React e Type Script e SOLIDEscalando apps com React e Type Script e SOLID
Escalando apps com React e Type Script e SOLID
Ruben Marcus Luz Paschoarelli
 
Introducao-ao-ambiente-web
Introducao-ao-ambiente-webIntroducao-ao-ambiente-web
Introducao-ao-ambiente-web
André Moraes
 
Desmitificando o WordPress
Desmitificando o WordPressDesmitificando o WordPress
Desmitificando o WordPress
Tiago Pires
 
T@rget trust asp.net avançado
T@rget trust   asp.net avançadoT@rget trust   asp.net avançado
T@rget trust asp.net avançadoTargettrust
 
WordPress CMS - Gestão de conteúdo nunca foi tão fácil
WordPress CMS - Gestão de conteúdo nunca foi tão fácilWordPress CMS - Gestão de conteúdo nunca foi tão fácil
WordPress CMS - Gestão de conteúdo nunca foi tão fácil
Matteus Barbosa
 
T@rget trust microsoft asp.net mvc
T@rget trust   microsoft asp.net mvcT@rget trust   microsoft asp.net mvc
T@rget trust microsoft asp.net mvcTargettrust
 
Web open source
Web open sourceWeb open source
Web open source
Carlos Maniero
 
T@rget trust c# 4.0 - fundamentos da linguagem
T@rget trust   c# 4.0 - fundamentos da linguagemT@rget trust   c# 4.0 - fundamentos da linguagem
T@rget trust c# 4.0 - fundamentos da linguagemTargettrust
 
T@rget trust asp.net
T@rget trust   asp.netT@rget trust   asp.net
T@rget trust asp.netTargettrust
 
Engenharia Web
Engenharia WebEngenharia Web
Engenharia Web
Daniel Paz de Araújo
 
SAP Fiori Development from Scratch
SAP Fiori Development from ScratchSAP Fiori Development from Scratch
SAP Fiori Development from Scratch
Jose Nunes
 
Projeto Indiana
Projeto IndianaProjeto Indiana
Projeto Indianahellequin
 
Justificativas para adoção de um Sistema de Gerenciamento de Conteúdos na FAI
Justificativas para adoção de um Sistema de Gerenciamento de Conteúdos na FAIJustificativas para adoção de um Sistema de Gerenciamento de Conteúdos na FAI
Justificativas para adoção de um Sistema de Gerenciamento de Conteúdos na FAI
Jeanne Louize Emygdio
 
O que move a web atualmente?
O que move a web atualmente?O que move a web atualmente?
O que move a web atualmente?
Fabio Janiszevski
 
Software livre - Parte 3
Software livre - Parte 3Software livre - Parte 3
Software livre - Parte 3
Fabrício Basto
 
Pentaho: Inteligência de Negócios utilizando Software Livre - FliSOL São Paul...
Pentaho: Inteligência de Negócios utilizando Software Livre - FliSOL São Paul...Pentaho: Inteligência de Negócios utilizando Software Livre - FliSOL São Paul...
Pentaho: Inteligência de Negócios utilizando Software Livre - FliSOL São Paul...
IT4biz IT Solutions
 
Microsoft WebMatrix
Microsoft WebMatrixMicrosoft WebMatrix
Microsoft WebMatrix
Denis Felix
 

Semelhante a WordPress para Desenvolvedores - Utilizando WP como framework de desenvolvimento - FISL 16 (20)

The Ultimate Guide to Development in WordPress
The Ultimate Guide to Development in WordPressThe Ultimate Guide to Development in WordPress
The Ultimate Guide to Development in WordPress
 
Mini Curso Wordpress
Mini Curso WordpressMini Curso Wordpress
Mini Curso Wordpress
 
Escalando apps com React e Type Script e SOLID
Escalando apps com React e Type Script e SOLIDEscalando apps com React e Type Script e SOLID
Escalando apps com React e Type Script e SOLID
 
Introducao-ao-ambiente-web
Introducao-ao-ambiente-webIntroducao-ao-ambiente-web
Introducao-ao-ambiente-web
 
Desmitificando o WordPress
Desmitificando o WordPressDesmitificando o WordPress
Desmitificando o WordPress
 
T@rget trust asp.net avançado
T@rget trust   asp.net avançadoT@rget trust   asp.net avançado
T@rget trust asp.net avançado
 
WordPress CMS - Gestão de conteúdo nunca foi tão fácil
WordPress CMS - Gestão de conteúdo nunca foi tão fácilWordPress CMS - Gestão de conteúdo nunca foi tão fácil
WordPress CMS - Gestão de conteúdo nunca foi tão fácil
 
T@rget trust microsoft asp.net mvc
T@rget trust   microsoft asp.net mvcT@rget trust   microsoft asp.net mvc
T@rget trust microsoft asp.net mvc
 
Web open source
Web open sourceWeb open source
Web open source
 
T@rget trust c# 4.0 - fundamentos da linguagem
T@rget trust   c# 4.0 - fundamentos da linguagemT@rget trust   c# 4.0 - fundamentos da linguagem
T@rget trust c# 4.0 - fundamentos da linguagem
 
T@rget trust asp.net
T@rget trust   asp.netT@rget trust   asp.net
T@rget trust asp.net
 
Engenharia Web
Engenharia WebEngenharia Web
Engenharia Web
 
Web tools pt-br
Web tools pt-brWeb tools pt-br
Web tools pt-br
 
SAP Fiori Development from Scratch
SAP Fiori Development from ScratchSAP Fiori Development from Scratch
SAP Fiori Development from Scratch
 
Projeto Indiana
Projeto IndianaProjeto Indiana
Projeto Indiana
 
Justificativas para adoção de um Sistema de Gerenciamento de Conteúdos na FAI
Justificativas para adoção de um Sistema de Gerenciamento de Conteúdos na FAIJustificativas para adoção de um Sistema de Gerenciamento de Conteúdos na FAI
Justificativas para adoção de um Sistema de Gerenciamento de Conteúdos na FAI
 
O que move a web atualmente?
O que move a web atualmente?O que move a web atualmente?
O que move a web atualmente?
 
Software livre - Parte 3
Software livre - Parte 3Software livre - Parte 3
Software livre - Parte 3
 
Pentaho: Inteligência de Negócios utilizando Software Livre - FliSOL São Paul...
Pentaho: Inteligência de Negócios utilizando Software Livre - FliSOL São Paul...Pentaho: Inteligência de Negócios utilizando Software Livre - FliSOL São Paul...
Pentaho: Inteligência de Negócios utilizando Software Livre - FliSOL São Paul...
 
Microsoft WebMatrix
Microsoft WebMatrixMicrosoft WebMatrix
Microsoft WebMatrix
 

Mais de George Mendonça

Iniciando na Programação com Python - FLISOL Paracatu 2016
Iniciando na Programação com Python - FLISOL Paracatu 2016Iniciando na Programação com Python - FLISOL Paracatu 2016
Iniciando na Programação com Python - FLISOL Paracatu 2016
George Mendonça
 
Orientação a Objetos com Python e UML - XIII FGSL
Orientação a Objetos com Python e UML - XIII FGSLOrientação a Objetos com Python e UML - XIII FGSL
Orientação a Objetos com Python e UML - XIII FGSL
George Mendonça
 
Python - Orientação a Objetos com UML no Batismo Digital 3.0 da Faculdade JK ...
Python - Orientação a Objetos com UML no Batismo Digital 3.0 da Faculdade JK ...Python - Orientação a Objetos com UML no Batismo Digital 3.0 da Faculdade JK ...
Python - Orientação a Objetos com UML no Batismo Digital 3.0 da Faculdade JK ...
George Mendonça
 
Confirurando Dababase Development no Eclipse Luna
Confirurando Dababase Development no Eclipse LunaConfirurando Dababase Development no Eclipse Luna
Confirurando Dababase Development no Eclipse Luna
George Mendonça
 
Dominando o WordPress - A plataforma de sites e blogs mais popular do mundo
Dominando o WordPress - A plataforma de sites e blogs mais popular do mundoDominando o WordPress - A plataforma de sites e blogs mais popular do mundo
Dominando o WordPress - A plataforma de sites e blogs mais popular do mundo
George Mendonça
 
Libre Office Magazine Edição 11
Libre Office Magazine Edição 11Libre Office Magazine Edição 11
Libre Office Magazine Edição 11
George Mendonça
 
Desenvolvendo Um Projeto de um Portal Responsivo com WordPress - 10° FGSL
Desenvolvendo Um Projeto de um Portal Responsivo com WordPress - 10° FGSLDesenvolvendo Um Projeto de um Portal Responsivo com WordPress - 10° FGSL
Desenvolvendo Um Projeto de um Portal Responsivo com WordPress - 10° FGSL
George Mendonça
 
Codando com PHP e JQuery
Codando com PHP e JQueryCodando com PHP e JQuery
Codando com PHP e JQuery
George Mendonça
 
Quebrando Paradigmas e Conhecendo o Movimento Software Livre
Quebrando Paradigmas e Conhecendo o Movimento Software LivreQuebrando Paradigmas e Conhecendo o Movimento Software Livre
Quebrando Paradigmas e Conhecendo o Movimento Software Livre
George Mendonça
 
Discutindo Governança e Gestão de Projetos com Ferramentas Livres
Discutindo Governança e Gestão de Projetos com Ferramentas LivresDiscutindo Governança e Gestão de Projetos com Ferramentas Livres
Discutindo Governança e Gestão de Projetos com Ferramentas Livres
George Mendonça
 
Desenvolvendo Um Projeto de Um Portal Responsivo Com WordPress
Desenvolvendo Um Projeto de Um Portal Responsivo Com WordPressDesenvolvendo Um Projeto de Um Portal Responsivo Com WordPress
Desenvolvendo Um Projeto de Um Portal Responsivo Com WordPress
George Mendonça
 
Oficina de PHP - Software Freedom Day Luziânia 2013
Oficina de PHP - Software Freedom Day Luziânia 2013Oficina de PHP - Software Freedom Day Luziânia 2013
Oficina de PHP - Software Freedom Day Luziânia 2013
George Mendonça
 
Free Software in the Cloud - Deixe as Nuvens facilitar a sua vida com Softwar...
Free Software in the Cloud - Deixe as Nuvens facilitar a sua vida com Softwar...Free Software in the Cloud - Deixe as Nuvens facilitar a sua vida com Softwar...
Free Software in the Cloud - Deixe as Nuvens facilitar a sua vida com Softwar...
George Mendonça
 
Palestra Batismo Digital como uma Ferramenta Social no Ensino de Software Liv...
Palestra Batismo Digital como uma Ferramenta Social no Ensino de Software Liv...Palestra Batismo Digital como uma Ferramenta Social no Ensino de Software Liv...
Palestra Batismo Digital como uma Ferramenta Social no Ensino de Software Liv...
George Mendonça
 
FGSL - Batismo Digital
FGSL - Batismo DigitalFGSL - Batismo Digital
FGSL - Batismo Digital
George Mendonça
 
Evangelismo e Missões - Elucidando o papel do cristão e da Igreja
Evangelismo e Missões - Elucidando o papel do cristão e da IgrejaEvangelismo e Missões - Elucidando o papel do cristão e da Igreja
Evangelismo e Missões - Elucidando o papel do cristão e da IgrejaGeorge Mendonça
 
Curriculum - George Mendonça
Curriculum - George MendonçaCurriculum - George Mendonça
Curriculum - George Mendonça
George Mendonça
 
Uma Abordagem Prática de Orientação a Objetos com PHP (FLISOL DF 2011)
Uma Abordagem Prática de Orientação a Objetos com PHP (FLISOL DF 2011)Uma Abordagem Prática de Orientação a Objetos com PHP (FLISOL DF 2011)
Uma Abordagem Prática de Orientação a Objetos com PHP (FLISOL DF 2011)
George Mendonça
 
PHP 5.3 - Classes e Objetos
PHP 5.3 - Classes e ObjetosPHP 5.3 - Classes e Objetos
PHP 5.3 - Classes e Objetos
George Mendonça
 
PHP 5.3 - Estruturas de Controle
PHP 5.3 - Estruturas de ControlePHP 5.3 - Estruturas de Controle
PHP 5.3 - Estruturas de Controle
George Mendonça
 

Mais de George Mendonça (20)

Iniciando na Programação com Python - FLISOL Paracatu 2016
Iniciando na Programação com Python - FLISOL Paracatu 2016Iniciando na Programação com Python - FLISOL Paracatu 2016
Iniciando na Programação com Python - FLISOL Paracatu 2016
 
Orientação a Objetos com Python e UML - XIII FGSL
Orientação a Objetos com Python e UML - XIII FGSLOrientação a Objetos com Python e UML - XIII FGSL
Orientação a Objetos com Python e UML - XIII FGSL
 
Python - Orientação a Objetos com UML no Batismo Digital 3.0 da Faculdade JK ...
Python - Orientação a Objetos com UML no Batismo Digital 3.0 da Faculdade JK ...Python - Orientação a Objetos com UML no Batismo Digital 3.0 da Faculdade JK ...
Python - Orientação a Objetos com UML no Batismo Digital 3.0 da Faculdade JK ...
 
Confirurando Dababase Development no Eclipse Luna
Confirurando Dababase Development no Eclipse LunaConfirurando Dababase Development no Eclipse Luna
Confirurando Dababase Development no Eclipse Luna
 
Dominando o WordPress - A plataforma de sites e blogs mais popular do mundo
Dominando o WordPress - A plataforma de sites e blogs mais popular do mundoDominando o WordPress - A plataforma de sites e blogs mais popular do mundo
Dominando o WordPress - A plataforma de sites e blogs mais popular do mundo
 
Libre Office Magazine Edição 11
Libre Office Magazine Edição 11Libre Office Magazine Edição 11
Libre Office Magazine Edição 11
 
Desenvolvendo Um Projeto de um Portal Responsivo com WordPress - 10° FGSL
Desenvolvendo Um Projeto de um Portal Responsivo com WordPress - 10° FGSLDesenvolvendo Um Projeto de um Portal Responsivo com WordPress - 10° FGSL
Desenvolvendo Um Projeto de um Portal Responsivo com WordPress - 10° FGSL
 
Codando com PHP e JQuery
Codando com PHP e JQueryCodando com PHP e JQuery
Codando com PHP e JQuery
 
Quebrando Paradigmas e Conhecendo o Movimento Software Livre
Quebrando Paradigmas e Conhecendo o Movimento Software LivreQuebrando Paradigmas e Conhecendo o Movimento Software Livre
Quebrando Paradigmas e Conhecendo o Movimento Software Livre
 
Discutindo Governança e Gestão de Projetos com Ferramentas Livres
Discutindo Governança e Gestão de Projetos com Ferramentas LivresDiscutindo Governança e Gestão de Projetos com Ferramentas Livres
Discutindo Governança e Gestão de Projetos com Ferramentas Livres
 
Desenvolvendo Um Projeto de Um Portal Responsivo Com WordPress
Desenvolvendo Um Projeto de Um Portal Responsivo Com WordPressDesenvolvendo Um Projeto de Um Portal Responsivo Com WordPress
Desenvolvendo Um Projeto de Um Portal Responsivo Com WordPress
 
Oficina de PHP - Software Freedom Day Luziânia 2013
Oficina de PHP - Software Freedom Day Luziânia 2013Oficina de PHP - Software Freedom Day Luziânia 2013
Oficina de PHP - Software Freedom Day Luziânia 2013
 
Free Software in the Cloud - Deixe as Nuvens facilitar a sua vida com Softwar...
Free Software in the Cloud - Deixe as Nuvens facilitar a sua vida com Softwar...Free Software in the Cloud - Deixe as Nuvens facilitar a sua vida com Softwar...
Free Software in the Cloud - Deixe as Nuvens facilitar a sua vida com Softwar...
 
Palestra Batismo Digital como uma Ferramenta Social no Ensino de Software Liv...
Palestra Batismo Digital como uma Ferramenta Social no Ensino de Software Liv...Palestra Batismo Digital como uma Ferramenta Social no Ensino de Software Liv...
Palestra Batismo Digital como uma Ferramenta Social no Ensino de Software Liv...
 
FGSL - Batismo Digital
FGSL - Batismo DigitalFGSL - Batismo Digital
FGSL - Batismo Digital
 
Evangelismo e Missões - Elucidando o papel do cristão e da Igreja
Evangelismo e Missões - Elucidando o papel do cristão e da IgrejaEvangelismo e Missões - Elucidando o papel do cristão e da Igreja
Evangelismo e Missões - Elucidando o papel do cristão e da Igreja
 
Curriculum - George Mendonça
Curriculum - George MendonçaCurriculum - George Mendonça
Curriculum - George Mendonça
 
Uma Abordagem Prática de Orientação a Objetos com PHP (FLISOL DF 2011)
Uma Abordagem Prática de Orientação a Objetos com PHP (FLISOL DF 2011)Uma Abordagem Prática de Orientação a Objetos com PHP (FLISOL DF 2011)
Uma Abordagem Prática de Orientação a Objetos com PHP (FLISOL DF 2011)
 
PHP 5.3 - Classes e Objetos
PHP 5.3 - Classes e ObjetosPHP 5.3 - Classes e Objetos
PHP 5.3 - Classes e Objetos
 
PHP 5.3 - Estruturas de Controle
PHP 5.3 - Estruturas de ControlePHP 5.3 - Estruturas de Controle
PHP 5.3 - Estruturas de Controle
 

WordPress para Desenvolvedores - Utilizando WP como framework de desenvolvimento - FISL 16

  • 1. WordPress para DesenvolvedoresWordPress para Desenvolvedores Uso do WP como Framework de DesenvolvimentoUso do WP como Framework de Desenvolvimento George Mendonça – @george_mendonca
  • 2. 08/07/2015 WordPress para Desenvolvedores - Uso do WP como Framework de Desenvolvimento / FISL16 George Mendonça 2 O WordPress ● Quem sou eu – Analista de sistemas (PTV Tecnologia) – Coordenador adjunto dos cursos TI da Faculdade JK de Tecnologia (FJK) em Santa Maria-DF – Professor das disciplinas de Orientação a objetos, Processo de Desenvolvimento de Software e Software Livre nos campi de Santa Maria e Taguatinga, DF, na FJK – Membro: FGSL, FLISOLDF, FLISOLGO, GoWordPress, WordPress Brasília, DFPress, GOPHP, PHPDF, WP Brasil, #GRITA... ● Objetivo deste trabalho (2015 – 2016) – 1° ano: Pesquisa do desenvolvimento de apliciações web com WordPress – 2° ano: Continuidade da pesquisa com implementações práticas de alto nível
  • 3. 08/07/2015 WordPress para Desenvolvedores - Uso do WP como Framework de Desenvolvimento / FISL16 George Mendonça 3 Índice ● O WordPress ● Frameworks de Desenvolvimento ● WordPress para Desenvolvedores ● WordPress como Framework de Desenvolvimento ● Exemplo um plugin simples de cadastro de escolas ● Schoolpress ● Comunidades ● Considerações Finais
  • 4. 08/07/2015 WordPress para Desenvolvedores - Uso do WP como Framework de Desenvolvimento / FISL16 George Mendonça 4 O WordPress ● O que é o WordPress? – CMS (Gerenciador de Conteúdo) – Blogs, sites e sistemas (porque não?) ● O mais popular do mundo! – w3techs CMS Overview - Usage of content management systems for websites 07/07/2015
  • 5. 08/07/2015 WordPress para Desenvolvedores - Uso do WP como Framework de Desenvolvimento / FISL16 George Mendonça 5 O WordPress ● WordPress? – Curva de aprendizado pequena (fácil) – Foco na simplicidade sempre – Responsivo – Plugins (aplicativos, extensões) – Themes (Temas) – Fora da caixa (gerenciamento simples) – Limpo, leve e econômico – Software Livre: (licença GPLv2 ou superior) – Desenvolvido com software livre! (PHP/MySQL)
  • 6. 08/07/2015 WordPress para Desenvolvedores - Uso do WP como Framework de Desenvolvimento / FISL16 George Mendonça 6 O WordPress ● Repositório de plugins – O maior entre os CMSs – https://wordpress.org/plugins/ ● Repositório de temas – Inúmeros gratuitos e premium – https://wordpress.org/themes/ ● Social Network – Rede Social WP: BuddyPress – https://buddypress.org/ ● Fórum - bbPress – https://bbpress.org/ ● Documentação Completa WordPress – https://codex.wordpress.org
  • 7. 08/07/2015 WordPress para Desenvolvedores - Uso do WP como Framework de Desenvolvimento / FISL16 George Mendonça 7 Frameworks de Desenvolvimento ● Conjunto de classes que colaboram para realizar uma responsabilidade para um domínio de um subsistema da aplicação ● Conjunto de padrões de projeto (PP) de desenvolvimento de software (funcionalidades em comum) para prover uma funcionalidade genérica em uma linguagem específica ● Dita o fluxo de controle (inversão de controle). Não é um PP!
  • 8. 08/07/2015 WordPress para Desenvolvedores - Uso do WP como Framework de Desenvolvimento / FISL16 George Mendonça 8 Frameworks de Desenvolvimento ● Visualizando BLIBLIOTECA FRAMEWORK
  • 9. 08/07/2015 WordPress para Desenvolvedores - Uso do WP como Framework de Desenvolvimento / FISL16 George Mendonça 9 Frameworks de Desenvolvimento ● Vantagens – Automatização da construção da solução – Eficiência na solução de problemas, reutilização, extensibilidade e otimização de recursos – Modularização e Componentização de software – Detecção de erros – Concentração na abstração das soluções e regras de negócio a serem implementadas – Inversão de controle – Fluxo e execução no controle do framework
  • 10. 08/07/2015 WordPress para Desenvolvedores - Uso do WP como Framework de Desenvolvimento / FISL16 George Mendonça 10 Frameworks de Desenvolvimento ● Desvantagens – Curva de aprendizado é maior – É necessário dominar a estrutura e/ou arquitetura proposta pelo Framework adotado – Estrutura e arquiteturas complexas, porém a maioria é abstraída – Exige um nível de experiência em desenvolvimento de software – É necessário "entrar na caixa"!
  • 11. 08/07/2015 WordPress para Desenvolvedores - Uso do WP como Framework de Desenvolvimento / FISL16 George Mendonça 11 WordPress para Desenvolvedores ● RECURSOS: APIs do WordPress – Possui abundantes interfaces de programação em sua documentação: ● Dashboard Widgets API, Database API, HTTP API, File Header API, Filesystem API, Metadata API, Options API, Plugin API, Quicktags API, Rewrite API, Settings API, Shortcode API, Theme Modification API, Theme Customization API, Transients API, Widgets API, XML-RPC WordPress API ● Veja documetnação completa de APIs em codex.wordpress.org/WordPress_APIs
  • 12. 08/07/2015 WordPress para Desenvolvedores - Uso do WP como Framework de Desenvolvimento / FISL16 George Mendonça 12 WordPress para Desenvolvedores ● RECURSOS: Plugins – Ferramentas ou aplicações para estender a funcionalidade do WordPress – O núcleo do WordPress foi desenvolvido para maximizar a flexibilidade no configuração/desenvolvimento da aplicação – Plugins do WP são fantásticos! Elementos de frente no sucesso do WP! – Oferecem funções personalizadas e funcionalidades que permitem que cada usuário possa adequar seu site à sua necessidade
  • 13. 08/07/2015 WordPress para Desenvolvedores - Uso do WP como Framework de Desenvolvimento / FISL16 George Mendonça 13 WordPress para Desenvolvedores ● RECURSOS: Plugins – São distriguídos com software livre (GPLv2) – Siga as regras da comunidade! – Diretório de Plugins ● 38.648 plugins com 970.272.612 downloads no repositório em 07/07/2015 ● Contém todos os plugins desenvolvidos pela comunidade e outros que não estão no repositório (gratuitos e premium) ● Link: https://wordpress.org/plugins/ – Handbook: https://developer.wordpress.org/plugins/
  • 14. 08/07/2015 WordPress para Desenvolvedores - Uso do WP como Framework de Desenvolvimento / FISL16 George Mendonça 14 WordPress para Desenvolvedores ● RECURSOS: Temas – Coleção de arquivos que trabalham juntos para produzir uma interface gráfica com um design unificador ("Skin" ou tema do seu site) – Direcionam o FrontEnd da aplicação – Somente o design de seu site é alterado – Todos os dados ficam intactos no banco de dados – Os Temas WordPress oferecem total controle sobre a aparência e a apresentação do conteúdo do seu site
  • 15. 08/07/2015 WordPress para Desenvolvedores - Uso do WP como Framework de Desenvolvimento / FISL16 George Mendonça 15 WordPress para Desenvolvedores ● RECURSOS: Temas – Hierarquia de Modelos WordPress ● http://codex.wordpress.org/pt-br:Hierarquia_de_Modelos_WordPress – Desenvolvimento de Temas ● https://codex.wordpress.org/Theme_Development – Handbook (em breve) ● https://make.wordpress.org/docs/theme-developer-handbook/
  • 16. 08/07/2015 WordPress para Desenvolvedores - Uso do WP como Framework de Desenvolvimento / FISL16 George Mendonça 16 WordPress para Desenvolvedores ● RECURSOS: Widgets – Widgets em WordPress permite que você adicione conteúdo e recursos nas áreas "widgetizadas" de seu tema – O principal é a barra lateral (sidebar) – No entanto, estas áreas de widgets prontos podem estar no cabeçalho, rodapé, barra lateral ou basicamente qualquer outra área em seu tema – Isso dependerá do tema em uso
  • 17. 08/07/2015 WordPress para Desenvolvedores - Uso do WP como Framework de Desenvolvimento / FISL16 George Mendonça 17 WordPress como Framework de Desenvolvimento ● Site – Páginas web contendo infos acessadas por meio de um navegador web ● Aplicação – Software aplicativo, app, projetado para realizar tarefas específicas ● Aplicação Web – Aplicação por meio de uma app Web ● WordPress (app web com inúmeros recursos prontos)
  • 18. 08/07/2015 WordPress para Desenvolvedores - Uso do WP como Framework de Desenvolvimento / FISL16 George Mendonça 18 WordPress como Framework de Desenvolvimento ● WP como CMS – Blog, site, e-commerce, etc ● WP como Aplicação Web – Utilização das APIs WordPress para desenvolver aplicações web ● WP como Framework de Desenvolvimento – Utilização das APIs WordPress utilizando recursos do CMS e padrões de projeto – Diversas formas de implemetnação, técnicas e arquiteturas ● Exemplo: Modelo MVC
  • 19. 08/07/2015 WordPress para Desenvolvedores - Uso do WP como Framework de Desenvolvimento / FISL16 George Mendonça 19 WordPress como Framework de Desenvolvimento ● Situação do WP – 2006 – 2013 em diante ● Por volta de 2006... ● Atualidade... Figure 1-1. Diagrams from Matt Mullenweg’s“State of WordPress” presentation in 2013. WordPress wasn’t always so stable. safaribooksonline.com Apresentado por Matt Mullenweg no WordCamp São Francisco 2013
  • 20. 08/07/2015 WordPress para Desenvolvedores - Uso do WP como Framework de Desenvolvimento / FISL16 George Mendonça 20 WordPress como Framework de Desenvolvimento ● CMSs comumente são descartados em discussões sobre frameworks ● Mas... o WordPress particularmente é excelente para a proposta de um framework: criar aplicações rapidamente ● Em instantes podemos criar uma aplicação com gestão de usuários, sessões e conteúdo por meio do painel do WordPress ● Para as estruturas complexas: APIs, objetos e funções!
  • 21. 08/07/2015 WordPress para Desenvolvedores - Uso do WP como Framework de Desenvolvimento / FISL16 George Mendonça 21 WordPress como Framework de Desenvolvimento ● WP x MVC – MVC (Model, View and Controller) é uma arquitetura de software para para desenvolvimento com objetivo de separar o moldelo (regras de negócio e transações de banco de dados), das camadas de visão (visual) e controle (fluxo) ● Desenvolvida por um conjunto de padrões ● Utilização de códido ● Separação de responsabilidades Figure 1-3. How MVC works safaribooksonline.com
  • 22. 08/07/2015 WordPress para Desenvolvedores - Uso do WP como Framework de Desenvolvimento / FISL16 George Mendonça 22 WordPress como Framework de Desenvolvimento ● WP x MVC – O núcleo do WP não suporta MVC oficialmente – Amarrar MVC ao WP pode causar problemas, devido a esta natureza – No entando pode-se adequar à estrutura WP para atender o que de melhos esta arquitetura propõe, enquanto o core não suporta MVC – No livro Building Web Apps with WordPress, Brian Messenlehner e Jason Coleman propõem ● [Modelos = Plugins] [Visões = Temas] [Controladores = Carregador de Templates]
  • 23. 08/07/2015 WordPress para Desenvolvedores - Uso do WP como Framework de Desenvolvimento / FISL16 George Mendonça 23 WordPress como Framework de Desenvolvimento ● WP x MVC – Obviamente que as comparações não se sustentam ao MVC – No entanto, um mapeamento do processo MVC pode ajudar os programadores WordPress a desenvolver aplicações que usufruem dos vários benefícios deste padrão:
  • 24. 08/07/2015 WordPress para Desenvolvedores - Uso do WP como Framework de Desenvolvimento / FISL16 George Mendonça 24 WordPress como Framework de Desenvolvimento ● WP x MVC – [Modelos = Plugins] ● Nos plugins programadores WP vão desenvolver estruturas de dados, lógicas de negócio e definição de tipos de post (model) – [Visões = Templates] ● Temas são apropriados para armazenar código e lógica de templates (view) – [Controladores = Carregadores de Templates]: ● Arquivos index.php e Hierarquia de Templates (controller)
  • 25. 08/07/2015 WordPress para Desenvolvedores - Uso do WP como Framework de Desenvolvimento / FISL16 George Mendonça 25 WordPress como Framework de Desenvolvimento ● WP x MVC – Obstáculos ● Model – Diversos plugins implementam comportamentos semelhantes às de visão – Formulários e componentes de visão também são tratados no painel do WP e geralmente tratados por plugins – Saída: Criar uma pasta template ou pages para o código frontend ● View – No WP os templates não tem um mapeamento um para um – Saída: Mesmo assim é um excelente ponto de partida
  • 26. 08/07/2015 WordPress para Desenvolvedores - Uso do WP como Framework de Desenvolvimento / FISL16 George Mendonça 26 WordPress como Framework de Desenvolvimento ● WP x MVC – Importante ● Todo o código da aplicação pode estar em um só tema ou plugin ● Na prática reserva-se temas para a camada de visão (front-end) e os plugins para a camada de modelo e controladores (backend)
  • 27. 08/07/2015 WordPress para Desenvolvedores - Uso do WP como Framework de Desenvolvimento / FISL16 George Mendonça 27 WordPress como Framework de Desenvolvimento ● WP x MVC – Quando desenvolver Aplicações? ● Quando necessita de uma aplicação completa, utilizando a instalação do WP, com acesso total ao site, temas e plugins instalados ● Diretrizes – Plugin principal – Funcionalidades modulares (outros projetos, reutilização) em plugin separado – Jamais altere o core
  • 28. 08/07/2015 WordPress para Desenvolvedores - Uso do WP como Framework de Desenvolvimento / FISL16 George Mendonça 28 WordPress como Framework de Desenvolvimento ● WP x MVC – Quando desenvolver Plugins? ● Quando se necessita criar aplicações modulares para reutilização ● Será utilizado por outros sites ● Um bom momento para se produzir um software livre ;)
  • 29. 08/07/2015 WordPress para Desenvolvedores - Uso do WP como Framework de Desenvolvimento / FISL16 George Mendonça 29 WordPress como Framework de Desenvolvimento ● WP x MVC – Quando desenvolver Temas? ● Seguindo o raciocício dos plugins modulares, desenvolve-se temas quando o objetivo é criar um tema a ser distribuíto ● Que de penda de tipos de post personalizados ● Podendo anda, por dependência do tema, transferir códigos de plugins para seu tema ● Excelente oportunidade para se desenvolver software livre também
  • 30. 08/07/2015 WordPress para Desenvolvedores - Uso do WP como Framework de Desenvolvimento / FISL16 George Mendonça 30 Exemplo um plugin simples de cadastro de escolas ● Plugin didático escrito por mim no grupo GoWordPress no GitLab: – Escola (CRUDESCOLAS) ● CRUD – Inserir – Listar – Atualizar – Remover ● Link: https://gitlab.com/go-wordpress/gowp-plugins/tree/master/crudescolas
  • 31. 08/07/2015 WordPress para Desenvolvedores - Uso do WP como Framework de Desenvolvimento / FISL16 George Mendonça 31 Schoolpress ● Aplicação completa com a estrutura MVC adaptada ao WordPress, proposta pelos autores do livro Building Web Apps with WordPress: – https://github.com/bwawwp/schoolpress – Exemplo: http://schoolpress.me/
  • 32. 08/07/2015 WordPress para Desenvolvedores - Uso do WP como Framework de Desenvolvimento / FISL16 George Mendonça 32 Comunidades WordPress ● Comunidades BR (fóruns, tutoriais, tradução, eventos, etc.) – Comunidade WordPress BR – http://wp-brasil.org/ - Face – WordPress.org Brasil – https://br.wordpress.org/ – Go WordPress – Comunidade WordPress de Goiás ● http://gowordpress.org/ – WP Brasília (página comunidade) e DF Press (grupo) – Comunidade WordPress do Distrito Federal ● https://www.facebook.com/WordPressBrasilia e https://www.facebook.com/groups/dfpress
  • 33. 08/07/2015 WordPress para Desenvolvedores - Uso do WP como Framework de Desenvolvimento / FISL16 George Mendonça 33 Considerações Finais ● Ficou evidente que o WordPress pode ser facilmente utilizado como um ferramenta poderosa para o desenvolvimento de aplicações web ● Seja como um blog, um site, aplicação comum ou mesmo como um framework de desenvolvimento PERGUNTAS?
  • 34. 08/07/2015 WordPress para Desenvolvedores - Uso do WP como Framework de Desenvolvimento / FISL16 George Mendonça 34 Considerações Finais O trabalho WordPress para Desenvolvedores - Uso do WP como Framework de Desenvolvimento de George Mendonça é um REA e está licenciado com uma Licença Creative Commons - Atribuição-NãoComercial-CompartilhaIgual 4.0 Internacional Utilize e copie o que tem de melhor na web com sabedoria, mantendo referências e ajudando ao próximo. Deus os abençoe!