SlideShare ist ein Scribd-Unternehmen logo
1 von 57
Downloaden Sie, um offline zu lesen
Desenvolvendo Fora da Ilha
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?
Modanças 
para usuários 
e clientes
Melhorias na Expêrincia de Edição
Editor WYSIWYG no Núcleo!
Edição Local
Edição Local
Nova página de criação de conteúdo
Pré-visualização no site
Melhorias para dispositivos móveis
"Mobile First"
Temas e imagens adaptáveis, e 
breakpoints
Painel administrativo
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
Mobile-first “overlay”
Mudanças para 
criadores de 
sites
Modelagem de dados melhorada: 
Novos tipos de campos 
Referências Data/Hora 
…mais, Link, Phone, Email, Comentários!
Modelagem de dados melhorada: 
Novos tipos de entidades 
Blocos com campos
Formulários: personalização da 
aparência dos campos
Views no Núcleo!
Views = totalmente costumizável... 
● Listas administrativas 
● Conteúdos extras 
● Galerias de Imagens 
● Slideshows 
● Saída em REST 
● ...com 0 linhas de código!
Interface administrativa re-estilizada
Melhorias Multi-idiomas
Download de traduções
Direcionamento de idiomas
Tradução para muitos ítens
Mudanças 
para 
designers
Elementos de formulário HTML5
Novas bibliotecas front-end
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) %}
Saída Schema.org Nativa
Suporte extinto para IE 6 & 7 
(e muito do 8)
Mudanças para 
desenvolvedores 
0100010001110010011101 
0101110000011000010110 
11000010000000111000
Gerenciamento de Configurações 
dev stage prod
Dev 
Prod
Integração com Drush!
Web Services
Symfony Framework 
● HttpFoundation 
● HttpKernel 
● Dependency 
Injection 
● EventDispatcher 
● Routing 
● Yaml
GETting data out of Drupal: 
RESTful Web Services module
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(); 
...
"Saindo da Ilha"
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...
Pegue todas as mudanças! 
https://drupal.org/list-changes
Ok, mas quando vou poder usar 
essa maravilha?! 
"Quando 
estiver 
pronto."
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
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!
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
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
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
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
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
Obrigado! 
eu@luizca.net

Weitere ähnliche Inhalte

Was ist angesagt?

A Evolução do Front end
A Evolução do Front endA Evolução do Front end
A Evolução do Front endDouglas Matoso
 
Vue.js - o framework progressivo
Vue.js - o framework progressivoVue.js - o framework progressivo
Vue.js - o framework progressivoVinicius Reis
 
Desenvolvimento Moderno de aplicativos Android
Desenvolvimento Moderno de aplicativos AndroidDesenvolvimento Moderno de aplicativos Android
Desenvolvimento Moderno de aplicativos AndroidNelson Glauber Leal
 
Introdução ao desenvolvimento front end usando bootstrap e angular js
Introdução ao desenvolvimento front end usando bootstrap e angular jsIntrodução ao desenvolvimento front end usando bootstrap e angular js
Introdução ao desenvolvimento front end usando bootstrap e angular jsCloves Moreira Junior
 
Desenvolvimento Front end (AngularJS e Bootstrap)
Desenvolvimento Front end (AngularJS e Bootstrap)Desenvolvimento Front end (AngularJS e Bootstrap)
Desenvolvimento Front end (AngularJS e Bootstrap)Julian Cesar
 
Minicurso - Desenvolvendo aplicações web com JavaScript e AngularJS - Estácio...
Minicurso - Desenvolvendo aplicações web com JavaScript e AngularJS - Estácio...Minicurso - Desenvolvendo aplicações web com JavaScript e AngularJS - Estácio...
Minicurso - Desenvolvendo aplicações web com JavaScript e AngularJS - Estácio...Rodrigo Branas
 
CakePHP - Configurando o ambiente de desenvolvimento no Windows
CakePHP - Configurando o ambiente de desenvolvimento no WindowsCakePHP - Configurando o ambiente de desenvolvimento no Windows
CakePHP - Configurando o ambiente de desenvolvimento no WindowsEmerson Soares
 
