Drupal 4 DevAprendendo Drupal do ponto devista de desenvolvedoresPedro Rocha / SingleViewConsultor em Tecnologia da Inform...
Sobre o que vamos falar1.   O que é Drupal? Mitos e verdades sob a ótica de um desenvolvedor2.   Estrutura do Drupal3.   M...
Quem sou eu•   Desde 2001 ligado a desenvolvimento web e novas tecnologias•   Atuei com webdesign, administração e otimiza...
1 - O que é Drupal? Mitos e verdades sob a ótica de um desenvolvedorPode ser chocante para muitos, mas o Drupal não é uma ...
1 - O que é Drupal? Mitos e verdades sob a ótica de um desenvolvedorSe quisermos comparar o Drupal com algum outro projeto...
1 - O que é Drupal? Mitos e verdades sob a ótica de um desenvolvedor• O Drupal não é OO (orientado a objetos)• Usa PHP 5 ?...
1 - O que é Drupal? Mitos e verdades sob a ótica de um desenvolvedor                    Comunidade
2 - Estrutura do Drupal• Módulos• Variáveis de sistema• Paginas• Blocos• Entity & Entity Types (User, Node, Comment, Produ...
2 - Estrutura do Drupal – Módulos & Variáveis de sistemaEm relação à arquitetura em que o Drupal foi construído, ao longo ...
2 - Estrutura do Drupal – Paginas & BlocosCada página que o Drupal retorna écomposta por uma série de blocosde informação,...
2 - Estrutura do Drupal – Entity & Fields• API Orientada a Objetos para servir de “Entidade base” de onde as  demais dever...
2 - Estrutura do Drupal – Entity & Fields
2 - Estrutura do Drupal – Displays
2 - Estrutura do Drupal – DisplaysDesde o ínício, o Drupal é preparado para que o conteúdo possa adotarformas diversas de ...
2 - Estrutura do Drupal – Hooks“Plugável” é o termo que melhor define a arquitetura do Drupal, aondecada módulo pode criar...
3 - Menu SystemO Drupal se baseia nas URLs para definir como tratar uma requisição,possuindo um sistema interno chamado “M...
4 - PHP TemplateUma parte fundamental do Drupal é seu sistema de templates, o PHPTemplate, responsável por uma enorme flex...
5 - Form APISe tem uma coisa fácil e fantástica no Drupal é a forma como trabalhacom formulários, a chamada “Form API”, at...
6 - Versionamento de códigoPara trabalhar com versionamento de código, a saída encontrada pelacomunidade Drupal foi criar ...
7 – Alguns dos principais módulos estruturaisA arquitetura do Drupal, altamente modular e plugável permite osurgimento de ...
7 – Alguns dos principais módulos estruturais - Views
7 – Alguns dos principais módulos estruturais – Panels
8 - Drupal para projetos CorporativosJá foi a época em que o Drupal vivia somente de interface gráfica eprocessos manuais,...
8 - Drupal para projetos Corporativos - Drush
8 - Drupal para projetos Corporativos - Simpletest
9 – Potenciais como aplicativo: Distros
10 – Futuro: Drupal 8
Drupal 4 Dev – considerações finaisMais do que um CMS para criar websites, o Drupal é hoje uma plataforma     adequada aos...
Drupal 4 Dev                        Obrigado!               pedrorocha@singleview.com.br                   @pedrogomesrocha
Upcoming SlideShare
Loading in...5
×

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

9,885

Published on

Para você, que é um desenvolvedor experiente e ouve muito sobre Drupal, que é uma excelente plataforma para websites e também 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 padrões de projeto, Versionamento de código, testes automatizados, MVC, OOP, como é sua arquitetura, etc.

Descubra por quê o Drupal vem conquistando cada vez mais desenvolvedores e empresas como plataforma para criação de sistemas corporativos, redes sociais, e-commerces, ERPs, CRMs, entre diversos outros tipos de sistemas online.

Published in: Technology
0 Comments
3 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
9,885
On Slideshare
0
From Embeds
0
Number of Embeds
10
Actions
Shares
0
Downloads
25
Comments
0
Likes
3
Embeds 0
No embeds

No notes for slide

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

  1. 1. Drupal 4 DevAprendendo Drupal do ponto devista de desenvolvedoresPedro Rocha / SingleViewConsultor em Tecnologia da Informação e Inteligência de Marketingpedrorocha@singleview.com.br@pedrogomesrochaRio de Janeiro, 10 de Novembro de 2012
  2. 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 código7. Principais módulos estruturais8. Drupal para projetos Corporativos9. Potenciais como aplicativo: Distros10. Futuro: Drupal 8
  3. 3. Quem sou eu• Desde 2001 ligado a desenvolvimento web e novas tecnologias• Atuei com webdesign, administração e otimização de servidores, programação em Java e PHP, gerenciamento de projetos e atualmente como consultor• Atuante na comunidade internacional de Drupal desde 2007• Após usar diversas ferramentas como Wordpress, Joomla, Liferay, Moodle, CakePHP, Code Igniter, JSF, J2EE, enxerguei um alto potencial no Drupal e o defini como foco principal de estudos e projetos• Mantenho módulos do Drupal, colaboro com patches, auxilio com dicas no meu blog e na lista de discussão da comunidade brasileira de Drupal, além de apoiar comunidades open source em seus eventos
  4. 4. 1 - O que é Drupal? Mitos e verdades sob a ótica de um desenvolvedorPode ser chocante para muitos, mas o Drupal não é uma linguagem deprogramação, nem um framework de código!Ou seja, não 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. 5. 1 - O que é Drupal? Mitos e verdades sob a ótica de um desenvolvedorSe quisermos comparar o Drupal com algum outro projeto da mesma“categoria”, talvez devamos olhar para:Isso porque o Drupal é uma plataforma, também chamado de CMS. Oproblema com CMS é ser muito vago, conseguindo a proeza de juntar nomesmo saco projetos extremamente distintos, como os 4 exemplosacima.
  6. 6. 1 - O que é Drupal? Mitos e verdades sob a ótica de um desenvolvedor• O Drupal não é OO (orientado a objetos)• Usa PHP 5 ?• Seu código é ruim• Não utiliza MVC• Possui baixa performance e não é escalável
  7. 7. 1 - O que é Drupal? Mitos e verdades sob a ótica de um desenvolvedor Comunidade
  8. 8. 2 - Estrutura do Drupal• Módulos• Variáveis de sistema• Paginas• Blocos• Entity & Entity Types (User, Node, Comment, Product, Contacts, etc)• Fields• Displays• Hooks (convenções)
  9. 9. 2 - Estrutura do Drupal – Módulos & Variáveis de sistemaEm relação à arquitetura em que o Drupal foi construído, ao longo dosseus 10 anos de vida, não há como fugir da analogia a peças de Lego oude um quebra-cabeça.No entanto, é mais interessante ainda,Pois o sistema é completo em si,não dependendo de outras peças,mas crescendo enormemente comcada nova peça que surge.
  10. 10. 2 - Estrutura do Drupal – Paginas & BlocosCada página que o Drupal retorna écomposta por uma série de blocosde informação, ou widgets, quepodem vir de diversos módulosdistintos, ou mesmo em combinação,que pode ser igual para todos osusuários ou ser contextualizada deacordo com cada usuário que acessaa página.
  11. 11. 2 - Estrutura do Drupal – Entity & Fields• API Orientada a Objetos para servir de “Entidade base” de onde as demais deverão extender, através dos Entity Types• Entity Types(User, Node, Comment, Product, Contacts, etc)• As Entities podem ser customizadas via interface, adicionando e removendo atributos a essa Entity, através dos Fields• Os Fields se baseiam na Field API, que é uma API altamente robusta e que, partindo do conceito básico de “campo de formulário”, é extendida através de dezenas de módulos, com campos para arquivos de Media, Upload de arquivos em massa, entre diversos outros tipos de campo.
  12. 12. 2 - Estrutura do Drupal – Entity & Fields
  13. 13. 2 - Estrutura do Drupal – Displays
  14. 14. 2 - Estrutura do Drupal – DisplaysDesde o ínício, o Drupal é preparado para que o conteúdo possa adotarformas diversas de apresentação, ou seja, o mesmo cadastro pode estar emuma lista, em uma página específica dele, em um bloco, etc, com uma grandefacilidade nessa gestão de diferentes Displays.Esse conceito evoluiu muito e hoje vemos projetos em que a mesmainstalação do Drupal responde por alimentar o site, um aplicativo mobile(viaJSON, por exemplo), uma interface em Flash, ou mesmo através de XML.E não esqueçamos que o Drupal 7 foi a primeira plataforma a nativamentesuportar a exportação de seus dados através de RDF, um padrãofundamental para o próximo passo da internet: a web semântica.
  15. 15. 2 - Estrutura do Drupal – Hooks“Plugável” é o termo que melhor define a arquitetura do Drupal, aondecada módulo pode criar “hooks”(ganchos), aonde outros módulos podemse plugar, interagindo diretamente, através dessa interface.
  16. 16. 3 - Menu SystemO Drupal se baseia nas URLs para definir como tratar uma requisição,possuindo um sistema interno chamado “Menu System”, que é altamentepoderoso e flexível, agindo como “Page Controller” e tratando dequestões como segurança e acesso, entre outras.Ex: “node/456/edit/registration”• node• ID do node• edit• registration
  17. 17. 4 - PHP TemplateUma parte fundamental do Drupal é seu sistema de templates, o PHPTemplate, responsável por uma enorme flexibilidade, aonde todo outputgerado pelo sistema é possível de ser interceptado e sobrescrito, aondeincrementando ou removendo partes, podemos potencializar seusresultados ou habilitar o sistema a novos casos de uso.<?phpfunction theme_pagina_noticias() {...}pagina-noticias.tpl.php
  18. 18. 5 - Form APISe tem uma coisa fácil e fantástica no Drupal é a forma como trabalhacom formulários, a chamada “Form API”, através da qual podemos criarformulários com arrays() como:$form[‘mensagem_ao_usuario] = array( #type => textarea, #title => ‘Mensagem que deseja enviar ao usuário, #required => TRUE,);Além de contarmos com mecanismos de validação, integração com AJAX,entre inúmeras outras ferramentas para o tratamento de dados que sãonativas do Drupal
  19. 19. 6 - Versionamento de códigoPara trabalhar com versionamento de código, a saída encontrada pelacomunidade Drupal foi criar módulos que ajudam a exportar asconfigurações criadas via interface, gerando código que gerencia asincronização entre o que está configurado na base de dados e o que estádefinido no código do módulo.Os principais módulos com esse objetivo são:• Features• Strongarm• CTools Exportables
  20. 20. 7 – Alguns dos principais módulos estruturaisA arquitetura do Drupal, altamente modular e plugável permite osurgimento de módulos que potencializam outros módulos, e assim pordiante. Alguns módulos que elevam ainda mais as possibilidades são:• Views• Context• Rules• Panelse estou cometendo uma injustiça enorme ao citar somente 4, poisrealmente existem muitos módulos com altíssimo potencial para elevar oDrupal em determinados casos de uso
  21. 21. 7 – Alguns dos principais módulos estruturais - Views
  22. 22. 7 – Alguns dos principais módulos estruturais – Panels
  23. 23. 8 - Drupal para projetos CorporativosJá foi a época em que o Drupal vivia somente de interface gráfica eprocessos manuais, algo inimaginável em grandes projetos corporativos,que exigem processos como Integração Contínua, testes automatizados,entre outros. Para isso, algumas ferramentas se tornaram muitoimportantes no contexto de Drupal:• Drush• Simpletest• Jenkins• Drush Make• etc
  24. 24. 8 - Drupal para projetos Corporativos - Drush
  25. 25. 8 - Drupal para projetos Corporativos - Simpletest
  26. 26. 9 – Potenciais como aplicativo: Distros
  27. 27. 10 – Futuro: Drupal 8
  28. 28. Drupal 4 Dev – considerações finaisMais do que um CMS para criar websites, o Drupal é hoje uma plataforma adequada aos mais diversos tipos de projetos, com uma grande flexibilidade e capacidade de rápida adaptação a mudanças. Com um foco muito forte no reaproveitamento de partes de projetos, a colaboração dentro da comunidade gera muitos retornos para todos os envolvidos, cada vez com ferramentas mais e mais sofisticadas, todas abertas, ao alcance de um click.Para melhorar, só faltam mais profissionais investindo nessa plataforma! Acesse http://drupal.org e inicie sua jornada!
  29. 29. Drupal 4 Dev Obrigado! pedrorocha@singleview.com.br @pedrogomesrocha
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×