drupal 4 dev: aprendendo drupal do ponto de vista de desenvolvedores

Download Drupal 4 Dev: aprendendo Drupal do ponto de vista de desenvolvedores

Post on 03-Jun-2015

9.767 views

Category:

Technology

0 download

Embed Size (px)

DESCRIPTION

Para voc, que um desenvolvedor experiente e ouve muito sobre Drupal, que uma excelente plataforma para websites e tambm para webapps, mas gostaria de saber mais sobre ela antes de investir tempo em seu aprendizado, essa a palestra certa. Entenda "por debaixo dos panos" como o Drupal funciona e veja como ele se relaciona com padres de projeto, Versionamento de cdigo, testes automatizados, MVC, OOP, como sua arquitetura, etc. Descubra por qu o Drupal vem conquistando cada vez mais desenvolvedores e empresas como plataforma para criao de sistemas corporativos, redes sociais, e-commerces, ERPs, CRMs, entre diversos outros tipos de sistemas online.

TRANSCRIPT

  • 1. Drupal 4 DevAprendendo Drupal do ponto devista de desenvolvedoresPedro Rocha / SingleViewConsultor em Tecnologia da Informao e Inteligncia de Marketingpedrorocha@singleview.com.br@pedrogomesrochaRio de Janeiro, 10 de Novembro de 2012

2. Sobre o que vamos falar1. O que Drupal? Mitos e verdades sob a tica de um desenvolvedor2. Estrutura do Drupal3. Menu System4. PHPTemplate5. Form API6. Versionamento de cdigo7. Principais mdulos estruturais8. Drupal para projetos Corporativos9. Potenciais como aplicativo: Distros10. Futuro: Drupal 8 3. Quem sou eu Desde 2001 ligado a desenvolvimento web e novas tecnologias Atuei com webdesign, administrao e otimizao de servidores, programaoem Java e PHP, gerenciamento de projetos e atualmente como consultor Atuante na comunidade internacional de Drupal desde 2007 Aps usar diversas ferramentas como Wordpress, Joomla, Liferay, Moodle,CakePHP, Code Igniter, JSF, J2EE, enxerguei um alto potencial no Drupal e odefini como foco principal de estudos e projetos Mantenho mdulos do Drupal, colaboro com patches, auxilio com dicas nomeu blog e na lista de discusso da comunidade brasileira de Drupal, alm deapoiar comunidades open source em seus eventos 4. 1 - O que Drupal? Mitos e verdades sob a tica de um desenvolvedorPode ser chocante para muitos, mas o Drupal no uma linguagem deprogramao, nem um framework de cdigo!Ou seja, no faz sentido algum querer compar-lo com: Symfony, Cake PHP, Code Igniter, etc Rails, Ruby JSF / Java Web2py / Pythone tantas outras linguagens e frameworks por ai... 5. 1 - O que Drupal? Mitos e verdades sob a tica de um desenvolvedorSe quisermos comparar o Drupal com algum outro projeto da mesmacategoria, talvez devamos olhar para:Isso porque o Drupal uma plataforma, tambm chamado de CMS. Oproblema com CMS ser muito vago, conseguindo a proeza de juntar nomesmo saco projetos extremamente distintos, como os 4 exemplosacima. 6. 1 - O que Drupal? Mitos e verdades sob a tica de um desenvolvedor O Drupal no OO (orientado a objetos) Usa PHP 5 ? Seu cdigo ruim No utiliza MVC Possui baixa performance e no escalvel 7. 1 - O que Drupal? Mitos e verdades sob a tica de um desenvolvedorComunidade 8. 2 - Estrutura do Drupal Mdulos Variveis de sistema Paginas Blocos Entity & Entity Types (User, Node, Comment, Product, Contacts, etc) Fields Displays Hooks (convenes) 9. 2 - Estrutura do Drupal Mdulos & Variveis de sistemaEm relao arquitetura em que o Drupal foi construdo, ao longo dosseus 10 anos de vida, no h como fugir da analogia a peas de Lego oude um quebra-cabea.No entanto, mais interessante ainda,Pois o sistema completo em si,no dependendo de outras peas,mas crescendo enormemente comcada nova pea que surge. 10. 2 - Estrutura do Drupal Paginas & BlocosCada pgina que o Drupal retorna composta por uma srie de blocosde informao, ou widgets, quepodem vir de diversos mdulosdistintos, ou mesmo em combinao,que pode ser igual para todos osusurios ou ser contextualizada deacordo com cada usurio que acessaa pgina. 11. 2 - Estrutura do Drupal Entity & Fields API Orientada a Objetos para servir de Entidade base de onde asdemais devero extender, atravs dos Entity Types Entity Types(User, Node, Comment, Product, Contacts, etc) As Entities podem ser customizadas via interface, adicionando eremovendo atributos a essa Entity, atravs dos Fields Os Fields se baseiam na Field API, que uma API altamente robusta eque, partindo do conceito bsico de campo de formulrio, extendida atravs de dezenas de mdulos, com campos para arquivosde Media, Upload de arquivos em massa, entre diversos outros tiposde campo. 12. 2 - Estrutura do Drupal Entity & Fields 13. 2 - Estrutura do Drupal Displays 14. 2 - Estrutura do Drupal DisplaysDesde o ncio, o Drupal preparado para que o contedo possa adotarformas diversas de apresentao, ou seja, o mesmo cadastro pode estar emuma lista, em uma pgina especfica dele, em um bloco, etc, com uma grandefacilidade nessa gesto de diferentes Displays.Esse conceito evoluiu muito e hoje vemos projetos em que a mesmainstalao do Drupal responde por alimentar o site, um aplicativo mobile(viaJSON, por exemplo), uma interface em Flash, ou mesmo atravs de XML.E no esqueamos que o Drupal 7 foi a primeira plataforma a nativamentesuportar a exportao de seus dados atravs de RDF, um padrofundamental para o prximo passo da internet: a web semntica. 15. 2 - Estrutura do Drupal HooksPlugvel o termo que melhor define a arquitetura do Drupal, aondecada mdulo pode criar hooks(ganchos), aonde outros mdulos podemse plugar, interagindo diretamente, atravs dessa interface. 16. 3 - Menu SystemO Drupal se baseia nas URLs para definir como tratar uma requisio,possuindo um sistema interno chamado Menu System, que altamentepoderoso e flexvel, agindo como Page Controller e tratando dequestes como segurana e acesso, entre outras.Ex: node/456/edit/registration node ID do node edit registration 17. 4 - PHP TemplateUma parte fundamental do Drupal seu sistema de templates, o PHPTemplate, responsvel por uma enorme flexibilidade, aonde todo outputgerado pelo sistema possvel de ser interceptado e sobrescrito, aondeincrementando ou removendo partes, podemos potencializar seusresultados ou habilitar o sistema a novos casos de uso.