È disponibile la versione 6.0 del progetto lsFusion, che sviluppa una piattaforma dichiarativa per la creazione di applicazioni aziendali e web. La piattaforma è adatta per lo sviluppo di applicazioni aziendali e contabilistiche e può essere utilizzata come alternativa aperta e gratuita alla piattaforma 1C. Il codice del progetto è scritto in Java e rilasciato con licenza LGPLv3. La soluzione ERP standard per le piccole e medie imprese MyCompany, che utilizza lsFusion, è distribuita con licenza Apache 2.0.
La piattaforma si basa sulla paridgima della programmazione combinatoria (function-level), che differenzia notevolmente lsFusion dalle piattaforme esistenti sul mercato (ad esempio SAP, Dynamics AX, 1C, .Net). All'interno si utilizzano anche programmazione orientata agli eventi, reattiva e ad oggetti. La sesta versione si concentra sul miglioramento dell'interfaccia web: integrazione profonda con Bootstrap, supporto per PWA e API moderne per browser, oltre ad un ampliamento degli strumenti per creare moduli e interfacce flessibili.
Le principali novità nella sesta versione di lsFusion:
- Integrazione con Bootstrap: tutti gli elementi di sistema (moduli, pulsanti, ecc.) utilizzano automaticamente le classi standard di Bootstrap; sono disponibili diverse tematiche predefinite; personalizzazione semplificata tramite l'attributo class.
- Nuovi componenti UI di selezione: interruttori, caselle di controllo, gruppi di pulsanti, pulsanti radio e menu a discesa in stile Bootstrap; il sistema può selezionare automaticamente il componente più appropriato in base alle statistiche sui valori possibili.
- Supporto per icone: sono incluse librerie di Bootstrap Icons e FontAwesome; implementata la selezione automatica delle icone in base a parole chiave e nomi degli elementi.
- PWA e API per browser: implementazione delle API Share, Notification e Push per la condivisione nativa, le notifiche e i messaggi push; possibilità di installare l'app come applicazione web progressiva.
- Assegnazione esplicita di tag HTML e tipi di input: supporto per i tipi date, time, color, range, month e un selettore personalizzato per l'anno; lo sviluppatore può specificare esplicitamente il tag e il tipo dell'elemento di input.
- Attributi delle proprietà estesi: aggiunti placeholder, pattern, regexp, tooltip, commento, così come impostazioni flessibili per la disposizione e l'allineamento tramite panelCaption* e panelComment*.
- Contenitori pop-up: caricamento posticipato del contenuto al clic, riducendo il carico sull'interfaccia e accelerando il rendering iniziale.
- Stili Tiny/Mini: dimensioni compatte degli elementi UI per minimizzare lo scrolling nelle applicazioni ERP.
- Pulsanti direzionali (arrow): stili speciali per visualizzare e gestire i processi nell'interfaccia.
- Modulo WebSocket: ricezione e invio di messaggi testuali e binari, eventi di apertura/chiusura delle connessioni e un modulo incorporato per gestire i socket.
- Lavoro avanzato con i dati:
- «Valori tabulari» nell'operatore FORMULA;
- Operatore VALUE per accedere ai valori correnti nel modulo;
- Opzioni TOP/OFFSET per la paginazione e la lettura in blocco (operatore FOR);
- Aggregati personalizzati in GROUP/PARTITION.
- Eventi aggiuntivi nel modulo: CHANGE BEFORE/CHANGE AFTER per le proprietà, ON COLLAPSE/ON EXPAND per i contenitori, con la possibilità di definire la fonte dell'evento (EDIT, BINDING, PASTE, CUSTOM).
- Assegnazione esplicita dei nomi nel DB: specifica dei nomi delle tabelle, indici e proprietà materializzate per uno schema dati più trasparente.
- Supporto per i raw-literals: sintassi speciale delle stringhe per lavorare con dati testuali senza escape.
Fonte: opennet.ru
