Les frameworks WordPress obtiennent une nouvelle maison confortable – IncludeWP

Publié: 2016-07-27

Plus tôt cette année (mars 2016), l'équipe de révision des plugins a publié une déclaration sur make.wordpress.org indiquant que les frameworks ne sont plus autorisés dans le référentiel officiel des plugins.

Nous avons décidé de prendre sur nous de créer un référentiel digne de ce nom pour les frameworks WordPress et avons créé IncludeWP. Une maison, ou plutôt un classement, pour afficher tous les frameworks open-source pour les développeurs de plugins et de thèmes WordPress. Un guichet unique permettant aux développeurs d'évaluer ce qui existe actuellement sur le marché.

Cela avait commencé comme un projet parallèle de week-end amusant et rafraîchissant que l'équipe avait décidé de mettre en place il y a trois semaines, et le plan était de le publier immédiatement. Mais, au fil des années, j'ai pris l'habitude de ne rien publier avant d'avoir reçu des commentaires de personnes en qui j'ai confiance, alors j'ai décidé de d'abord piquer quelques-uns de mes amis de la communauté WordPress.

Nous avons reçu d'excellents commentaires et quelques suggestions d'interface utilisateur, mais un commentaire a attiré le plus mon attention : Luca Fracassi d'Addendio a déclaré : "Vova, ce serait super cool si je pouvais cliquer sur un framework et voir quels plugins et thèmes l'utilisent réellement. .”

« Merde ouais ! Ce serait génial." Je me suis dit. Mais il n'y a aucun moyen que nous passions notre temps à rechercher et à ajouter manuellement ces plugins et thèmes.

Le référentiel IncludeWP avait commencé comme un projet parallèle de week-end amusant et rafraîchissant pour l'équipe Freemius.Tweet

Après quelques allers-retours avec Luca, nous avons réalisé que nous pouvions tirer parti des API et du SVN de WordPress.org pour identifier automatiquement les plugins et les thèmes associés aux frameworks dans WordPress.org. Nous avons donc décidé d'unir nos forces.

Luca a passé quelques jours à développer une logique d'identification de framework et l'a exécutée sur .org, et a gentiment exposé un point de terminaison d'API personnalisé pour que nous puissions consommer ces données. Nous avons exploité le point de terminaison de Luca pour récupérer les données des plugins et des thèmes de WordPress.org et les avons présentées sous la page du framework.

Cadre CMB2

Plugins et thèmes sur WordPress.org qui utilisent CMB2

Il nous a fallu encore une semaine pour le finaliser, mais maintenant il est 10 fois plus puissant ! Les développeurs peuvent réellement voir quels autres produits utilisent le framework. Et dans l'esprit de l'open-source, il est disponible pour un usage public sur GitHub.

Pourquoi les frameworks, SDK et bibliothèques WordPress sont géniaux ?

La réutilisation du code est géniale ! Cela fait en fait partie des fondements du développement. Aussi simple que cela. Regardez WooCommerce, la plate-forme de commerce électronique en ligne la plus populaire, qui a commencé comme un fork de Jigoshop.

En tant que développeurs, nous essayons d'optimiser notre propre code et de nous assurer qu'il n'y a aucune redondance. Mais quand il s'agit du travail des autres développeurs, nous sommes soudainement très pointilleux.

En tant que développeur, je sais ce que vous pensez…

"Personne ne peut écrire de code comme moi." Flash info : il existe de nombreux développeurs doués, alors arrêtez d'être snob et commencez à réutiliser !

De plus, certains frameworks sont utilisés par des milliers de développeurs, déployés sur des centaines de milliers de sites Web et fonctionnent en production depuis de nombreuses années. Il est très probable que ces bibliothèques soient bien plus résistantes aux bogues que votre code nouvellement écrit.

"Je peux le construire moi-même, je n'ai besoin d'aucun cadre" - Oui, vous pouvez ! Mais pourquoi? Pourquoi voudriez-vous réinventer la roue? Je comprends; il y a une courbe d'apprentissage quand ce n'est pas votre code. Mais d'un autre côté, apprendre un framework avec une documentation solide sera certainement plus rapide que de tout développer par vous-même, à partir de zéro.

