~ Netfluid

Open source technologies for enterprises

Framework

Dietro la maggior parte dei miei progetti, c'è il Netfluid framework, un tool inventato da me nel lontano 2009 e che ancora oggi aggiorno costantemente.
Si tratta principalmente di un kit di sviluppo per applicazioni business, una scatola degli attrezzi per costruire applicazioni web modulari ed ad altissime prestazioni.

Key features

Il cuore del framework è l'interfaccia HTTP: nella pratica si occupa di bindare un metodo ed i suoi parametri ad un URL, ideale per sviluppare siti web ed APIs.
Contiene inoltre:

Licenza

Netfluid framework è rilasciato sotto licenza MIT, i vecchi sorgenti rilasciati sotto diversa licenza sono ancora da intendersi sotto licenza AGPL.
Puoi trovare il framework su GitHub, su NuGet e sul gestore di pacchetti di Visual Studio.

Primi passi con il framework

Si può collegare un progetto sviluppato con Netfluid a qualunque tipo di piattaforma inclusi NGIX e OWIN.
Il metodo più veloce per iniziare subito a sviluppare rimane però l'auto hosting della propria web application.
Un singolo eseguibile conterrà sia il codice esposto sulla rete che un istanza del motore di Netfluid che si occuperà di servirlo ai client.

//Creiamo un nuovo host, assegnandogli i prefissi su cui dovrà rispondere
var coreHost = new NetfluidHost("http://scrappy.netfluid.org/","http://localhost/");

//Carichiamo i metodi che vogliamo esporre
coreHost.Map(Assembly.LoadFile(Path.GetFullPath("MyApp.dll")));

//Definiamo una pagina per le richieste 404 (opzionale)
coreHost.On404 += (x) => new MustacheTemplate("./views/404.html");

//Aggiungiamo una cartella pubblica per css, javascript, etc..
coreHost.PublicFolders.Add(new PublicFolder { RealPath = "./views/assets", VirtualPath = "/assets" });

//Iniziamo ad accettare richieste
coreHost.Start();

Prossimo: Definiamo i metodi da esporre ˃

Esporre dei metodi

Per esporre un metodo basta decorarlo attraverso l'attributo Route.
Netfluid si occuperà autonomamente di andare a creare gli endpoint necessari, transformare i valori della richiesta nei parametri necessari e di gestire i valori di ritorno.

Parametri

I parametri del metodo sono automaticamente estratti dai valori della richiesta e trasformati nel tipo adatto.
Il tipo Context costituisce un parametro di tipo particolare, qualunque parametro di questo tipo verrà riempito con il contesto attuale della richiesta.
Per permettere a Netfluid di trasformare correttamente il valore ricevuto dal client in un tipo definito da noi è sufficente dotare il nostro tipo di un metodo pubblico e statico chiamato Parse che data una stringa ci restituisca un istanza del nostro tipo.

Valori di ritorno

dsdssadasdsadsaddadsasdasdaaaaaaasadsadddddddsadsdasdaddasadssadsadsdadsadsadsadas

Primi passi con il framework

Si può collegare un progetto sviluppato con Netfluid a qualunque tipo di piattaforma inclusi NGIX e OWIN.
Il metodo più veloce per iniziare subito a sviluppare rimane però l'auto hosting della propria web application.
Un singolo eseguibile conterrà sia il codice esposto sulla rete che un istanza del motore di Netfluid che si occuperà di servirlo ai client.

//Creiamo un nuovo host, assegnandogli i prefissi su cui dovrà rispondere
var coreHost = new NetfluidHost("http://scrappy.netfluid.org/","http://localhost/");

//Carichiamo i metodi che vogliamo esporre
coreHost.Map(Assembly.LoadFile(Path.GetFullPath("MyApp.dll")));

//Definiamo una pagina per le richieste 404 (opzionale)
coreHost.On404 += (x) => new MustacheTemplate("./views/404.html");

//Aggiungiamo una cartella pubblica per css, javascript, etc..
coreHost.PublicFolders.Add(new PublicFolder { RealPath = "./views/assets", VirtualPath = "/assets" });

//Iniziamo ad accettare richieste
coreHost.Start();

Prossimo: Definiamo i metodi da esporre ˃