ANGULARJS: UM FRAMEWORK PARA FACILITAR SUA VIDA
ANGULARJS: UM FRAMEWORK PARA FACILITAR SUA VIDAANGULARJS: UM FRAMEWORK PARA FACILITAR SUA VIDA
ANGULARJS: UM FRAMEWORK PARA FACILITAR SUA VIDAWilson Mendes
 
Introdução sobre desenvolvimento web
Introdução sobre desenvolvimento webIntrodução sobre desenvolvimento web
Introdução sobre desenvolvimento webRodrigo Rodrigues
 
ASP.NET Web Forms X ASP.NET MVC
ASP.NET Web Forms X ASP.NET MVCASP.NET Web Forms X ASP.NET MVC
ASP.NET Web Forms X ASP.NET MVCguest489a65e
 
Desenvolvimento de Módulos Divi Builder
Desenvolvimento de Módulos Divi BuilderDesenvolvimento de Módulos Divi Builder
Desenvolvimento de Módulos Divi BuilderDaniel Paz
 
Material Design simples e rapido com AngularJS
Material Design simples e rapido com AngularJSMaterial Design simples e rapido com AngularJS
Material Design simples e rapido com AngularJSHenrique Limas
 
Rapida apresentacao sobre o Grails
Rapida apresentacao sobre o GrailsRapida apresentacao sobre o Grails
Rapida apresentacao sobre o GrailsDiego Cavalcanti
 
Começando com Vue.js
Começando com Vue.jsComeçando com Vue.js
Começando com Vue.jsmarcusbalbi
 

Was ist angesagt? (20)

A Evolução do Front end
A Evolução do Front endA Evolução do Front end
A Evolução do Front end
 
Vue.js - o framework progressivo
Vue.js - o framework progressivoVue.js - o framework progressivo
Vue.js - o framework progressivo
 
Desenvolvimento Moderno de aplicativos Android
Desenvolvimento Moderno de aplicativos AndroidDesenvolvimento Moderno de aplicativos Android
Desenvolvimento Moderno de aplicativos Android
 
Introdução ao desenvolvimento front end usando bootstrap e angular js
Introdução ao desenvolvimento front end usando bootstrap e angular jsIntrodução ao desenvolvimento front end usando bootstrap e angular js
Introdução ao desenvolvimento front end usando bootstrap e angular js
 
Desenvolvimento Front end (AngularJS e Bootstrap)
Desenvolvimento Front end (AngularJS e Bootstrap)Desenvolvimento Front end (AngularJS e Bootstrap)
Desenvolvimento Front end (AngularJS e Bootstrap)
 
Curso de ReactJS
Curso de ReactJSCurso de ReactJS
Curso de ReactJS
 
Minicurso - Desenvolvendo aplicações web com JavaScript e AngularJS - Estácio...
Minicurso - Desenvolvendo aplicações web com JavaScript e AngularJS - Estácio...Minicurso - Desenvolvendo aplicações web com JavaScript e AngularJS - Estácio...
Minicurso - Desenvolvendo aplicações web com JavaScript e AngularJS - Estácio...
 
Android Constraint Layout
Android Constraint LayoutAndroid Constraint Layout
Android Constraint Layout
 
CakePHP - Configurando o ambiente de desenvolvimento no Windows
CakePHP - Configurando o ambiente de desenvolvimento no WindowsCakePHP - Configurando o ambiente de desenvolvimento no Windows
CakePHP - Configurando o ambiente de desenvolvimento no Windows
 
ANGULARJS: UM FRAMEWORK PARA FACILITAR SUA VIDA
ANGULARJS: UM FRAMEWORK PARA FACILITAR SUA VIDAANGULARJS: UM FRAMEWORK PARA FACILITAR SUA VIDA
ANGULARJS: UM FRAMEWORK PARA FACILITAR SUA VIDA
 
Blazor #SnetTalks3
Blazor  #SnetTalks3Blazor  #SnetTalks3
Blazor #SnetTalks3
 
Introdução sobre desenvolvimento web
Introdução sobre desenvolvimento webIntrodução sobre desenvolvimento web
Introdução sobre desenvolvimento web
 
