Upgrade to Pro — share decks privately, control downloads, hide ads and more …

yOSONJS intro

Andrés
November 12, 2014

yOSONJS intro

yOSONJS basic use and workflow.

Andrés

November 12, 2014
Tweet

More Decks by Andrés

Other Decks in Programming

Transcript

  1. ➔ Administrador de módulos ➔ Código mantenible ➔ Mantiene tus

    aplicaciones escalables ➔ Una librería desarmable (por sus componentes) ➔ Liviano (~10kb) yOSONJS
  2. Principios de yOSON ➔ ¿Qué es un módulo? ➔ ¿A

    qué se orienta yOSON en el patrón modular? ➔ ¿Por qué usar ese patrón?
  3. Qué es un módulo? Es una unidad funcional independiente que

    es parte de la estructura en tu aplicación. módulo aplicación
  4. Los motivos por el uso de este patrón es: yOSON

    en el uso del patrón modular mantenibilidad portabilidad desacoplado
  5. Características ➔ Uso del patrón modular ➔ Ejecución síncrona de

    módulos ➔ Manejo de versionado de dependencias ➔ Manejo de cache de dependencias ➔ Ejecución de módulos por vistas ➔ Por defecto para uso con MVC
  6. Estructura de un módulo yOSON yOSON.AppCore.addModule("module-gallery", function(Sb){ var welcome =

    function(){ document.body.innerHTML = "bye bye bad code"; }; return { init: function(){ welcome(); } } }, ["dependency-fancybox.js"]); 1 4 3 5 2 1. Un nombre como identificador. 2. Entidad conocida como sandbox 3. Métodos privados 4. Métodos públicos tanto obligatorios como opcionales 5. Dependencias
  7. var yOSON = { module: "default", controller: "index", action: "index"

    }; y O S O N Variables que deben proveerse por lado back.
  8. var schema = { 'modules':{ 'allModules': function(){ //alert("sector donde corre

    sin importar el nombre del modulo"); }, 'usuario':{ 'allControllers': function(){ //alert("sector donde corre sin importar el nombre del controller en el modulo usuario"); }, 'controllers':{ 'aviso': { 'allActions':function(){ //alert("corre sin importar si hay actions o no"); }, 'actions':{ 'dashboard': function(){ yOSON.AppCore.runModule("demoA"); yOSON.AppCore.runModule("demoB"); }, 'byDefault':function(){ //alert("si no existe un action, este action corre por defecto"); } } }, 'byDefault': function(){ //alert("si no existe un controller debería ser por default este controller"); } } }, 'byDefault': function(){ //alert('corriendo modulo por defecto'); } S C H E M A