« Pourquoi ai-je besoin de frais généraux ? Je n'utilise qu'un petit sous-ensemble de ce que la bibliothèque gère. Hack, le framework est tellement gonflé, il est plus gros que mon plugin !” – La plupart des plugins commencent par une toute petite fonctionnalité. Peut-être qu'aujourd'hui, c'est tout ce dont vous avez besoin, mais à mesure que votre plugin ou votre thème WordPress évolue, vous ajouterez probablement plus de choses. Avoir des bases solides vous facilitera la vie et vous fera gagner beaucoup de temps à l'avenir. Essayez de planifier à long terme et choisissez un cadre qui correspond le mieux à vos besoins et à votre feuille de route.

En bout de ligne - arrêtez de perdre du temps à réécrire les mêmes choses encore et encore. Il y a environ 20 frameworks différents qui gèrent les champs personnalisés

Pourquoi avons-nous décidé de rendre le projet open-source ?

L'une des raisons pour lesquelles nous avons commencé avec Freemius pour WordPress est sa formidable communauté et sa mentalité open source. Nous croyons fermement à l'open source et à sa puissance, et c'est l'une de nos façons de redonner à l'écosystème.

Deuxièmement, je prêche sur la réutilisabilité du code. Le moins que je puisse faire est de donner la possibilité aux autres développeurs de réutiliser notre code pour leurs projets. En réutilisant cette base de code, tout le monde peut facilement créer un mini-site de liste de type de catégorie similaire pour les dépôts GitHub.

En réutilisant cette base de code, tout le monde peut facilement créer un mini-site de liste de type de catégorie similaire pour les dépôts GitHub.Tweet

Un écueil du framework WordPress – Versioning

WordPress n'est pas un système d'exploitation, et il n'y a pas de silos entre les différents plugins et thèmes. De plus, le noyau de WordPress n'a pas de mécanisme de dépendance des bibliothèques en place. Cela signifie que si deux plugins utilisent le même framework avec des versions différentes, cela peut déclencher des problèmes de rétrocompatibilité, générer des erreurs et, dans le pire des cas, casser complètement le site.

Alors suivez mon conseil amical : avant de choisir votre framework, bibliothèque ou SDK préféré, vous devez vous assurer qu'il gère la gestion des versions.

Vous devez vous assurer que le framework que vous avez choisi gère la gestion des versions.Tweet

Comment choisir les bons frameworks pour votre plugin ou votre thème

En fait ça dépend.

Si je commençais un nouveau plugin ou thème WordPress, je regarderais ce qui suit (pas nécessairement dans cet ordre) :

  • Je voudrais d'abord vérifier ce qui existe sur le marché pour comprendre les différents ensembles de fonctionnalités et de fonctionnalités que les frameworks offrent.
  • J'examinerais certainement la popularité des projets. Les projets les plus populaires ont probablement une communauté plus forte derrière eux, ce qui signifie qu'il devrait être plus facile d'obtenir de l'aide/des conseils. Cela signifie aussi probablement que les principaux bogues du framework ont ​​déjà été éliminés.
  • Je passerais plus de temps à examiner de nouveaux cadres. Au fur et à mesure que les pratiques de développement web progressent. De plus, le cœur de WordPress évolue, de nouveaux frameworks peuvent être plus efficaces, tirer parti de nouveaux mécanismes de base – faire plus avec moins de code.
  • Je demanderais à mes amis développeurs de la communauté WordPress - des personnes en qui j'ai confiance et qui peuvent me fournir des commentaires sincères basés sur leur expérience.

J'ai un cadre ! comment puis-je l'ajouter à IncludeWP ?

Peasy facile! Le site Web est un projet open-source sur GitHub, il suffit de bifurquer le dépôt IncludeWP, d'ajouter votre framework en tant que <nom>.php dans le dossier src/frameworks et de soumettre une demande d'extraction.

Assurez-vous de suivre quelques directives simples :

  • GPL : Le framework doit être sous licence GPL, de sorte que les plugins et les thèmes qui l'utilisent peuvent être répertoriés sur WordPress.org (un framework non-GPL rend le plugin non-GPL).
  • GitHub : le framework doit avoir un référentiel public sur GitHub auquel nous pouvons nous connecter et extraire des statistiques.
  • Respectez le format : remplissez tous les mêmes champs que les autres frameworks dans src/frameworks.
  • WordPress.org (facultatif) : si le framework est déjà répertorié en tant que plugin sur WordPress.org, veuillez ajouter une référence au slug du plugin.
  • Brève description : faites en sorte que la description de la page d'aperçu soit courte et agréable.

Alors, quelle est la prochaine étape ?

Partager le projet IncludeWP

C'est maintenant à vous de passer le mot à la communauté. Parlez-en à vos amis, partagez-le sur Twitter, partagez le projet sur GitHub… et réutilisez !