Visão Geral sobre Angular JS
Visão Geral sobre Angular JSVisão Geral sobre Angular JS
Visão Geral sobre Angular JS
 
ASP.NET Web Forms X ASP.NET MVC
ASP.NET Web Forms X ASP.NET MVCASP.NET Web Forms X ASP.NET MVC
ASP.NET Web Forms X ASP.NET MVC
 
Angular js
Angular jsAngular js
Angular js
 
Desenvolvimento de Módulos Divi Builder
Desenvolvimento de Módulos Divi BuilderDesenvolvimento de Módulos Divi Builder
Desenvolvimento de Módulos Divi Builder
 
ASP.NET MVC 5.x
ASP.NET MVC 5.xASP.NET MVC 5.x
ASP.NET MVC 5.x
 
Material Design simples e rapido com AngularJS
Material Design simples e rapido com AngularJSMaterial Design simples e rapido com AngularJS
Material Design simples e rapido com AngularJS
 
Rapida apresentacao sobre o Grails
Rapida apresentacao sobre o GrailsRapida apresentacao sobre o Grails
Rapida apresentacao sobre o Grails
 
Começando com Vue.js
Começando com Vue.jsComeçando com Vue.js
Começando com Vue.js
 

Andere mochten auch

Desenvolvimento web com (cms) Drupal
Desenvolvimento web com (cms) DrupalDesenvolvimento web com (cms) Drupal
Desenvolvimento web com (cms) DrupalEmerson Barros
 
5 Motivos pelos quais Profissionais de Marketing Vão Amar o Drupal 8
5 Motivos pelos quais Profissionais de Marketing Vão Amar o Drupal 85 Motivos pelos quais Profissionais de Marketing Vão Amar o Drupal 8
5 Motivos pelos quais Profissionais de Marketing Vão Amar o Drupal 8Taller Negócio Digitais
 
Drupal Performance - Dicas e técnicas para levar seu Drupal às nuvens
Drupal Performance - Dicas e técnicas para levar seu Drupal às nuvensDrupal Performance - Dicas e técnicas para levar seu Drupal às nuvens
Drupal Performance - Dicas e técnicas para levar seu Drupal às nuvensPaulino Michelazzo
 

Andere mochten auch (6)

CMS Livres na Dataprev
CMS Livres na DataprevCMS Livres na Dataprev
CMS Livres na Dataprev
 
Desenvolvimento web com (cms) Drupal
Desenvolvimento web com (cms) DrupalDesenvolvimento web com (cms) Drupal
Desenvolvimento web com (cms) Drupal
 
5 Motivos pelos quais Profissionais de Marketing Vão Amar o Drupal 8
5 Motivos pelos quais Profissionais de Marketing Vão Amar o Drupal 85 Motivos pelos quais Profissionais de Marketing Vão Amar o Drupal 8
5 Motivos pelos quais Profissionais de Marketing Vão Amar o Drupal 8
 
Temas no drupal 8
Temas no drupal 8Temas no drupal 8
Temas no drupal 8
 
Drupal Performance - Dicas e técnicas para levar seu Drupal às nuvens
Drupal Performance - Dicas e técnicas para levar seu Drupal às nuvensDrupal Performance - Dicas e técnicas para levar seu Drupal às nuvens
Drupal Performance - Dicas e técnicas para levar seu Drupal às nuvens
 
Temas em Drupal
Temas em DrupalTemas em Drupal
Temas em Drupal
 

Ähnlich wie Drupal 8: desenvolvendo fora da ilha

Drupal e o seu ecossistema
Drupal e o seu ecossistemaDrupal e o seu ecossistema
Drupal e o seu ecossistemaDrupal Portugal
 
Apresentação CEJS - Do nada para a nuvem
Apresentação CEJS - Do nada para a nuvemApresentação CEJS - Do nada para a nuvem
Apresentação CEJS - Do nada para a nuvemRodrigo Valerio
 
