Cosa ti piace di più di ApostropheCMS?
Un po' di retroscena sul perché abbiamo iniziato a usare ApostropheCMS. La maggior parte dei nostri progetti, o più specificamente, i nostri clienti, richiedono un modo per cambiare facilmente il contenuto del sito, cioè testo, immagini, stili, ecc. Beh, è un'idea o un requisito ovvio, si potrebbe pensare. Tuttavia, se sei abituato a lavorare con framework front-end come Vue o React, il contenuto è gestito direttamente tramite un database o, nei casi migliori, c'è un middleware/API. Craft, Sanity, Contentful e altri dell'ecosistema JAMstack sono esempi di tali strumenti CMS che possono essere "collegati" e permettono all'utente finale di gestire il contenuto tramite un'interfaccia più amichevole. Questi sono ottimi ma richiedono tempo per essere implementati dal punto di vista dello sviluppo. Potremmo potenzialmente optare per i cosiddetti "giardini chiusi" come Wix o Squarespace che sono tecnicamente editor WYSIWYG completi. Questi sono ottimi per sviluppi rapidi di siti web. Tuttavia, hanno quasi zero flessibilità in termini di personalizzazione. Anche Webflow non è sufficiente poiché è limitato su come i dati sono gestiti (ad esempio, nessuna internazionalizzazione) e, cosa più importante, non puoi modificare il codice come preferisci.
E poi c'è WordPress, il CMS su cui è costruito circa un terzo dei siti web attuali di Internet. WordPress è un po' un mostro con la sua vasta libreria di plugin. Da un lato, può fare molte cose bene se sai quali plugin usare e come usarli efficacemente in conglomerazione. Ma sia l'utente che lo sviluppatore possono incontrare ostacoli (o perdersi) quando cercano funzionalità personalizzate che WordPress stesso o la sua gamma di plugin non offre.
Pensiamo che ApostropheCMS colmi il divario tra un'interfaccia facile da usare e fornire ancora libertà allo sviluppatore di aggiungere script personalizzati, librerie, framework, ecc. così come modificare il codice sorgente sottostante. Dovremmo fermarci qui per un momento e apprezzare veramente come ApostropheCMS gestisce la "gestione dei contenuti". È un esempio da manuale di un editor WYSIWYG con capacità di modifica in contesto/in pagina. Non c'è un'applicazione dashboard separata per accedere ai dati - la maggior parte dei dati può essere cambiata tramite una finestra modale o direttamente sulla pagina. È intuitivo come ci si aspetterebbe - seleziona un testo e riscrivilo. O hai bisogno di caricare un'immagine per il tuo blog o costruire un modulo? Nessun problema! Certo, non è sempre così semplice, ma è qui che lo sviluppatore può brillare apportando le modifiche necessarie nel codice e aggiungendo quasi qualsiasi funzionalità richiesta dall'utente finale. Non ci sono limiti in quanto l'intera piattaforma è costruita con pacchetti software popolari (in particolare Node.js, Express, Nunjucks e MongoDB).
Inoltre, dietro il progetto ApostropheCMS c'è un grande team di persone che ascoltano attentamente i loro utenti così come una comunità di sviluppatori in crescita. Qualsiasi problema urgente può essere discusso con il team principale su un canale Discord. E qualsiasi aggiunta o correzione di funzionalità può essere proposta su un repository GitHub. Esattamente ciò che ci si aspetterebbe da una comunità collaborativa che spinge costantemente la piattaforma (open-source!) a standard più elevati. Recensione raccolta e ospitata su G2.com.
Cosa non ti piace di ApostropheCMS?
ApostropheCMS è eccellente in ciò che può fare di default. Tuttavia, una volta che c'è bisogno di aggiungere o estendere la funzionalità, inizia la vera sfida. Nella maggior parte dei casi, dobbiamo immergerci a fondo per ottenere determinati dati (che generalmente non sono disponibili tramite la variabile di dati di Nunjucks) dal database. Al momento, dobbiamo estendere la funzione `construct()` per ottenere ciò. Sarebbe bello avere un data store in stile Vuex e un recupero dati in stile Axios sul lato client (o forse anche sul lato server?). O, in altre parole, un sistema di operazioni CRUD sui dati più semplice e universale. A differenza di altri framework, ci siamo persi nel ciclo di vita dell'applicazione. Alcuni dei nostri colleghi junior erano spesso incerti su quali parti del codice fossero lato server e quali fossero lato client. Inoltre, ci sono così tanti metodi per ogni modulo (+ considera l'ereditarietà) utilizzati nel progetto. Ci vuole tempo per il sviluppatore per comprendere appieno il loro funzionamento e/o scopo. Infatti, la curva di apprendimento è relativamente ripida per utilizzare ApostropheCMS in modo efficace. Alla fine, si tratta di leggibilità ed estensibilità del codice che pensiamo potrebbero essere migliorate. Vorremmo sottolineare che questa è la nostra esperienza con A2; A3 potrebbe adottare un approccio migliore. È anche importante notare che la documentazione di Apostrophe è ben scritta e aiuta molto a navigare attraverso i "meccanismi interni" del sistema stabilito. Recensione raccolta e ospitata su G2.com.