elinor.it
Motivazione
Quando iniziai ad insegnare Matematica pensai di provare a realizzare strumenti informatici utili nella didattica.
Feci vari esperimenti e, visto l'esito positivo, mi sembrò utile metterli a disposizione dei miei studenti e di chiunque volesse utilizzarli.
Il canale web mi sembrò l'ideale, quindi realizzai elinor.it
Il framework
Per lo sviluppo dei siti avrei potuto utilizzare le tecnologie in voga all'epoca, ASP.NET o PHP.
Tuttavia queste tecnologie hanno caratteristiche che non mi aggradano molto.
Una è strettamente legata ad un sistema operativo e l'altra è un linguaggio interpretato che non si presta bene ad ottenere una
certa velocità di elaborazione necessaria in alcune applicazioni.
Inoltre volevo utilizzare un linguaggio compilato tradizionale che mi è più familiare.
Decisi quindi di sperimentare alcune tecniche di sviluppo utilizzate agli albori di Internet,
ma non per questo meno efficaci, e che tutt'ora hanno alcuni vantaggi.
Nel corso del tempo ho concepito e realizzato un framework in tecnologia CGI per la realizzazione di applicazioni web.
Gli obiettivi perseguiti nella concezione del framework sono stati sostanzialmente:
- la riduzione al minimo dei costi di infrastruttura adattandosi ai comuni servizi di hosting a basso costo
- la protezione del codice sorgente dei siti web
- la prestazione massima nell'elaborazione
- l'utilizzo nello sviluppo web di un linguaggio general purpose per applicazioni desktop
- il divertimento nel creare qualcosa
Inizialmente, quindi, questo framework era stato implementato in Delphi per Windows per poter essere utilizzato in web server dotati di ASP.NET.
Con l'abbandono di Delphi e il passaggio al gratuito e open source Lazarus Freepascal si è aperto il mondo dello sviluppo multipiattaforma.
Quindi non ero più limitato a Windows ma potevo affrontare lo sviluppo anche per Linux ed altri sistemi operativi.
Grazie ad una (minimale) riscrittura del codice da Delphi a Freepascal ho potuto migrare il framework da Windows a sistema operativo "qualsiasi".
Server web
Inizialmente lo sviluppo era vincolato all'utilizzo di server web Windows.
Questo mi limitava nella scelta dei servizi di hosting in cui depositare i miei siti web.
Con lo sviluppo multipiattaforma mi sono svincolato da questo requisito e ho potuto considerare delle alternative.
Dapprima ho separato la gestione del dominio dal servizio di hosting.
Quindi ho utilizzato un Rasberry Pi 3 come server web Linux in casa grazie ad una connessione Internet sufficientemente prestante
e ad un indirizzo IP fisso.
Successivamente sono passato ad un Virtual Private Server Linux che garantisce maggiore sicurezza, affidabilità e velocità della connessione,
e continuità nell'erogazione del servizio.
Il passaggio da hosting a server autogestito è stato possibile grazie all'abbattimento dei costi dei VPS.
Questo mi ha permesso anche di semplificare la gestione della parte applicativa e mi ha aperto alla possibilità di utilizzare
tutti gli strumenti disponibili per applicazioni desktop, acquisendo una enorme flessibilità.