O debate sobre o WordPress Core JavaScript Framework esquenta, os contribuidores restringem a discussão para reagir vs. Vue
Publicados: 2017-05-31
Os principais colaboradores do WordPress se reuniram esta manhã para continuar a discussão sobre a seleção de uma nova estrutura JavaScript para uso com novos recursos principais. A discussão no post Make/Core intensificou-se durante o fim de semana com mais proponentes do Vue.js comentando para adicionar seus pensamentos.
Adam Silverstein e Andrew Duthie facilitaram a reunião desta manhã e começaram abrindo a discussão para incluir outras estruturas como Preact, Angular e Ember. No entanto, a discussão rapidamente se estreitou para React vs Vue.
Silverstein incentivou os participantes a lembrar que a nova estrutura é para uso com novos recursos, como o novo editor, e que eles continuarão a usar o Backbone quando for a ferramenta certa, bem como em JavaScript existente. Ele também enfatizou que a discussão se refere a uma estrutura para núcleo e os desenvolvedores são livres para usar qualquer estrutura que escolherem para construir plugins ou temas.
Os proponentes do Vue.js consideram a “facilidade de aprendizado” um fator importante na seleção de uma nova estrutura
A facilidade de aprendizado não está entre os contribuidores de critérios identificados para selecionar uma nova estrutura, mas é uma das principais preocupações dos proponentes do Vue.js.
“O Vue pode fazer tudo o que o React pode fazer e é muito mais acessível”, disse Justin Kopepasah. “Há uma grande adoção do Vue e o crescimento não mostra sinais de parar. Algumas das principais estruturas de código aberto adotaram o Vue e são usadas pelas três principais empresas de tecnologia da China (incluindo o Alibaba). Embora eu concorde que o React também é uma boa escolha, não é altamente acessível por novos desenvolvedores e tem o Facebook por trás dele, o que pode ser muito alarmante para as pessoas de várias maneiras (não apenas tecnologia).”
Justin Tadlock, um colaborador principal cujo código e tutoriais ajudaram muitos desenvolvedores a aprenderem o WordPress, compartilhou pensamentos semelhantes no fim de semana no post Mare/Core:
Eu tentei React em algumas ocasiões. Mesmo com mais de 10 anos de experiência em programação, foi difícil grocar para mim. Não consigo imaginar tentar aprender isso como alguém novo no desenvolvimento do WP.
Vue é muito simples para começar a aprender. Eu tinha um pequeno aplicativo instalado e funcionando em minutos. Em algumas horas, eu estava construindo algumas coisas legais e relacionadas à forma sem os documentos.
Se dependesse inteiramente de mim, eu pressionaria o WP para construir seu próprio framework JS que resolvesse os problemas específicos do WordPress. Mas, se vamos escolher um framework existente, vá com o Vue.
Matias Ventura, engenheiro da Automattic e colaborador dos projetos Calypso e Gutenberg, é um defensor da adoção do React pelo WordPress. Ele afirma que considerar o que é mais fácil de aprender é o foco errado para determinar o que as futuras interfaces do WordPress precisarão.
“Na minha opinião, em vez de 'mais fácil de começar', precisamos olhar para paradigmas de programação robustos e uma abordagem expressiva para interfaces de codificação”, disse Ventura. “Isso é o que eu considero fundamentalmente do 'aprender JavaScript profundamente' de Matt – o corolário é que o WordPress se torna uma plataforma para ensinar JavaScript para novos programadores, e precisamos levar isso a sério, não apenas como uma conveniência para nós no curto prazo. ”
Ventura também observou que o WordPress historicamente não tem sido bem sucedido em atrair desenvolvedores JavaScript e as interfaces JS no núcleo carecem de contribuidores quando comparados ao lado do PHP.
“Temos a oportunidade de tornar o desenvolvimento do WordPress mais atraente para uma nova geração de desenvolvedores que aprenderam a codificar por meio de JavaScript”, disse Ventura. Ele encorajou outros participantes a examinar os tipos de interfaces que o WordPress precisa para modernizar e selecionar a melhor estrutura para lidar com eles no núcleo.
“O [argumento] 'mais fácil de começar' parece um pouco falacioso para mim”, disse Ventura. “Mais fácil para quem? A que custo aprender JavaScript corretamente? As demandas de interfaces ricas em aplicações web requerem uma compreensão mais profunda das tecnologias utilizadas. Isso não é algo que podemos evitar. JavaScript não pode mais ser visto como mero aprimoramento progressivo, pois é a linguagem na qual as interfaces modernas são expressas.”
Colaboradores estão preocupados com o fato de o React ser apoiado pelo Facebook
No momento, o React está mais estabelecido e mais amplamente adotado do que o Vue, mas os colaboradores estão preocupados com o fato de a estrutura ser apoiada e licenciada pelo Facebook. Além das preocupações com a interpretação da concessão de patente adicional do React, a empresa tem sido fonte de inúmeras controvérsias sobre censura, mineração de dados e privacidade, entre outras questões. Os oponentes não querem ver o WordPress engatar seu vagão ao Facebook usando React no núcleo.