Visão Geral Drupal - Natura Drupal Day
Visão Geral Drupal - Natura Drupal DayVisão Geral Drupal - Natura Drupal Day
Visão Geral Drupal - Natura Drupal DayCaio R. N. Pereira
 
Apresentação Minas - Desenvolvendo Sites
Apresentação Minas - Desenvolvendo SitesApresentação Minas - Desenvolvendo Sites
Apresentação Minas - Desenvolvendo Sitesthiagolima
 
Colóquio Drupal na Universidade do Minho
Colóquio Drupal na Universidade do MinhoColóquio Drupal na Universidade do Minho
Colóquio Drupal na Universidade do Minhointrofini
 
Introdução à Programação Web com Angular
Introdução à Programação Web com AngularIntrodução à Programação Web com Angular
Introdução à Programação Web com AngularElmano Cavalcanti
 
Dividindo responsabilidades com VRaptor, Rest, HTML5 e CSS3
Dividindo responsabilidades com VRaptor, Rest, HTML5 e CSS3Dividindo responsabilidades com VRaptor, Rest, HTML5 e CSS3
Dividindo responsabilidades com VRaptor, Rest, HTML5 e CSS3André Luiz Forchesatto
 
TDC 2010 Floripa-SC SharePoint 2010: Novidades para os desenvolvedores .net
TDC 2010 Floripa-SC SharePoint 2010: Novidades para os desenvolvedores .netTDC 2010 Floripa-SC SharePoint 2010: Novidades para os desenvolvedores .net
TDC 2010 Floripa-SC SharePoint 2010: Novidades para os desenvolvedores .netFabian Gehrke
 
GDG ABC Meetup #5 - Tendências 2015
GDG ABC Meetup #5 - Tendências 2015GDG ABC Meetup #5 - Tendências 2015
GDG ABC Meetup #5 - Tendências 2015Daniel Costa Gimenes
 
RubyConf 17 - Colocando sua aplicação vue nos trilhos
RubyConf 17 - Colocando sua aplicação vue nos trilhosRubyConf 17 - Colocando sua aplicação vue nos trilhos
RubyConf 17 - Colocando sua aplicação vue nos trilhosFelipe Gadelha Ruoso
 
Web Tools Pt B R
Web Tools Pt  B RWeb Tools Pt  B R
Web Tools Pt B Rguestb9d145
 
Netbeans Slides Fy2009 Portugues
Netbeans Slides Fy2009 PortuguesNetbeans Slides Fy2009 Portugues
Netbeans Slides Fy2009 PortuguesRodrigo Peleias
 
Rio Info 2010 - Oficina - Oficina Papel Devigner Novidades HTML5 - Ricardo Pa...
Rio Info 2010 - Oficina - Oficina Papel Devigner Novidades HTML5 - Ricardo Pa...Rio Info 2010 - Oficina - Oficina Papel Devigner Novidades HTML5 - Ricardo Pa...
Rio Info 2010 - Oficina - Oficina Papel Devigner Novidades HTML5 - Ricardo Pa...Rio Info
 
Desenvolvendo APIs seguras com ASP.NET Core, JWT, Docker e Azure Web App for ...
Desenvolvendo APIs seguras com ASP.NET Core, JWT, Docker e Azure Web App for ...Desenvolvendo APIs seguras com ASP.NET Core, JWT, Docker e Azure Web App for ...
Desenvolvendo APIs seguras com ASP.NET Core, JWT, Docker e Azure Web App for ...Renato Groff
 
Curso ASP.Net - Módulo 1
Curso ASP.Net - Módulo 1Curso ASP.Net - Módulo 1
Curso ASP.Net - Módulo 1michellobo
 
Mini-curso RubyOnRails CESOL
Mini-curso RubyOnRails CESOLMini-curso RubyOnRails CESOL
Mini-curso RubyOnRails CESOLtarginosilveira
 
Docker para Desenvolvedores - Developers-BR - Agosto-2018
Docker para Desenvolvedores - Developers-BR - Agosto-2018Docker para Desenvolvedores - Developers-BR - Agosto-2018
Docker para Desenvolvedores - Developers-BR - Agosto-2018Renato Groff
 

