Nel corso del 2015 abbiamo sviluppato la terza versione del nostro framework.
Abbiamo scritto un nuovo articolo per documentare le novità del META-Sviluppo RAPIDO che ha raggiunto la version 5.0.
Per una panoramica aggiornata ti consigliamo di leggere l'articolo META-Sviluppo RAPIDO per Gestionali Web
Cos'è il META-Sviluppo RAPIDO?
Il META-Sviluppo RAPIDO è una libreria di funzionalità riusabili che aiuta noi sviluppatori a creare le soluzioni per i nostri Clienti riducendo i tempi e quindi i costi di sviluppo.
Per raggiungere questo obbiettivo, il META-Sviluppo RAPIDO deve automatizzare il più possibile i processi ripetitivi e deve aiutare lo sviluppatore nella gestione della complessità della soluzione che deve realizzare.
Purtroppo i framework liberamente disponibili sono anche piuttosto generici in quanto devono soddisfare un po' tutte le necessità degli sviluppatori e questo li rende meno utili del previsto.
Per questo motivo noi di Garda Informatica abbiamo deciso di creare il META-Sviluppo RAPIDO pensato specificatamente per la realizzazione di Web Application Enterprise. Esempi di queste web application possono essere: gestionali per la fatturazione, per la contabilità, per la gestione del magazzino, ERP, CRM, MRP, ecc. Grazie al nostro framework riusciamo pertanto a creare questo tipo di applicazioni molto agilmente e quindi siamo in grado di proporre un servizio di sviluppo software su misura, solitamente costoso, a prezzi vantaggiosi.
Volendo raggiungere il top dell'innovazione possibile abbiamo operato una riscrittura completa delle librerie del META-Sviluppo RAPIDO e nella sua terza versione abbiamo tentato di concentrare tutta la nostra esperienza fatta nel campo delle Web Application, delle Soluzioni Enterprise e delle App, in un unico prodotto.
Il risultato si è rivelato piuttosto soddisfacente. Tanto che in poco tempo abbiamo già realizzato diversi progetti con esso di cui discuteremo in articoli dedicati. In questo articolo ci limiteremo a illustrare tutte le caratteristiche salienti del META-Sviluppo RAPIDO e che vantaggi portano al Cliente sia dal punto di vista tecnico e di funzionalità sia dal punto di vista economico.
La terza versione del META-Sviluppo RAPIDO nasce con le seguenti caratteristiche nel suo DNA:
- Web: grazie a software come Gmail ormai ci si aspetta di poter accedere ai propri strumenti di lavoro ovunque ci sia una connessione internet e senza il bisogno di installare Client che vadano poi aggiornati. Il software deve sempre essere disponibile, non deve richiedere l'installazione di nulla e deve sempre essere aggiornato all'ultima versione. Questo è l'aspetto del Web che ci piace e che abbiamo voluto abbracciare con il META-Sviluppo RAPIDO.
- Multiutente: molti software vengono venduti con un prezzo che varia in base al numero di postazioni o utenti che lo utilizzeranno. Anche questo aspetto appartiene al software di ieri. Il software di oggi non costa in base al numero di utenti, semmai ciò che può costare di più è il servizio di hosting a causa del maggior numero di accessi e dello spazio richiesto, ma non il fatto che il software venga utilizzato da 1, 10, 1000 utenti. Un software sviluppato con il META-Sviluppo RAPIDO non risente del numero di utenti contemporaneamente collegati e quindi per noi il numero di utenti non è un costo e di conseguenza non lo è per i nostri Clienti.
- Gestione Avanzata dei Permessi: uno dei fiori all'occhiello del META-Sviluppo RAPIDO è proprio la gestione avanzata dei permessi legati ai profili utente. In base a come l'abbiamo progettato possiamo definire regole di accesso molto precise con una granularità che arriva alla gestione del singolo dato. Di seguito alcuni esempi:
- L'utente A non vede i prezzi;
- L'utente B vede solo i suoi Clienti;
- L'utente C può modificare l'Ordine solo se in Stato Aperto;
- L'utente D può modificare tutto tranne i Prezzi;
- L'utente E può vedere tutti gli elementi, ma solo i Prezzi dei suoi;
- L'utente F può modificare solo alcuni dei dati inseriti dall'utente G;
- L'utente H può inserire elementi, ma una volta inseriti non li può più modificare;
- Multidispositivo: ormai ciascuno di noi o quasi è dotato di smartphone o tablet. Per questo motivo abbiamo pensato il META-Sviluppo RAPIDO in modo che i software sviluppati funzionino da subito su PC e tablet. Inoltre con uno sforzo contenuto è possibile adattarlo anche per smartphone, modificando pertanto la propria resa grafica in base alla risoluzione a disposizione. Es.: laddove sul PC si vedrà una griglia, su mobile si vedrà una lista con un tipo di interazione più adatto ad un dispositivo touch.
- Multilingua: la globalizzazione richiede che il software, nel caso di servizi erogati tramite piattaforma web, parli la lingua dell'utente e per questo abbiamo integrato nel META-Sviluppo RAPIDO le migliori tecnologie e standard a supporto del multilingua e dei tool per le traduzioni come Poedit .
- AJAX: solitamente il software web viene associato mentalmente ad un'esperienza fatta di attese e caricamenti. Questo perché il software di ieri è stato sviluppato con l'idea che ad ogni click si debba ricaricare l'intera pagina quando magari vanno modificati solo due o tre campi. Per dare un'esperienza più vicina a quella dei software nativi abbiamo progettato il META-Sviluppo RAPIDO utilizzando la tecnologia AJAX e il concetto di Single Page Application: tutta l'applicazione viene disegnata da logiche che girano localmente al browser (Chrome, Firefox, IE, ecc.). L'unico scambio di dati che avviene col server è quello appunto dei dati, non delle interfacce. In questo modo la pagina non si ricarica mai e le attese sono ridotte al tempo minimo necessario per trasferire i soli dati di interesse. Detto in parole semplici: i software creati con il META-Sviluppo RAPIDO sono velocissimi.
- UI/UX: l'aspetto dell'interfaccia utente (UI) e dell'esperienza utente (UX) poggiano sulle solide basi di Bootstrap, un toolkit sviluppato da Twitter per realizzare Web Application dal design chiaro, pulito e moderno. I colori, i font, gli spazi, tutto è stato studiato per dare all'utente la massima usabilità e semplicità.
- Cloud: grazie ai nuovi servizi di hosting basati su Cloud abbiamo voluto sfruttare i vantaggi offerti dalla tecnologia di Amazon S3 pensata per lo storage di grossi quantitativi di dati come foto o documenti in modo sicuro e a prezzi vantaggiosi rispetto all'hosting tradizionale. Per questo motivo il META-Sviluppo RAPIDO si integra in modo trasparente con i servizi di hosting che offrono Amazon S3 come Aruba Cloud .
- Enterprise ready: oltre alle caratteristiche elencate, il META-Sviluppo RAPIDO supporta delle funzionalità pensate per il mondo Enterprise come l'esportazione e l'importazione dati nei formati CSV o Excel. L'esecuzione di elaborazioni complesse che impiegano diverso tempo, dette Elaborazioni Batch, senza bisogno che l'utente che le ha lanciate debba attendere il loro completamento. Il supporto per la modifica del database e del codice dell'applicativo senza interruzioni ovvero la possibilità di aggiornare il software senza bisogno di interrompere il lavoro degli utenti connessi.
Di seguito vengono analizzati gli elementi costituenti il META-Sviluppo RAPIDO ovvero i mattoncini con cui creiamo le soluzioni per i nostri Clienti.
Griglie#
Nella versione web per il desktop sono disponibili le così dette griglie o datatables. I dati delle tabelle vengono cioè rappresentati in strutture in cui sono presenti righe e colonne. Ogni riga è un record della tabella, ogni colonna è un campo della tabella. In questo modo è possibile visualizzare e operare su più record contemporaneamente.
Tutte le griglie create con il META-Sviluppo RAPIDO hanno le seguenti caratteristiche.
Tutte le colonne sono:
- Filtrabili con un filtro specifico per ogni tipo di dato es. Stringa, Intero, Decimale, Data, Booleano, Enumerato, Tag, Reference (Riferimento ad altra tabella).
- Ordinabili in senso ascendente o discendente. Inoltre è possibile stabilire degli ordinamenti multipli es. Azienda, Anno, Numero Ordine.
- Raggruppabili: è possibile fare dei raggruppamenti per una qualsiasi delle colonne presenti es. Clienti raggruppati per regione. Ogni gruppo calcola automaticamente i subtotali per le colonne numeriche come prezzi, quantità, ecc.
- Visualizzabili: è possibile stabilire quali colonne siano visibili e quali invece vogliamo nascondere poiché non ci interessano.
- Trascinabili nella posizione desiderata prima o dopo altre colonne.
Ogni griglia poi è Paginata in modo da poter gestire un numero illimitato di record senza perdere in prestazioni, con la possibilità di decidere il numero di record visualizzati per pagina (10, 25, 50 o 100).
Inoltre ogni griglia presenta in fondo delle Statistiche in base al tipo di colonna come il valore Massimo, il valore Minimo e il valore Medio. Utile per i costi, le quantità ecc.
In determinati contesti (es. Preventivi, Ordini, Fatture, Distinte, ecc.) è possibile collegare tra loro più griglie in modo da avere quelle che vengono dette relazioni Testata/Righe oppure Padre/Figlio oppure 1:N (Uno a Molti). Il collegamento è dato dal fatto che determinate griglie possono essere prefiltrate per i valori selezionati in altre. Quindi la griglia delle Righe delle fatture potrà essere prefiltrata in base alla Testata della fattura selezionata nella griglia delle Testate appunto.
Infine in ogni griglia ci possono essere dei bottoni con le seguenti funzionalità:
- Nuovo: per creare un nuovo elemento della griglia.
- Cancella: per cancellare uno o più elementi contemporaneamente.
- Esporta: per esportare i dati della griglia in file CSV o Excel utili per fare ulteriori elaborazioni o per stampe. I dati esportati sono comprensivi di intestazioni, raggruppamenti, subtotali e statistiche.
- Importa: per importare dati nella griglia secondo la funzionalità che abbiamo chiamato "Smart Import" in quanto in grado di mappare i campi di un file CSV generico sui campi del record della griglia.
Maschere dati#
Su ogni record di una griglia sono presenti dei piccoli bottoni con le funzionalità di Modifica, Copia e Cancella. Modifica e Copia, assieme al bottone Nuovo, aprono quella che viene chiamata Maschera Dati ovvero una maschera con tutti i campi della griglia pronti per essere editati.
Con il META-Sviluppo RAPIDO, ogni Maschera Dati ha le seguenti caratteristiche:
- Doppio controllo di correttezza dei dati inseriti lato Browser e lato Server sia per ridurre al minimo l'errore umano sia per impedire i tentativi di hacking del sistema da parte di malintenzionati.
- Doppio controllo sui permessi lato Browser e lato Server per lo stesso motivo.
- Filtri tra campi collegati es. Categoria e Sottocategoria. Se seleziono una Categoria, il campo Sottocategoria mi mostrerà le sole sottocategorie della categoria selezionata.
- Trascinamenti tra campi collegati es. CAP, Città e Provincia. Se seleziono la Città automaticamente vengono completati i campi CAP e Provincia.
- Autocompletamento per i campi che fanno riferimento ad altre tabelle es. Cliente.
- Chiamata tramite smartphone per i campi che contengono numeri di telefono o cellulare.
- Invio SMS tramite smartphone per i campi che contengono numeri di telefono o cellulare.
- Invio Email per i campi che contengono indirizzi email.
- Apertura pagine web per i campi che contengono indirizzi internet (link, URL).
Liste#
Come accennato precedentemente, nel caso di un progetto sviluppato anche per smartphone, laddove sul desktop viene mostrata una griglia su smartphone verrà mostrata una lista. Tale lista, non avendo a disposizione lo spazio presente su un monitor, mostra solo un sottoinsieme dei dati disponibili, quelli più significativi, e non avendo la paginazione permette il caricamento dei dati successivi man mano che si scorre con il tocco.
I Filtri disponibili sulla griglia restano disponibili anche nella lista, richiamabili da un apposito bottone.
Un particolare caso di Liste è quello a cascata. Un esempio di tale modalità di navigazione dei dati potrebbe essere quello della selezione di una particolare versione, di un particolare modello, di una particolare marca di prodotto (es. automobili).
Così, in sequenza, nella prima lista seleziono la marca, nella seconda il modello e nella terza la versione.
Matrice/Foglio di calcolo#
Una caratteristica interessante del META-Sviluppo RAPIDO è quella di riuscire a incorporare, dove richiesto o necessario, dei componenti a matrice utili per inserire grossi quantitativi di dati in modo rapido. L'esempio tipico è quello dei listini. Tipicamente un listino è fatto da diversi scaglioni e prezzi. In questo caso inserire i dati per entrambe questi attributi è più facile se si possono inserire uno di seguito all'altro senza dover cambiare schermata, come in un foglio Excel. Il nostro componente si comporta proprio in questo modo: combina i valori degli attributi di un elemento generando dinamicamente una matrice che può essere modificata e salvata nel suo insieme anche attraverso il Copia e Incolla direttamente da un foglio Excel.