“A adoção do React é muito mais do que adicionar uma biblioteca ao WordPress: é adicionar a cultura, as práticas de negócios e a base de código liderada por um gigante da tecnologia”, disse Justin Kopepasah. “Se incluirmos o React no Core, de certa forma estamos pedindo aos usuários (de proprietários de sites únicos a empresas) que aceitem que o Facebook tem um papel fundamental no futuro do WordPress. Tenho poucas dúvidas de que isso causará uma pausa para algumas empresas que consideram adotar o WordPress.”
No entanto, outros contribuidores estão preocupados com a longevidade do Vue.js, porque é muito dependente de seu criador Evan You. Você financia seus esforços no Patreon, mas o projeto não tem nenhum grande apoio corporativo.
“Não me sinto confortável em confiar em um projeto executado por uma única pessoa que pode desaparecer”, disse Ryan McCue, proponente do React e co-líder da WP REST API. “Ser administrado por uma corporação com interesse no jogo significa suporte de longo prazo e relativa estabilidade.” McCue também observou que o React tem uma “comunidade massiva de ensino e suporte para as pessoas aprenderem”.
Muitos sentem que a seleção do React como o novo JS Framework é uma conclusão inevitável
Apesar de todas as discussões nas reuniões e nas postagens Make/Core, muitos espectadores e membros da comunidade estão convencidos de que a escolha do WordPress React é uma conclusão precipitada. No início da discussão da semana passada, parecia que a maioria dos principais contribuidores são a favor do React, mas um forte contingente de proponentes do Vue acabou adicionando comentários à discussão.
Selecionar React parece ser a única opção viável quando os critérios desde o início incluem itens como “comprovado em um contexto WordPress” e “alinhamento com Calypso”. Muitos comentaram dizendo que o critério é tendencioso e assumem que a decisão já foi tomada pelos backchannels com uma discussão pública realizada para “ótica”. O engenheiro da Automattic, James Nylen, comentou na semana passada sobre um ticket aberto para o projeto Gutenberg, dizendo que “Por recente discussão no núcleo do Slack, o núcleo do WP basicamente decidiu adotar o React”.
“Se isso realmente era para ser uma discussão da comunidade, então por que está acontecendo agora?” O desenvolvedor do WordPress Christopher A. comentou em nosso post recente que resumiu a discussão inicial. “A escolha de uma estrutura de visão deveria ter acontecido antes que a primeira linha de Gutenberg fosse escrita. Era sabido desde o início que uma estrutura de visualização seria necessária. Era o desejo de Matt tirá-lo do chão o mais rápido possível. A melhor maneira de fazer isso foi utilizar desenvolvedores da Automattic que têm experiência com React.”
O WordPress está selecionando uma estrutura JavaScript em um momento em que as estruturas estão evoluindo rapidamente, mas os colaboradores envolvidos na decisão disseram que preservarão a capacidade dos desenvolvedores de temas e plugins usarem qualquer estrutura que escolherem para criar seus produtos. Nenhuma estrutura foi selecionada durante a reunião de hoje e Andrew Duthie disse que espera que a conversa continue na cúpula de contribuidores do WordCamp Europe.
“Quanto ao React vs Vue (vs Angular vs …), discutimos os argumentos a favor e contra cada um no bate-papo semanal, e estamos intencionalmente indo devagar”, disse Ryan McCue. “Os principais critérios que escolhemos vêm do que o projeto precisa e não têm a intenção de influenciar a decisão em uma direção específica. Calypso e outros projetos são um forte sinal para o React, mas não são o argumento final (se fossem, nem estaríamos discutindo isso).”
McCue disse que não vê o WordPress substituindo todo o administrador pelo Calypso de uma maneira que não permita que os desenvolvedores usem o que quiserem para suas próprias extensões. A decisão de adotar uma estrutura JavaScript para o núcleo é mais para facilitar o trabalho dos desenvolvedores do núcleo. Neste momento, os desenvolvedores principais que trabalham em novos recursos têm um conhecimento maior do React do que outros frameworks.
“No final das contas, precisamos tomar uma decisão sobre o que usar no núcleo, e essa decisão afeta diretamente as pessoas que trabalham no núcleo”, disse McCue. “Escolher um framework em detrimento de outro não significa que os outros sejam piores, somos apenas nós (como principais contribuidores) tentando tornar nosso próprio desenvolvimento mais fácil.”
Um resumo da discussão deve ser postado no blog Make/Core em breve e a discussão sobre a seleção de uma nova estrutura JavaScript continuará em reuniões futuras.