Ähnlich wie Drupal 8: desenvolvendo fora da ilha (20)

Drupal e o seu ecossistema
Drupal e o seu ecossistemaDrupal e o seu ecossistema
Drupal e o seu ecossistema
 
Apresentação CEJS - Do nada para a nuvem
Apresentação CEJS - Do nada para a nuvemApresentação CEJS - Do nada para a nuvem
Apresentação CEJS - Do nada para a nuvem
 
Visão Geral Drupal - Natura Drupal Day
Visão Geral Drupal - Natura Drupal DayVisão Geral Drupal - Natura Drupal Day
Visão Geral Drupal - Natura Drupal Day
 
Apresentação Minas - Desenvolvendo Sites
Apresentação Minas - Desenvolvendo SitesApresentação Minas - Desenvolvendo Sites
Apresentação Minas - Desenvolvendo Sites
 
Colóquio Drupal na Universidade do Minho
Colóquio Drupal na Universidade do MinhoColóquio Drupal na Universidade do Minho
Colóquio Drupal na Universidade do Minho
 
Netbeans Slides
Netbeans SlidesNetbeans Slides
Netbeans Slides
 
Introdução à Programação Web com Angular
Introdução à Programação Web com AngularIntrodução à Programação Web com Angular
Introdução à Programação Web com Angular
 
Dividindo responsabilidades com VRaptor, Rest, HTML5 e CSS3
Dividindo responsabilidades com VRaptor, Rest, HTML5 e CSS3Dividindo responsabilidades com VRaptor, Rest, HTML5 e CSS3
Dividindo responsabilidades com VRaptor, Rest, HTML5 e CSS3
 
TDC 2010 Floripa-SC SharePoint 2010: Novidades para os desenvolvedores .net
TDC 2010 Floripa-SC SharePoint 2010: Novidades para os desenvolvedores .netTDC 2010 Floripa-SC SharePoint 2010: Novidades para os desenvolvedores .net
TDC 2010 Floripa-SC SharePoint 2010: Novidades para os desenvolvedores .net
 
GDG ABC Meetup #5 - Tendências 2015
GDG ABC Meetup #5 - Tendências 2015GDG ABC Meetup #5 - Tendências 2015
GDG ABC Meetup #5 - Tendências 2015
 
RubyConf 17 - Colocando sua aplicação vue nos trilhos
RubyConf 17 - Colocando sua aplicação vue nos trilhosRubyConf 17 - Colocando sua aplicação vue nos trilhos
RubyConf 17 - Colocando sua aplicação vue nos trilhos
 
Web Tools Pt B R
Web Tools Pt  B RWeb Tools Pt  B R
Web Tools Pt B R
 
Netbeans Slides Fy2009 Portugues
Netbeans Slides Fy2009 PortuguesNetbeans Slides Fy2009 Portugues
Netbeans Slides Fy2009 Portugues
 
Android Libs - AndroidDevConf
Android Libs - AndroidDevConfAndroid Libs - AndroidDevConf
Android Libs - AndroidDevConf
 
Rio Info 2010 - Oficina - Oficina Papel Devigner Novidades HTML5 - Ricardo Pa...
Rio Info 2010 - Oficina - Oficina Papel Devigner Novidades HTML5 - Ricardo Pa...Rio Info 2010 - Oficina - Oficina Papel Devigner Novidades HTML5 - Ricardo Pa...
Rio Info 2010 - Oficina - Oficina Papel Devigner Novidades HTML5 - Ricardo Pa...
 
Desenvolvendo APIs seguras com ASP.NET Core, JWT, Docker e Azure Web App for ...
Desenvolvendo APIs seguras com ASP.NET Core, JWT, Docker e Azure Web App for ...Desenvolvendo APIs seguras com ASP.NET Core, JWT, Docker e Azure Web App for ...
Desenvolvendo APIs seguras com ASP.NET Core, JWT, Docker e Azure Web App for ...
 
Curso ASP.Net - Módulo 1
Curso ASP.Net - Módulo 1Curso ASP.Net - Módulo 1
Curso ASP.Net - Módulo 1
 
