Motivazione e Obiettivi

Questa libreria nasce con lo scopo di semplificare la creazione delle interfacce di amministrazione negli applicativi web.

Punti di forza

  • Realizzata sfruttando i nuovi paradigmi del web, ad esempio React.

    • Questa scelta permette di utilizzare la vasta gamma di componenti disponibili nel proprio progetto e di sfruttare tutto il supporto della comunità.

  • Separata dall’implementazione del Backend

    • Essendo un’applicazione web a se stante, è svincolata dall’implementazione specifica del Backend. E' sufficiente che le API espongano i metodi necessari.

    • Ad esempio, è disponibile l’integrazione con le JSON API out-of-the-box, testata con un backend in Laravel, ma compatibile con ogni implementazione dello standard.

    • E' predisposta anche ad altre API, ad esempio con l’uso di GraphQL. E' in sviluppo anche un Client ufficiale.

  • Interfaccia grafica pronta per l’uso

    • Se hai trovato una perdita di tempo dovere, ogni volta, implementare di nuovo tutte le componenti dell’interfaccia per un nuovo Progetto, come Form, Tabelle di visualizzazione, Grafici di riepilogo, funzionalità di Import/Export.

    • La libreria fornisce già dei componenti già pronti per queste funzionalità comuni. Integra le tue API per i tuoi scopi, configura la visualizzazione, e sei pronto a rilasciare il tuo pannello di amministrazione.

  • Utilizzato in Produzione

    • Il progetto nasce per l’utilizzo in applicativi reali, già in produzione, presso la nostra azienda.

Alternative e differenze

Al momento esistono diverse soluzioni per la creazione di pannelli di amministrazione, tuttavia nel loro uso abbiamo trovato delle limitazioni che non le rendevano utili al nostro scopo.

  • admin-on-rest

    • Utilizza Material UI, al contrario Flamingo utilizza i componenti di Ant.Design

    • Non supporta le relazioni fra Risorse One-to-Many di default

    • E' incentrato esclusivamente sulle funzionalità CRUD.

    • Assenza di CLI per lo scaffolding e il bootstraping

  • AdminLTE

    • Fornisce solamente la componente grafica, lasciando allo sviluppatore il compito di integrare le API e le funzionalità specifiche.

  • Laravel Backpack

    • Non è una Single Page Application (SPA)

    • Richiede l’integrazione direttamente a livello di Modelli

    • E' una libreria a pagamento per scopi commerciali. Abbiamo voluto creare una soluzione completamente open source e gratuita.

Obiettivi

Ovvero, cosa è Flamingo.

Note This is just a stub.

Cosa non è questa Libreria

  • Non ci poniamo l’obiettivo di diventare una soluzione per le interfacce grafiche in generale. Componenti specifici non verranno integrati nella libreria, esistendo inoltre molti progetti che già si prefiggono questo scopo. -