Ciao a tutti.

Sto sviluppando un micro-framework in javascript, il framework usa dei package per organizzare le librerie ed è diviso in più file (Uno per classe).

Data l'organizzazione modulare, ho implementato una funzione per la gestione delle inclusioni che ho chiamato include().

include() importa solo le librerie del framework e lo fa via XHR (con chiamate sincrone), passando poi alla funzione eval() il risultato della chiamata in caso di successo.

Ora, so che non dovrei farlo in teoria e rispetto di tecnologia/standard/accessibilità/sicurezza/statistica, perche:
- js è un linguaggio lato client interpretato dal browser dell'utente e non da una VM dedicata al linguaggio.
- le librerie andrebbero importate una volta sola nell'HTML utilizzando il tag script.
- usando chiamate sincrone dopo il caricamento della pagina rischio caricamenti prolungati - o peggio un crash del browser - quando l'utente a ragione non se li aspetta.
- passare ad eval() il risultato della richiesta è un cazzotto in faccia alla sicurezza, anche se le chiamate sono limitate allo stesso dominio.
- una percentuale di lobotomizzati..ehm...utenti non trascurabile, usa quella m***a fumante di internet explorer che da domani potrebbe tirare fuori un nuovo e malefico componente activeX che mi costringe a riscrivere le mia libreria.

Il problema è che questi paletti derivano da esperienze personali, in rete ho trovato diverse implementazioni della stessa idea, ma tutte consistono nello stampare il tag script tramite js, pittosto che includerlo con ajax.
Inoltre nessuna delle librerie di terze parti che ho visto finora presenta nulla di simile nelle proprie API.

Sapreste darmi un feedback a riguardo?

Grazie in anticipo

Noskilled