Qu'aimez-vous le plus à propos de ApostropheCMS?
Un peu d'histoire sur pourquoi nous avons commencé à utiliser ApostropheCMS en premier. La plupart de nos projets, ou plus spécifiquement, nos clients, nécessitent un moyen de changer facilement le contenu sur le site, c'est-à-dire le texte, les images, les styles, etc. Eh bien, c'est une notion ou une exigence évidente, penseriez-vous. Cependant, si vous êtes habitué à travailler avec des frameworks front-end tels que Vue ou React, le contenu est soit géré directement via une base de données, soit, dans de meilleurs cas, il y a un middleware/API. Craft, Sanity, Contentful et d'autres de l'écosystème JAMstack sont des exemples de tels outils CMS qui peuvent être "branchés" et permettent à l'utilisateur final de gérer le contenu dans une interface plus conviviale. Ceux-ci sont excellents mais prennent du temps à mettre en œuvre d'un point de vue développement. Nous pourrions potentiellement opter pour les soi-disant "jardins fermés" tels que Wix ou Squarespace qui sont techniquement des éditeurs WYSIWYG complets. Ceux-ci sont excellents pour des développements de sites web rapides. Cependant, ils ont presque zéro flexibilité en termes de personnalisation. Webflow ne convient pas non plus car il est limité sur la façon dont les données sont gérées (par exemple, pas d'internationalisation) et plus important encore, vous ne pouvez pas modifier le code comme vous le souhaitez.
Et puis il y a WordPress, le CMS sur lequel environ un tiers des sites web actuels de l'Internet sont construits. WordPress est un peu un monstre avec sa grande bibliothèque de plugins. D'une part, il peut faire beaucoup de choses bien si vous savez quels plugins utiliser et comment les utiliser efficacement en conglomération. Mais à la fois l'utilisateur et le développeur peuvent rencontrer des obstacles (ou se perdre) lorsqu'ils recherchent des fonctionnalités personnalisées que WordPress lui-même ou sa gamme de plugins n'offre pas.
Nous pensons qu'ApostropheCMS comble le fossé entre une interface facile à utiliser et offrant toujours la liberté au développeur d'ajouter des scripts personnalisés, des bibliothèques, des frameworks, etc. ainsi que de modifier le code source sous-jacent. Nous devrions faire une pause ici un peu et vraiment apprécier comment ApostropheCMS gère la "gestion de contenu". C'est un exemple classique d'un éditeur WYSIWYG avec des capacités d'édition en contexte/sur la page. Il n'y a pas d'application de tableau de bord séparée pour accéder aux données - la plupart des données peuvent être modifiées via une fenêtre modale ou directement sur la page. C'est aussi intuitif que vous l'attendriez - sélectionnez un texte et réécrivez-le. Ou besoin de télécharger une image pour votre blog ou de créer un formulaire ? Pas de problème ! Bien sûr, ce n'est pas toujours si simple, mais c'est là que le développeur peut briller en apportant les modifications nécessaires dans le code et en ajoutant presque toutes les fonctionnalités requises par l'utilisateur final. Il n'y a pas de limites en place car toute la plateforme est construite avec des packages logiciels populaires (notamment Node.js, Express, Nunjucks et MongoDB).
De plus, derrière le projet ApostropheCMS se tient une grande équipe de personnes qui écoutent attentivement leurs utilisateurs ainsi qu'une communauté de développeurs en pleine croissance. Tous les problèmes urgents peuvent être discutés avec l'équipe centrale sur un canal Discord. Et toutes les ajouts de fonctionnalités ou corrections peuvent être proposés sur un dépôt GitHub. Exactement ce que vous attendez d'une communauté collaborative qui pousse constamment la plateforme (open-source !) à des normes plus élevées. Avis collecté par et hébergé sur G2.com.
Que n’aimez-vous pas à propos de ApostropheCMS?
ApostropheCMS est excellent dans ce qu'il peut faire par défaut. Cependant, une fois qu'il est nécessaire d'ajouter ou d'étendre des fonctionnalités, le véritable défi commence. Dans la plupart des cas, nous devons plonger profondément pour obtenir certaines données (qui ne sont généralement pas disponibles via la variable de données Nunjucks) de la base de données. En ce moment, nous devons étendre la fonction `construct()` pour y parvenir. Ce serait bien d'avoir un magasin de données de style Vuex et une récupération de données de style Axios côté client (ou peut-être même côté serveur ?). Ou, en d'autres termes, un système d'opérations CRUD de données plus simple et plus universel. Contrairement à d'autres frameworks, nous avions l'habitude de nous perdre dans le cycle de vie de l'application. Certains de nos collègues juniors étaient souvent incertains des parties du code qui sont côté serveur et des parties qui étaient côté client. De plus, il y a tellement de méthodes pour chaque module (+ considérer l'héritage) utilisées à travers le projet. Il faut du temps pour que le développeur comprenne pleinement leur fonctionnement et/ou leur objectif. En effet, la courbe d'apprentissage est relativement raide pour utiliser efficacement ApostropheCMS. En fin de compte, cela se résume à la lisibilité et à l'extensibilité du code que nous pensons pouvoir être améliorées. Nous tenons à souligner que c'est notre expérience avec A2 ; A3 peut adopter une meilleure approche. Il est également important de noter que la documentation d'Apostrophe est bien écrite et qu'elle aide grandement à naviguer à travers les "mécanismes internes" du système établi. Avis collecté par et hébergé sur G2.com.