Drupal 8: desenvolvendo fora da ilha

396 visualizações

Publicada em

As novidades do Drupal 8 CMS. Uma conversa sobre desenvolvimento "Fora da Ilha" e a importância da adoção de componentes do Symfony2 como base de desenvolvimento. Como a nova versão tornará mais fácil o uso de Web Services e a adaptação para diversos dispositivos. Apresentado no ftsl2014

Publicada em: Tecnologia
0 comentários
0 gostaram
Estatísticas
Notas
  • Seja o primeiro a comentar

  • Seja a primeira pessoa a gostar disto

Sem downloads
Visualizações
Visualizações totais
396
No SlideShare
0
A partir de incorporações
0
Número de incorporações
11
Ações
Compartilhamentos
0
Downloads
3
Comentários
0
Gostaram
0
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

Drupal 8: desenvolvendo fora da ilha

  1. 1. Desenvolvendo Fora da Ilha
  2. 2. Sumário ● O que esperar do Drupal 8 para… o Usuários finais e clientes? o Criadores de sites? o Designers? o Desenvolvedores? ● Quando poderei usá-lo?
  3. 3. Modanças para usuários e clientes
  4. 4. Melhorias na Expêrincia de Edição
  5. 5. Editor WYSIWYG no Núcleo!
  6. 6. Edição Local
  7. 7. Edição Local
  8. 8. Nova página de criação de conteúdo
  9. 9. Pré-visualização no site
  10. 10. Melhorias para dispositivos móveis
  11. 11. "Mobile First"
  12. 12. Temas e imagens adaptáveis, e breakpoints
  13. 13. Painel administrativo
  14. 14. Acessibilidade Represent this with a video. Maybe from Dries’ Prague slides? :) AB: Submitted to the DA via their webform, since unfortunately it has to be on YouTube in order to reference from here. Bleh. http://www.youtube.com/watch?v=ipOc1km2uEc
  15. 15. Mobile-first “overlay”
  16. 16. Mudanças para criadores de sites
  17. 17. Modelagem de dados melhorada: Novos tipos de campos Referências Data/Hora …mais, Link, Phone, Email, Comentários!
  18. 18. Modelagem de dados melhorada: Novos tipos de entidades Blocos com campos
  19. 19. Formulários: personalização da aparência dos campos
  20. 20. Views no Núcleo!
  21. 21. Views = totalmente costumizável... ● Listas administrativas ● Conteúdos extras ● Galerias de Imagens ● Slideshows ● Saída em REST ● ...com 0 linhas de código!
  22. 22. Interface administrativa re-estilizada
  23. 23. Melhorias Multi-idiomas
  24. 24. Download de traduções
  25. 25. Direcionamento de idiomas
  26. 26. Tradução para muitos ítens
  27. 27. Mudanças para designers
  28. 28. Elementos de formulário HTML5
  29. 29. Novas bibliotecas front-end
  30. 30. Exemplo de Twig: node.html.twig <article{{ attributes }}> {{ title_prefix }} {% if not page %} <h2{{ title_attributes }}> <a href="{{ url }}" rel="bookmark">{{ label }}</a> </h2> {% endif %} {{ title_suffix }} {% if display_submitted %} <footer class="node__meta"> {{ author_picture }} <div class="node__submitted {{ author_attributes.class }}"{{ author_attributes|without('class') }}> {% trans %}Submitted by {{ author_name|passthrough }} on {{ date }}{% endtrans %} {{ metadata }} </div> </footer> {% endif %} <div class="node__content {{ content_attributes.class }}"{{ content_attributes|without('class') }}> {{ content|without('links') }} </div> {% if content.links %} <div class="node__links"> {{ content.links }} </div> {% endif %} </article> 1. HTML5 tags 2. {{ print a variable }} 3. {% logic(stuff) %}
  31. 31. Saída Schema.org Nativa
  32. 32. Suporte extinto para IE 6 & 7 (e muito do 8)
  33. 33. Mudanças para desenvolvedores 0100010001110010011101 0101110000011000010110 11000010000000111000
  34. 34. Gerenciamento de Configurações dev stage prod
  35. 35. Dev Prod
  36. 36. Integração com Drush!
  37. 37. Web Services
  38. 38. Symfony Framework ● HttpFoundation ● HttpKernel ● Dependency Injection ● EventDispatcher ● Routing ● Yaml
  39. 39. GETting data out of Drupal: RESTful Web Services module
  40. 40. GETting data into Drupal: Guzzle $client = Drupal::httpClient(); $config = Drupal::config('3rdparty.settings'); // Format arguments for passing in URL. $arg = urlencode($argument); // Pull data from 3rd party's REST API. $api_key = $config->get('api_key'); $request = $client->get("http://3rdparty.com/$arg/?key=$api_key"); // Get the response and do something with it. $response = $request->send(); $json = $response->json(); ...
  41. 41. "Saindo da Ilha"
  42. 42. Não inventado aqui "Orgulhosamente encontrado em outro lugar" ● Código muito mais moderno e orientado a objetos (classes, inheritance, interfaces, etc.) ● Adotando padrões de código PHP (ex.: PSR-0, namespaces, traits) ● Usando muitas das melhores bibliotecas: Composer, PHPUnit, Guzzle, Zend Feed Component, Assetic...
  43. 43. Pegue todas as mudanças! https://drupal.org/list-changes
  44. 44. Ok, mas quando vou poder usar essa maravilha?! "Quando estiver pronto."
  45. 45. Finalização da API Release Drupal 8 timeline Início do Desenvolvimento Março 2011 Feature freeze Dez de 2012 Feature complete Fev de 2013 Desenvolvimento de recurços API freeze Julho de 2013 Drupal 8.0.0 (quando estará pronto) Alphas Development snapshots Betas Maiores APIs trancadas RCs API e Recursos completos Estamos aqui
  46. 46. Quando "estará pronto"? ● Quando houver 0 questões críticas, sai o RC. ● Quando for entregue um novo RC sem novas questões críticas, sai o 8.0.0!
  47. 47. Onde é preciso ajuda? ● Encontrando e corrigindo bugs ● Desempenho ● Caminho de migração ● Adaptação de projetos ● DOCUMENTAÇÃO! ● EXEMPLOS! ● FERRAMENTAS! ● TESTE, TESTE, TESTE! https://drupal.org/contribute
  48. 48. Quando devo usar o Drupal 8? Fique de olho em https://drupal.org/project/usage/drupal: Alphas, *Já*! (há tempo para corrigir APIs!) Betas/RCs (pro final de 2014) Assim que as linhas crusarem (~2015) Plataforma comprovada Drupal 8.x / 9. Desenvolvedor de módulo / tema Adoção prematura / final de 2014+ Adoção posterior/ Em 2015+ Conservador
  49. 49. O que é essa conversa de 8.0.0? ● Drupal 8 usará versionamento semântico ● Drupal 8.1.0 incluirá novos recursos e/ou APIs ● Novos lançamentos serão (na maioria) compatíveis com anteriores ● Novos lançamentos 8.x a cada 6 meses (planejado) ● Não precisa esperar anos por novidades ● Correções de bugs em versões menores, ex.: 8.1.5 https://drupal.org/node/2135189
  50. 50. E sobre atualização? ● Ao invés de um caminho de atualização, Drupal 8 terá uma caminho de migração! ● Algumas migrações de Drupal 6 já estão incluídas, mais em https://groups.drupal.org/imp ● Para checar estados de atualização de módulos, veja: https://drupal. org/project/upgrade_status ● Outras dicas: https://www.acquia. com/blog/getting-your-site- ready-drupal-8
  51. 51. E meus próprios módulos? ● Use https://www.drupal. org/project/drupalmoduleupgrader para iniciar a atualização de seu código. ● Se você precisa iniciar um novo módulo, veja https://www.drupal.org/project/console
  52. 52. Obrigado! eu@luizca.net

×