Bueno, en mi trabajo he propuesto lo siguiente para tener un buen manejo de nuestro Javascript.
Esta es nuestra estructura:
Código:
Bueno ese es un ejemplo de la estructura que propuse.#Class leimnud.js jscripts/leimnud/core___/leimnud.js ---------------/samples/implementation.html -----------------------/modules/ #modules for Class leimnud.js -------------------------------/modal/core/modal.js -------------------------------/rpc__/core/rpc.js #Class json.js -------/json___/core___/json.js ---------------/samples/implementation.html
El funcionamiento sería lo siguiente.
Código PHP:
#Al principio de cualquier página
var leimnud= new maborak();
leimnud.loadModules ="panel,rpc,modal,other";
leimnud.onLoadModules=launchThisFunction;
# Lo que esto hará será Cargar los modulos panel,rpc,modal,etc.
# en tiempo de ejecucion
# para luego llamar una funcion que comenzará lo que LA PAGINA REQUIERA
sample:
Código PHP:
# file: panel.js
maborak.prototype.modules.panel=function()
{
this.blabla=4545;
}
# Por lo que en el Entorno de trabajo uno pueda usar
# var algunPanel= new leimnud.modules.panel();
# ... blabla
Código PHP:
leimnud.loadScript({
module:"suggest,validator",
onLoad:function(){ alert("modulos cargados, puedo comenzar a usarlos"); }
});
Código PHP:
leimnud.unloadScript({
// module:"panel",
file :"processmap"
});
Y muchos otros métodos mas (manejo de eventos, rpc, etc);
Con esto tengo la ventaja de que mi Javascript solo cargará Módulos necesarios para su ejecucion y no así tooodo el javascript.
Y es tambien ese el problema... porque si mi framework me genera un HTML
Código HTML:
<script type="text/javascript" src="jscripts/leimnud/core/leimnud.js"></script> <script type="text/javascript" src="jscripts/leimnud/core/modules/panel/panel.js"></script> <script type="text/javascript" src="jscripts/leimnud/core/modules/modal/modal.js"></script> <script type="text/javascript" src="jscripts/leimnud/core/modules/rpc/rpc.js"></script>
- Que no se carguen todos los javascript (IE soporta solo 2 threads a la vez).
- Se haga mas lenta la aplicacion.
Por por ejemplo, DOJO usa la misma lógica pero... por experiencia de los developers de mi trabajo dijeron que ERA LENTIIISIMO.
Entonces la pregunta, deberia olvidar todo esto y cargar todo mi framework y modulos en un solo archivo Javascript?
(O conocen alguna otra estructura) || modelo, para... hacer esto?
connection closed.