Mini-curso RubyOnRails CESOL
Mini-curso RubyOnRails CESOLMini-curso RubyOnRails CESOL
Mini-curso RubyOnRails CESOL
 
SpugRIA
SpugRIASpugRIA
SpugRIA
 
Docker para Desenvolvedores - Developers-BR - Agosto-2018
Docker para Desenvolvedores - Developers-BR - Agosto-2018Docker para Desenvolvedores - Developers-BR - Agosto-2018
Docker para Desenvolvedores - Developers-BR - Agosto-2018
 

Kürzlich hochgeladen

Padrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemploPadrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemploDanilo Pinotti
 
Programação Orientada a Objetos - 4 Pilares.pdf
Programação Orientada a Objetos - 4 Pilares.pdfProgramação Orientada a Objetos - 4 Pilares.pdf
Programação Orientada a Objetos - 4 Pilares.pdfSamaraLunas
 
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docxATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx2m Assessoria
 
Boas práticas de programação com Object Calisthenics
Boas práticas de programação com Object CalisthenicsBoas práticas de programação com Object Calisthenics
Boas práticas de programação com Object CalisthenicsDanilo Pinotti
 
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docxATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx2m Assessoria
 
Luís Kitota AWS Discovery Day Ka Solution.pdf
Luís Kitota AWS Discovery Day Ka Solution.pdfLuís Kitota AWS Discovery Day Ka Solution.pdf
Luís Kitota AWS Discovery Day Ka Solution.pdfLuisKitota
 
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docxATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx2m Assessoria
 
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docxATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx2m Assessoria
 

Kürzlich hochgeladen (8)

Padrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemploPadrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemplo
 
Programação Orientada a Objetos - 4 Pilares.pdf
Programação Orientada a Objetos - 4 Pilares.pdfProgramação Orientada a Objetos - 4 Pilares.pdf
Programação Orientada a Objetos - 4 Pilares.pdf
 
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docxATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
 
Boas práticas de programação com Object Calisthenics
Boas práticas de programação com Object CalisthenicsBoas práticas de programação com Object Calisthenics
Boas práticas de programação com Object Calisthenics
 
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docxATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
 
Luís Kitota AWS Discovery Day Ka Solution.pdf
Luís Kitota AWS Discovery Day Ka Solution.pdfLuís Kitota AWS Discovery Day Ka Solution.pdf
Luís Kitota AWS Discovery Day Ka Solution.pdf
 
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docxATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
 
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docxATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
 

Drupal 8: desenvolvendo fora da ilha

  • 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?
  • 5.
  • 6. Editor WYSIWYG no Núcleo!
  • 9. Nova página de criação de conteúdo
  • 13. Temas e imagens adaptáveis, e breakpoints
  • 15. 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
  • 18. Modelagem de dados melhorada: Novos tipos de campos Referências Data/Hora …mais, Link, Phone, Email, Comentários!
  • 19. Modelagem de dados melhorada: Novos tipos de entidades Blocos com campos
  • 20. Formulários: personalização da aparência dos campos
  • 22. Views = totalmente costumizável... ● Listas administrativas ● Conteúdos extras ● Galerias de Imagens ● Slideshows ● Saída em REST ● ...com 0 linhas de código!
  • 29.
  • 32. 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) %}
  • 34. Suporte extinto para IE 6 & 7 (e muito do 8)
  • 35. Mudanças para desenvolvedores 0100010001110010011101 0101110000011000010110 11000010000000111000
  • 38.
  • 39.
  • 42. Symfony Framework ● HttpFoundation ● HttpKernel ● Dependency Injection ● EventDispatcher ● Routing ● Yaml
  • 43. GETting data out of Drupal: RESTful Web Services module
  • 44. 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(); ...
  • 46. 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...
  • 47. Pegue todas as mudanças! https://drupal.org/list-changes
  • 48.
  • 49. Ok, mas quando vou poder usar essa maravilha?! "Quando estiver pronto."
  • 50. 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
  • 51. 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!
  • 52. 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
  • 53. 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
  • 54. 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
  • 55. 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
  • 56. 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