WordPress Frameworks Obtém Uma Nova Casa Acolhedora – IncludeWP

Publicados: 2016-07-27

No início deste ano (março de 2016), a equipe de revisão de plugins emitiu uma declaração em make.wordpress.org que os frameworks não são mais permitidos no repositório oficial de plugins.

Decidimos criar um repositório digno de frameworks WordPress e criamos o IncludeWP. Uma casa, ou melhor, uma tabela de classificação, para exibir todas as estruturas de código aberto para desenvolvedores de plugins e temas do WordPress. Um balcão único para desenvolvedores avaliarem o que está atualmente no mercado.

Começou como um projeto paralelo divertido e refrescante de fim de semana que a equipe decidiu reunir três semanas atrás, e o plano era lançá-lo imediatamente. Mas, ao longo dos anos, adotei o hábito de não lançar nada antes de obter algum feedback sobre isso de pessoas em cuja opinião eu confio, então decidi cutucar alguns dos meus amigos da comunidade WordPress primeiro.

Recebemos um ótimo feedback e algumas sugestões de interface do usuário, mas um comentário chamou mais minha atenção: Luca Fracassi da Addendio disse: “Vova, seria super legal se eu pudesse clicar em um framework e ver quais plugins e temas estão realmente usando. .”

"Isso aí! Isso seria incrível.” Eu refleti para mim mesmo. Mas não há como gastarmos nosso tempo pesquisando e adicionando manualmente esses plugins e temas.

O repositório IncludeWP começou como um projeto paralelo divertido e refrescante de fim de semana para a equipe Freemius.Tweet

Depois de algumas idas e vindas com Luca, percebemos que podemos aproveitar as APIs e SVN do WordPress.org para identificar automaticamente a associação de plugins e temas com estruturas no WordPress.org. Então decidimos unir forças.

Luca passou alguns dias desenvolvendo uma lógica de identificação de estrutura e a executou em .org, e gentilmente expôs um endpoint de API personalizado para consumirmos esses dados. Aproveitamos o endpoint de Luca para buscar os dados de plugins e temas do WordPress.org e os apresentamos na página do framework.

Estrutura CMB2

Plugins e temas no WordPress.org que estão usando o CMB2

Demorou mais uma semana para finalizá-lo, mas agora está 10x mais poderoso! Os desenvolvedores podem realmente ver quais outros produtos estão usando o framework. E no espírito de código aberto, está disponível para uso público no GitHub.

Por que os frameworks, SDKs e bibliotecas do WordPress são ótimos?

A reutilização de código é incrível! Na verdade, é parte dos fundamentos do desenvolvimento. Tão simples como isso. Veja o WooCommerce, a plataforma de comércio eletrônico mais popular online, que começou como um fork do Jigoshop.

Como desenvolvedores, tentamos otimizar nosso próprio código e garantir que haja redundância zero. Mas quando se trata do trabalho de outros desenvolvedores, de repente somos muito exigentes.

Sendo um desenvolvedor, eu sei o que você está pensando…

“Ninguém pode escrever código como eu.” Novidades: existem muitos desenvolvedores talentosos por aí, então pare de ser esnobe e comece a reutilizar!

Além disso, alguns frameworks são usados ​​por milhares de desenvolvedores, implantados em centenas de milhares de sites e estão em produção há muitos anos. É muito provável que essas bibliotecas sejam muito mais à prova de bugs do que seu código recém-escrito.

“Eu posso construir sozinho, não preciso de nenhuma estrutura” – Sim, você pode! Mas por que? Por que você quer reinventar a roda? Entendi; há uma curva de aprendizado quando não é o seu código. Mas por outro lado, aprender um framework com documentação sólida certamente será mais rápido do que desenvolver tudo por conta própria, do zero.

“Por que eu preciso da sobrecarga? Eu uso apenas um pequeno subconjunto do que a biblioteca lida. Hack, o framework está tão inchado que é maior que o meu plugin!” – A maioria dos plugins começa com apenas uma pequena funcionalidade. Talvez hoje seja tudo o que você precisa, mas à medida que seu plugin ou tema do WordPress evolui, você provavelmente adicionará mais coisas. Ter bases sólidas facilitará sua vida e economizará muito tempo no futuro. Tente planejar a longo prazo e escolha uma estrutura que melhor atenda às suas necessidades e ao seu roteiro.

