Lush Green
WordPress para Desenvolvedores - Uso do WP como Framework de Desenvolvimento / FISL16George Mendona
WordPress para Desenvolvedores
Uso do WP como Framework de Desenvolvimento
George Mendona @george_mendonca
O WordPress
Quem sou euAnalista de sistemas (PTV Tecnologia)
Coordenador adjunto dos cursos TI da Faculdade JK de Tecnologia (FJK) em Santa Maria-DF
Professor das disciplinas de Orientao 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 Braslia, DFPress, GOPHP, PHPDF, WP Brasil, #GRITA...
Objetivo deste trabalho (2015 2016)1 ano: Pesquisa do desenvolvimento de apliciaes web com WordPress
2 ano: Continuidade da pesquisa com implementaes prticas de alto nvel
ndice
O WordPress
Frameworks de Desenvolvimento
WordPress para Desenvolvedores
WordPress como Framework de Desenvolvimento
Exemplo um plugin simples de cadastro de escolas
Schoolpress
Comunidades
Consideraes Finais
O WordPress
O que o WordPress?CMS (Gerenciador de Contedo) Blogs, sites e sistemas (porque no?)
O mais popular do mundo!w3techs CMS Overview - Usage of content management systems for websites
07/07/2015
O WordPress
WordPress?Curva de aprendizado pequena (fcil)
Foco na simplicidade sempre
Responsivo
Plugins (aplicativos, extenses)
Themes (Temas)
Fora da caixa (gerenciamento simples)
Limpo, leve e econmico
Software Livre: (licena GPLv2 ou superior)
Desenvolvido com software livre! (PHP/MySQL)
O WordPress
Repositrio de plugins O maior entre os CMSshttps://wordpress.org/plugins/
Repositrio de temas Inmeros gratuitos e premiumhttps://wordpress.org/themes/
Social Network Rede Social WP: BuddyPresshttps://buddypress.org/
Frum - bbPresshttps://bbpress.org/
Documentao Completa WordPress https://codex.wordpress.org
Frameworks de Desenvolvimento
Conjunto de classes que colaboram para realizar uma responsabilidade para um domnio de um subsistema da aplicao
Conjunto de padres de projeto (PP) de desenvolvimento de software (funcionalidades em comum) para prover uma funcionalidade genrica em uma linguagem especfica
Dita o fluxo de controle (inverso de controle). No um PP!
Frameworks de Desenvolvimento
Visualizando
BLIBLIOTECA
FRAMEWORK
Frameworks de Desenvolvimento
VantagensAutomatizao da construo da soluo
Eficincia na soluo de problemas, reutilizao, extensibilidade e otimizao de recursos
Modularizao e Componentizao de software
Deteco de erros
Concentrao na abstrao das solues e regras de negcio a serem implementadas
Inverso de controle Fluxo e execuo no controle do framework
Frameworks de Desenvolvimento
DesvantagensCurva de aprendizado maior
necessrio dominar a estrutura e/ou arquitetura proposta pelo Framework adotado
Estrutura e arquiteturas complexas, porm a maioria abstrada
Exige um nvel de experincia em desenvolvimento de software
necessrio "entrar na caixa"!
WordPress para Desenvolvedores
RECURSOS: APIs do WordPressPossui abundantes interfaces de programao em sua documentao: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 documetnao completa de APIs em codex.wordpress.org/WordPress_APIs
WordPress para Desenvolvedores
RECURSOS: PluginsFerramentas ou aplicaes para estender a funcionalidade do WordPress
O ncleo do WordPress foi desenvolvido para maximizar a flexibilidade no configurao/desenvolvimento da aplicao
Plugins do WP so fantsticos! Elementos de frente no sucesso do WP!
Oferecem funes personalizadas e funcionalidades que permitem que cada usurio possa adequar seu site sua necessidade
WordPress para Desenvolvedores
RECURSOS: PluginsSo distrigudos com software livre (GPLv2) Siga as regras da comunidade!
Diretrio de Plugins38.648 plugins com 970.272.612 downloads no repositrio em 07/07/2015
Contm todos os plugins desenvolvidos pela comunidade e outros que no esto no repositrio (gratuitos e premium)
Link: https://wordpress.org/plugins/
Handbook: https://developer.wordpress.org/plugins/
WordPress para Desenvolvedores
RECURSOS: TemasColeo de arquivos que trabalham juntos para produzir uma interface grfica com um design unificador ("Skin" ou tema do seu site)
Direcionam o FrontEnd da aplicao
Somente o design de seu site alterado
Todos os dados ficam intactos no banco de dados
Os Temas WordPress oferecem total controle sobre a aparncia e a apresentao do contedo do seu site
WordPress para Desenvolvedores
RECURSOS: TemasHierarquia de Modelos WordPresshttp://codex.wordpress.org/pt-br:Hierarquia_de_Modelos_WordPress
Desenvolvimento de Temashttps://codex.wordpress.org/Theme_Development
Handbook (em breve)https://make.wordpress.org/docs/theme-developer-handbook/
WordPress para Desenvolvedores
RECURSOS: WidgetsWidgets em WordPress permite que voc adicione contedo e recursos nas reas "widgetizadas" de seu tema
O principal a barra lateral (sidebar)
No entanto, estas reas de widgets prontos podem estar no cabealho, rodap, barra lateral ou basicamente qualquer outra rea em seu tema
Isso depender do tema em uso
WordPress como Framework de Desenvolvimento
SitePginas web contendo infos acessadas por meio de um navegador web
AplicaoSoftware aplicativo, app, projetado para realizar tarefas especficas
Aplicao WebAplicao por meio de uma app Web
WordPress (app web com inmeros recursos prontos)
WordPress como Framework de Desenvolvimento
WP como CMSBlog, site, e-commerce, etc
WP como Aplicao WebUtilizao das APIs WordPress para desenvolver aplicaes web
WP como Framework de DesenvolvimentoUtilizao das APIs WordPress utilizando recursos do CMS e padres de projeto
Diversas formas de implemetnao, tcnicas e arquiteturasExemplo: Modelo MVC
WordPress como Framework de Desenvolvimento
Situao do WP2006
2013 em diante
Por volta de 2006...
Atualidade...
Figure 1-1. Diagrams from Matt MullenwegsState of
WordPress
presentation in 2013. WordPress wasnt always so
stable.safaribooksonline.com
Apresentado por Matt Mullenweg
no WordCamp So Francisco 2013
WordPress como Framework de Desenvolvimento
CMSs comumente so descartados em discusses sobre frameworks
Mas... o WordPress particularmente excelente para a proposta de um framework: criar aplicaes rapidamente
Em instantes podemos criar uma aplicao com gesto de usurios, sesses e contedo por meio do painel do WordPress
Para as estruturas complexas: APIs, objetos e funes!
WordPress como Framework de Desenvolvimento
WP x MVCMVC (Model, View and Controller) uma arquitetura de software para para desenvolvimento com objetivo de separar o moldelo (regras de negcio e transaes de banco de dados), das camadas de viso (visual) e controle (fluxo)Desenvolvida por um conjunto de padres
Utilizao de cdido
Separao de responsabilidades
Figure 1-3. How MVC workssafaribooksonline.com
WordPress como Framework de Desenvolvimento
WP x MVCO ncleo do WP no 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 prope, enquanto o core no suporta MVC
No livro Building Web Apps with WordPress, Brian Messenlehner e Jason Coleman propem[Modelos = Plugins] [Vises = Temas] [Controladores = Carregador de Templates]
WordPress como Framework de Desenvolvimento
WP x MVCObviamente que as comparaes no se sustentam ao MVC
No entanto, um mapeamento do processo MVC pode ajudar os programadores WordPress a desenvolver aplicaes que usufruem dos vrios benefcios deste padro:
WordPress como Framework de Desenvolvimento
WP x MVC[Modelos = Plugins]Nos plugins programadores WP vo desenvolver estruturas de dados, lgicas de negcio e definio de tipos de post (model)
[Vises = Templates]Temas so apropriados para armazenar cdigo e lgica de templates (view)
[Controladores = Carregadores de Templates]: Arquivos index.php e Hierarquia de Templates (controller)
WordPress como Framework de Desenvolvimento
WP x MVCObstculosModelDiversos plugins implementam comportamentos semelhantes s de viso
Formulrios e componentes de viso tambm so tratados no painel do WP e geralmente tratados por plugins
Sada: Criar uma pasta template ou pages para o cdigo frontend
ViewNo WP os templates no tem um mapeamento um para um
Sada: Mesmo assim um excelente ponto de partida
WordPress como Framework de Desenvolvimento
WP x MVCImportanteTodo o cdigo da aplicao pode estar em um s tema ou plugin
Na prtica reserva-se temas para a camada de viso (front-end) e os plugins para a camada de modelo e controladores (backend)
WordPress como Framework de Desenvolvimento
WP x MVCQuando desenvolver Aplicaes?Quando necessita de uma aplicao completa, utilizando a instalao do WP, com acesso total ao site, temas e plugins instalados
DiretrizesPlugin principal
Funcionalidades modulares (outros projetos, reutilizao) em plugin separado
Jamais altere o core
WordPress como Framework de Desenvolvimento
WP x MVCQuando desenvolver Plugins?Quando se necessita criar aplicaes modulares para reutilizao
Ser utilizado por outros sites
Um bom momento para se produzir um software livre ;)
WordPress como Framework de Desenvolvimento
WP x MVCQuando desenvolver Temas?Seguindo o racioccio dos plugins modulares, desenvolve-se temas quando o objetivo criar um tema a ser distributo
Que de penda de tipos de post personalizados
Podendo anda, por dependncia do tema, transferir cdigos de plugins para seu tema
Excelente oportunidade para se desenvolver software livre tambm
Exemplo um plugin simples de cadastro de escolas
Plugin didtico escrito por mim no grupo GoWordPress no GitLab:Escola (CRUDESCOLAS)CRUDInserir
Listar
Atualizar
Remover
Link: https://gitlab.com/go-wordpress/gowp-plugins/tree/master/crudescolas
Schoolpress
Aplicao 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/
Comunidades WordPress
Comunidades BR (fruns, tutoriais, traduo, eventos, etc.)Comunidade WordPress BR http://wp-brasil.org/ - Face
WordPress.org Brasil https://br.wordpress.org/
Go WordPress Comunidade WordPress de Goishttp://gowordpress.org/
WP Braslia (pgina comunidade) e DF Press (grupo) Comunidade WordPress do Distrito Federalhttps://www.facebook.com/WordPressBrasilia e https://www.facebook.com/groups/dfpress
Consideraes Finais
Ficou evidente que o WordPress pode ser facilmente utilizado como um ferramenta poderosa para o desenvolvimento de aplicaes web
Seja como um blog, um site, aplicao comum ou mesmo como um framework de desenvolvimentoPERGUNTAS?
Consideraes Finais
O trabalhoWordPress para Desenvolvedores - Uso do WP como Framework de DesenvolvimentodeGeorge Mendona um REA e est licenciado com uma LicenaCreative Commons - Atribuio-NoComercial-CompartilhaIgual 4.0 Internacional
Utilize e copie o que tem de melhor na web com sabedoria, mantendo referncias e ajudando ao prximo.Deus os abenoe!
Top Related