Comunidade Drupal considerando uma arquitetura desacoplada
Publicados: 2015-12-12
No início desta semana, Dries Buytaert, criador e líder de projeto do Drupal, abriu uma discussão em seu blog sobre o futuro da arquitetura Drupal em um post intitulado Devemos desacoplar o Drupal com uma estrutura do lado do cliente?
Buytaert afirma que os usuários esperam experiências semelhantes a aplicativos de sites, dadas suas experiências de interação com o feed de notícias do Facebook, a caixa de entrada do Gmail e a transmissão ao vivo do Twitter.
“Muitas das interfaces administrativas e sites Drupal do Drupal podem se beneficiar de uma experiência de usuário instantânea e igualmente perfeita”, disse Buytaert. “Como líder do projeto Drupal, eu me pergunto: como nossa comunidade pode se sentir capacitada e encorajada a começar a construir experiências de usuário ricas?”
A discussão para desacoplar o Drupal com uma estrutura do lado do cliente chega em um momento interessante, já que o endereço State of the Word de Matt Mullenweg anunciou o JavaScript como o futuro do WordPress e da web. Suas observações finais encorajaram os desenvolvedores a aprender JavaScript e começar a construir aplicativos baseados em WordPress para o futuro.
Um comentarista no post de Buytaert traça uma conexão com o lançamento do Calypso pela Automattic:
Parece que este post é, pelo menos em parte, uma reação ao anúncio do Calypso pelo WordPress. Espero que possamos nos concentrar em tomar as decisões certas para o futuro do Drupal, em vez de reagir apressadamente ao que outro CMS está fazendo, principalmente quando você já falou várias vezes sobre como o WordPress não é o verdadeiro concorrente do Drupal.
Buytaert sustenta que suas considerações para o Drupal foram motivadas de forma independente, e esta não é a primeira vez que ele escreve sobre dissociar o back end e o front end.
“Quanto ao anúncio do Calypso pelo WordPress – na verdade, comecei a escrever este post no blog antes do Calypso ser anunciado”, disse ele. “Não acredito que minha posição tenha sido influenciada por Calypso.”
Buytaert prefaciou essa discussão com o fato de que os usuários passaram a considerar as experiências de aplicativos como a base para a interação em sites. Toda a web está se movendo nessa direção e CMSs como Drupal e WordPress agora são forçados a escalar essa montanha se quiserem permanecer relevantes. Ambos os projetos estão jogando por trás, tentando alcançar as expectativas dos usuários.
O desafio de padronizar uma estrutura
De muitas maneiras, a discussão no post de Buytaert é pertinente para onde o WordPress está indo, especialmente a consideração de padronizar em uma estrutura específica.
Buytaert defende uma dissociação progressiva da experiência do administrador e do usuário final do Drupal, ao mesmo tempo em que permite que experiências totalmente dissociadas sejam construídas sobre a plataforma. Ele propõe que a melhor maneira de fazer isso é “padronizar formalmente em um framework MV* completo (por exemplo, Angular, Ember, Backbone e Knockout) ou uma biblioteca de visualização baseada em componentes (por exemplo, React, Vue e Riot). ”
Como ele não é um desenvolvedor front-end, Buytaert está solicitando informações da comunidade Drupal sobre qual estrutura funcionaria melhor para dissociação progressiva. Ele também reconhece as razões pelas quais a padronização de uma estrutura específica pode ser desaconselhável a longo prazo:

Apesar dos benefícios potenciais, também há boas razões para não adotar uma única estrutura do lado do cliente. Novos frameworks de front-end estão sendo criados em um ritmo que parece insustentável; a cada nove meses há um novo garoto no quarteirão. É difícil para um projeto tão grande quanto o Drupal adotar uma única tecnologia quando não há garantia de sua longevidade.
No entanto, Buytaert acredita que uma seleção cuidadosa e uma reavaliação periódica da estrutura podem superar essas desvantagens.
Ao incentivar os desenvolvedores do WordPress a aprender JavaScript, Matt Mullenweg não identificou uma única estrutura, mas a deixou aberta. Como o Calypso da Automattic é construído no React, parece ser um dos favoritos.
Se o núcleo do WordPress acabar adotando a tecnologia por trás do Calypso (ou uma alternativa semelhante ao Calypso) para oferecer uma melhor experiência de publicação, o núcleo padronizará um framework/biblioteca ou continuará habilitando e incentivando os desenvolvedores de extensão a usar qualquer framework?
Um comentarista aponta problemas potenciais com o Drupal selecionando uma estrutura, que alguns podem perceber como um endosso oficial:
Já existem muitos projetos corporativos usando uma abordagem desacoplada do Drupal e, naturalmente, eles usam muitos frameworks diferentes, mas o que vejo mais usado é o React. Na verdade, no projeto em que estou trabalhando agora, a organização está apostando tudo no React. Se o Drupal se decidisse pelo Angular, por exemplo, como isso afetaria as organizações que estão fazendo grandes investimentos em outros frameworks? Talvez eu não entenda completamente como isso pode funcionar, mas a escolha de uma única estrutura parece que pode ser divisiva e disruptiva – disruptiva de uma maneira ruim, não da maneira SV.
Acho que facilitar as arquiteturas desacopladas é ótimo e deve ser algo que o Drupal faz, mas deve fazê-lo de uma maneira agnóstica sobre a estrutura FE usada.
Buytaert identifica algumas alternativas para enviar uma estrutura do lado do cliente com o núcleo Drupal, incluindo recomendar uma estrutura, mas não enviá-la com ela, ou incluí-la no núcleo, mas facilitar a substituição pela escolha do desenvolvedor por outra estrutura.
Sua postagem e os comentários a seguir são o início de uma discussão animada e ponderada que ajudará a moldar o futuro do desenvolvimento do Drupal. Hoje Buytaert está pedindo propostas que esbocem um protótipo para uma versão funcional da dissociação progressiva.
Estaria interessado em ler uma proposta sobre como prototipar uma versão funcional do desacoplamento progressivo: https://t.co/tJxT66cKoy #drupal
— Dries Buytaert (@Dries) 11 de dezembro de 2015
Tanto o WordPress quanto o Drupal estão atualmente engajados na luta para dar o salto tecnológico para fornecer mais experiências de aplicativos para os usuários. A conversa em torno da dissociação da arquitetura do Drupal é importante para os desenvolvedores do WordPress seguirem e aprenderem.