Conclusão – pare de perder tempo reescrevendo as mesmas coisas repetidamente. Existem cerca de 20 estruturas diferentes que lidam com campos personalizados

Por que decidimos abrir o código do projeto?

Uma das razões pelas quais começamos com o Freemius para WordPress é por causa de sua comunidade incrível e da mentalidade de código aberto. Acreditamos firmemente no código aberto e em seu poder, e essa é uma das nossas maneiras de retribuir ao ecossistema.

Em segundo lugar, estou pregando sobre a reutilização de código. O mínimo que posso fazer é fornecer a opção para outros desenvolvedores reutilizarem nosso código para seus projetos. Ao reutilizar essa base de código, todos podem criar facilmente um mini-site de listagem de tipo de categoria semelhante para repositórios do GitHub.

Ao reutilizar essa base de código, todos podem criar facilmente um mini-site de listagem de tipo de categoria semelhante para repositórios do GitHub.Tweet

Uma armadilha do framework WordPress – Versionamento

O WordPress não é um sistema operacional e não há silos entre os diferentes plugins e temas. Além disso, o núcleo do WordPress não possui um mecanismo de dependência de bibliotecas. Isso significa que, se dois plugins estiverem usando a mesma estrutura com versões diferentes, isso pode desencadear problemas de compatibilidade com versões anteriores, gerar erros e, na pior das hipóteses, quebrar o site completamente.

Portanto, siga meu conselho amigável: antes de escolher seu framework, biblioteca ou SDK favorito, verifique se ele lida com o controle de versão.

Você deve certificar-se de que o framework escolhido lida com versionamento.Tweet

Como escolher os frameworks certos para seu plugin ou tema

Bem, isto depende.

Se eu estivesse iniciando um novo plugin ou tema do WordPress, observaria o seguinte (não necessariamente nesta ordem):

  • Eu primeiro verificaria o que existe no mercado para entender o conjunto diferente de recursos e funcionalidades que os frameworks estão oferecendo.
  • Eu definitivamente examinaria a popularidade dos projetos. Projetos mais populares provavelmente têm uma comunidade mais forte por trás deles, o que significa que deve ser mais fácil obter ajuda/conselhos. Provavelmente também significa que os principais bugs do framework já foram eliminados.
  • Eu gastaria mais tempo examinando novos frameworks. À medida que as práticas de desenvolvimento web progridem. Além disso, o núcleo do WordPress está evoluindo, novas estruturas podem ser mais eficientes, alavancar novos mecanismos principais – faça mais com menos código.
  • Eu perguntaria aos meus amigos desenvolvedores da comunidade WordPress – pessoas em quem confio e que podem me fornecer feedback sincero com base em sua experiência.

Eu tenho um quadro! como posso adicioná-lo ao IncludeWP?

Mole-mole! O site é um projeto de código aberto no GitHub, basta fazer um fork do repositório IncludeWP, adicionar seu framework como um <name>.php na pasta src/frameworks e enviar um Pull Request.

Certifique-se de seguir algumas orientações simples:

  • GPL: O framework deve ser licenciado como GPL, então plugins e temas que o utilizam podem ser listados no WordPress.org (um framework não GPL torna o plugin não GPL).
  • GitHub: O framework deve ter um repositório público no GitHub ao qual possamos vincular e extrair estatísticas.
  • Atenha-se ao formato: Preencha todos os mesmos campos que os outros frameworks em src/frameworks.
  • WordPress.org (opcional): Se o framework já estiver listado como plugin no WordPress.org, adicione uma referência ao slug do plugin.
  • Breve descrição: Mantenha a descrição da página de visão geral curta e agradável.

Então o que vem depois?

Compartilhe o projeto IncludeWP

Agora é a sua vez de espalhar a palavra para a comunidade. Conte para seus amigos, compartilhe no Twitter, estrela o projeto no GitHub… e reutilize!