Drupal 4 Dev: aprendendo Drupal do ponto de vista de desenvolvedores
Upcoming SlideShare
Loading in...5
×
 

Like this? Share it with your network

Share

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

on

  • 9,610 views

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 ...

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.

Statistics

Views

Total Views
9,610
Views on SlideShare
9,292
Embed Views
318

Actions

Likes
2
Downloads
23
Comments
0

8 Embeds 318

http://pedrorocha.net 235
http://dcamprio2012.drupal-br.org 72
http://localhost 4
http://www.pedrorocha.net 3
http://phpnrio.com.br 1
https://twitter.com 1
http://www.linkedin.com 1
http://translate.googleusercontent.com 1
More...

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

CC Attribution License

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

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

  • 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. 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. 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. 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. 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. 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. 1 - O que é Drupal? Mitos e verdades sob a ótica de um desenvolvedor Comunidade
  • 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. 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. 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. 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. 2 - Estrutura do Drupal – Entity & Fields
  • 13. 2 - Estrutura do Drupal – Displays
  • 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. 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. 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. 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. 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. 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. 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. 7 – Alguns dos principais módulos estruturais - Views
  • 22. 7 – Alguns dos principais módulos estruturais – Panels
  • 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. 8 - Drupal para projetos Corporativos - Drush
  • 25. 8 - Drupal para projetos Corporativos - Simpletest
  • 26. 9 – Potenciais como aplicativo: Distros
  • 27. 10 – Futuro: Drupal 8
  • 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. Drupal 4 Dev Obrigado! pedrorocha@singleview.com.br @pedrogomesrocha