BracketSpace, une société de développement de logiciels basée sur WordPress, a publié Micropackage il y a quelques semaines. Le projet est une collection de référentiels open source avec du code réutilisable à inclure dans les plugins et thèmes WordPress. La bibliothèque dispose actuellement de 13 packages, dont un wrapper de système de fichiers, un système de modèles, un créateur de blocs Advanced Custom Fields, etc.

L’entreprise hors de Pologne est spécialisée dans l’externalisation de projets et le développement de plugins. Certains de leurs plugins les plus populaires incluent Advanced Cron Manager Pro et Notification, un plugin de notification personnalisé dans lequel le BracketSpace vend des extensions pro pour divers services.

Le projet Micropackage était motivé par les besoins de l’équipe et de ses projets. «Nous avons lancé le projet Micropackage pour éliminer nos propres démangeaisons», a déclaré Jakub Mikita, PDG de BracketSpace. «Au cours des dernières années de développement actif de plugins et de sites Web, nous avons remarqué que le maintien de la norme du code était très important pour la maintenabilité.» L’équipe BracketSpace copiait et collait du code entre les projets. Finalement, l’équipe s’est posée la question inévitable à laquelle la plupart des équipes de développement viennent – pourquoi ne pas diviser tout ce code en petits paquets et les conserver en un seul endroit? Ainsi, le projet Micropackage est né.

BracketSpace utilise tous les packages dans bon nombre de ses plugins et thèmes actuels car le code a été initialement extrait de ces projets. «Nous réécrivons maintenant l’un de nos plugins phares, Notification, en utilisant les micropackages et avons l’intention de créer chaque nouveau plugin et thème en les utilisant», a déclaré Mikita. «Et, comme ils sont faiblement couplés, il peut y avoir de nombreuses variations de configuration.

La gestion des packages et des dépendances est une partie standard du développement dans le plus grand monde de développement PHP. L’utilisation de packages est devenue de plus en plus standard car WordPress a commencé à utiliser des outils JavaScript modernes. Cependant, l’écosystème est généralement insuffisant lorsqu’il s’agit de packages PHP. Alors que de nombreux développeurs de plugins utilisent ces dépendances, la pratique n’est pas courante. WordPress n’a également aucune méthode intégrée de gestion des dépendances. La situation rend difficile pour des projets tels que Micropackage de gagner une réelle traction au sein de la communauté des développeurs WordPress.

Les packages disponibles

Le projet comprend 13 référentiels qui peuvent être inclus dans des plugins ou des thèmes WordPress via Composer. La plupart des packages sont actuellement disponibles sur le Page de micropackage sur Packagist. Plusieurs des packages sont essentiellement des wrappers pour diverses API WordPress pour une utilisation plus simple. Cependant, certains packages offrent de nouvelles fonctionnalités pour les développeurs.

Mikita a déclaré que les packages suivants sont les plus importants pour l’équipe:

  • DocHooks – Repo d’annotations de commentaires PHP qui prend en charge les filtres, les actions et les shortcodes.
  • Exigences – Vérificateur des exigences d’environnement pour les plugins.
  • Système de fichiers – Enveloppement simplifié autour de l’API WordPress Filesystem.
  • Modèles – Solution de base de création de modèles PHP qui prend en charge la transmission de données aux modèles.
  • Intégrations réactives – Package JavaScript pour rendre automatiquement toute intégration réactive.

Les référentiels ne s’arrêtent pas là. Ils ont construit d’autres wrappers pour les API WordPress, tels que la mise en cache, les scripts et l’internationalisation. L’équipe a également un créateur de blocs pour ACF qui permet aux développeurs de créer des blocs à partir de modèles.

BracketSpace a au moins cinq autres packages prévus pour le projet. Pour le moment, les packages ciblent principalement les développeurs WordPress. Cependant, Mikita a déclaré que l’équipe créera également des référentiels indépendants de la plate-forme chaque fois que possible. De cette façon, ils seront utiles aux développeurs au-delà de l’écosystème WordPress.


Source link