Vai al contenuto

🧭 HixStyle - Roadmap

Una delle caratteristiche di HIX è la capacità di permettere a chiunque di creare un server personalizzato, definendone le route, le configurazioni, le funzioni, i middleware, i processi,... in sostanza tutto ciò che un'applicazione web ha, tutto integrato.

Un altro modo è configurarlo in modalità HixStyle, seguendone il pattern, e uno dei vantaggi che offre è poter configurare un server HIX standard in modo che si adatti a un'intera applicazione tramite la configurazione data-driven.

HixStyle permette diversi modi di plasmare l'intera applicazione. Come abbiamo visto nei capitoli precedenti, ha una propria architettura e struttura per offrire un sistema comune a tutti. Una di queste funzionalità è la capacità di definire diverse funzionalità tramite file di configurazione.

Config

Alla root del tuo progetto avrai un file config.json in cui imposterai i parametri principali che configureranno la tua applicazione: set Harbour, ddriver, configurazioni del database, diverse chiavi (session, jwt, csrf,...).

loaders

I loaders sono le funzioni che vuoi precaricare in HIX per usarle dalla tua applicazione. All'interno della struttura di cartelle che definisci quando usi HixStyle, se hai una cartella /loaders, HIX caricherà tutti i file *.prg che hai al suo interno all'avvio del server. Il server compilerà e aggungerà alla mappa interna dei simboli le funzioni che hai definito.

Se un modulo incontra un errore durante la compilazione e/o il caricamento, HIX non si avvierà.

middlewares

I middleware, come i loaders, saranno situati nella loro cartella /middlewares, e a differenza della cartella loaders, ci sarà un file config.json che indica quali file nella cartella saranno caricati e come ogni middleware sarà configurato. Nella sezione di aiuto questo è ben definito.

routes

Le route possono essere definite in file JSON che saranno situati nella cartella /routes. Puoi avere le route in un unico file o suddividere in più file. Quando HIX si avvia, leggerà tutti i file JSON dalla cartella /routes e inizializzerà il server.

Prepararsi per l'AI

Quale vantaggio offre questo sistema di configurazione?

Uno dei vantaggi che offre è che, a partire da un server che hai, sia tuo che di terze parti, il server sarà già pronto, testato, e dovrai solo mappare come vuoi che funzioni senza bisogno di ricompilare il server.

D'altra parte, e forse uno dei più importanti, stiamo cercando di progettare uno strumento attraverso cui qualsiasi AI possa aiutarci nello scopo di progettare la nostra app usando HIX.

L'AI sarà in grado di avviare il server, fermarlo, modificare i diversi file di configurazione, rileggere e ricaricare le route via API verso il server, rimuovere qualche route, aggiungere qualche funzionalità, senza la necessità di ricompilare il nostro server. Questo è l'obiettivo nella prossima revisione di HIX.

La creazione di diverse /skills e /commands che ci permettano di avanzare in questa direzione è l'obiettivo principale.