Este documento presenta una introducción a MediaNet Software, una empresa española de desarrollo de software fundada en 1995. Luego, introduce el framework Backbone.js y sus principales componentes: modelos, colecciones, vistas, routers y eventos. Finalmente, aborda temas como la gestión de recursos con RequireJS y los tests unitarios con QUnit.
Medianet Software fue patrocinador Platinum en el evento Codemotion.
Nuestros compañeros Julien Castelain y Denis Ciccale impartieron una charla técnica sobre S.P.A Con Backbone.js.
Durante la charla técnica hablaron sobre la aplicación web SPA que se construye con una única página, con el objetivo de proveer un comportamiento parecido a una aplicación de escritorio.
El propósito de la charla consistió en intentar cubrir todos los conceptos necesarios para poder desarrollar una SPA en Backbone.js, hablando sobre templating, require, unit testing con QUnit y minificación de recursos estáticos.
En esta presentación aparece toda la documentación expuesta durante la charla técnica.
The document outlines Fidelis' 3-part LRM implementation process:
1) Onboarding: establishing timelines, training leaders and users, customizing the platform, and integrating systems.
2) Account management: ongoing communication and support after onboarding.
3) The goal is to ensure customers achieve their goals by playing defined roles in implementation and onboarding processes.
Este documento resume varias fechas conmemorativas internacionales: el 8 de marzo es el Día Internacional de la Mujer, que promueve los logros y derechos de las mujeres; el 15 de marzo es el Día Mundial de los Derechos del Consumidor, que promueve los derechos de los consumidores; el 22 de marzo es el Día Mundial del Agua, establecido por la ONU en 1992 para promover la protección de los recursos hídricos.
Este documento descreve como Ramalho Eanes recusou 1,3 milhões de euros em pagamentos atrasados de sua pensão de militar, a qual lhe foi negada quando era Presidente. Embora tivesse direito ao dinheiro, Eanes doou o valor para preservar sua dignidade e dar um exemplo positivo em um país assolado por corrupção. Sua ação foi elogiada por defender valores como honra e integridade.
Dinesh S has performed over 400 magic shows in the past 10 years to educate people about superstitions and promote rational thinking. Some of his notable feats include riding a motorcycle blindfolded for over 30 km and riding a bike blindfolded through Mysore for 15 minutes. He has received appreciation certificates from several schools, hospitals, and welfare organizations for his educational magic performances aimed at dispelling beliefs in luck, evil spirits, and other superstitions.
The letter provides a recommendation for Vaughn Hebron, who the writer mentored during sales training at Otsuka America Pharmaceutical Inc. The writer states that Vaughn consistently demonstrated an excellent understanding of products and disease states, and a willingness to learn different selling styles. Additionally, Vaughn brings energy, professionalism, and motivation to take on increased responsibilities. The writer recommends Vaughn for any position requiring responsibility and integrity.
La teoría sistémica es un esfuerzo interdisciplinario para encontrar propiedades comunes en entidades llamadas sistemas que se presentan en todos los niveles de la realidad. La teoría de la complejidad de Edgar Morín se enfoca en el estudio de sistemas complejos. La holística se refiere a ver las cosas en su totalidad para apreciar interacciones y procesos que no son visibles al estudiar aspectos por separado. El holismo sostiene que las propiedades de un sistema no pueden determinarse como la suma de sus componentes.
Medianet Software fue patrocinador Platinum en el evento Codemotion.
Nuestros compañeros Julien Castelain y Denis Ciccale impartieron una charla técnica sobre S.P.A Con Backbone.js.
Durante la charla técnica hablaron sobre la aplicación web SPA que se construye con una única página, con el objetivo de proveer un comportamiento parecido a una aplicación de escritorio.
El propósito de la charla consistió en intentar cubrir todos los conceptos necesarios para poder desarrollar una SPA en Backbone.js, hablando sobre templating, require, unit testing con QUnit y minificación de recursos estáticos.
En esta presentación aparece toda la documentación expuesta durante la charla técnica.
The document outlines Fidelis' 3-part LRM implementation process:
1) Onboarding: establishing timelines, training leaders and users, customizing the platform, and integrating systems.
2) Account management: ongoing communication and support after onboarding.
3) The goal is to ensure customers achieve their goals by playing defined roles in implementation and onboarding processes.
Este documento resume varias fechas conmemorativas internacionales: el 8 de marzo es el Día Internacional de la Mujer, que promueve los logros y derechos de las mujeres; el 15 de marzo es el Día Mundial de los Derechos del Consumidor, que promueve los derechos de los consumidores; el 22 de marzo es el Día Mundial del Agua, establecido por la ONU en 1992 para promover la protección de los recursos hídricos.
Este documento descreve como Ramalho Eanes recusou 1,3 milhões de euros em pagamentos atrasados de sua pensão de militar, a qual lhe foi negada quando era Presidente. Embora tivesse direito ao dinheiro, Eanes doou o valor para preservar sua dignidade e dar um exemplo positivo em um país assolado por corrupção. Sua ação foi elogiada por defender valores como honra e integridade.
Dinesh S has performed over 400 magic shows in the past 10 years to educate people about superstitions and promote rational thinking. Some of his notable feats include riding a motorcycle blindfolded for over 30 km and riding a bike blindfolded through Mysore for 15 minutes. He has received appreciation certificates from several schools, hospitals, and welfare organizations for his educational magic performances aimed at dispelling beliefs in luck, evil spirits, and other superstitions.
The letter provides a recommendation for Vaughn Hebron, who the writer mentored during sales training at Otsuka America Pharmaceutical Inc. The writer states that Vaughn consistently demonstrated an excellent understanding of products and disease states, and a willingness to learn different selling styles. Additionally, Vaughn brings energy, professionalism, and motivation to take on increased responsibilities. The writer recommends Vaughn for any position requiring responsibility and integrity.
La teoría sistémica es un esfuerzo interdisciplinario para encontrar propiedades comunes en entidades llamadas sistemas que se presentan en todos los niveles de la realidad. La teoría de la complejidad de Edgar Morín se enfoca en el estudio de sistemas complejos. La holística se refiere a ver las cosas en su totalidad para apreciar interacciones y procesos que no son visibles al estudiar aspectos por separado. El holismo sostiene que las propiedades de un sistema no pueden determinarse como la suma de sus componentes.
Visualización de datos con Tableau Public - Comité de InvestigaciónIAB México
Este documento presenta una introducción a la visualización de datos con Tableau Public para el Comité de Investigación de IAB México. Explica los objetivos de mostrar las características básicas de Tableau y practicar con una base de datos de ejemplo. Incluye secciones sobre los antecedentes de la visualización de datos, Tableau Software, una demostración práctica y recomendaciones para continuar el aprendizaje.
Este documento presenta una introducción al ciclo de vida del desarrollo de sistemas. Explica que el desarrollo de sistemas es el proceso cronológico mediante el cual los analistas, ingenieros, programadores y usuarios desarrollan sistemas de información. Luego describe las principales fases del ciclo de vida, incluyendo el análisis, diseño, desarrollo, pruebas, implementación y mantenimiento de sistemas. Finalmente, proporciona algunos principios esenciales para un desarrollo
Metodología y Herramientas para diseñar sistemas de alta performance - XII J...Santiago Bustelo
Presentación de Santiago Bustelo en la apertura de las XII Jornadas Universitarias de Sistemas de Información en Salud realizadas en el Hospital Italiano, el 15 de noviembre de 2017.
Consolida contenidos presentados previamente:
- Caso de aplicación de KLM-GOMS para mejoras operativas en sistemas de gestión (presentado por primera vez en 2008 en el evento Microsoft RAF),
- Heurísticas entendidas desde principios de psicología cognitiva (presentado desde 2015 en Taller UX).
Un administrador de base de datos (DBA) controla y mantiene el sistema de base de datos. Las principales funciones de un DBA incluyen definir el esquema y estructura de la base de datos, instalar y actualizar software, configurar parámetros de rendimiento, y realizar copias de seguridad y recuperación de datos.
JClic es una herramienta educativa que permite crear actividades interactivas para cualquier área mediante tres aplicaciones: JClic para ver y ejecutar actividades, JClic Author para crear y modificar actividades de forma visual, y JClic Reports para gestionar los resultados de los alumnos. JClic permite siete tipos básicos de actividades como asociaciones, juegos de memoria, puzzles y sopas de letras. Con JClic Author se crean nuevos proyectos especificando título, autores y niveles, y se incluyen recurs
El documento describe las etapas del ciclo de vida de un sistema de información, incluyendo el análisis, diseño, implementación y mantenimiento. El análisis involucra definir el problema y los requerimientos, mientras que el diseño crea un modelo funcional propuesto. La implementación desarrolla el software, prueba el sistema y lo pone en marcha en el ambiente de producción. El mantenimiento incluye supervisión, evaluación y modificación del sistema para corregir fallas, adaptarse a cambios y agregar nuevas funciones.
Este documento discute el futuro de las bases de datos y la programación en la sociedad de la información. Examina cómo las bases de datos orientadas a objetos y las bases de datos relacionales orientadas a objetos pueden unificar los datos y la programación para permitir el uso de tipos de datos complejos y la herencia. También explora cómo JDBC puede conectar programas a bases de datos para acceder y manipular datos de manera declarativa.
SISTEMA DE BASE DE DATOS EN MYSQL PARA LLEVAR EL CONTROL Y REGISTRO DE LA INF...AngelicaMendoza564464
PRESENTACIÓN FINAL EN EL JOSE MARIA CARREÑO SOBRE EL DISEÑO SISTEMA DE BASE DE DATOS EN MYSQL PARA LLEVAR EL CONTROL Y REGISTRO DE LA INFORMACIÓN FINANCIERA Y ECONÓMICA DE LOS CLIENTES DE LA EMPRESA SERVICIOS COSTA R.L
Este documento proporciona una definición y descripción general de la herramienta JCLIC, incluyendo sus características principales, componentes y tipos de actividades que permite realizar. JCLIC permite crear actividades educativas de forma dinámica y didáctica a través de cuatro aplicaciones principales: JCLIC applet, JCLIC player, JCLIC author y JCLIC reports.
Este documento presenta una introducción a la dinámica de sistemas. Explica conceptos clave como sistemas abiertos, retroalimentación, variables endógenas y exógenas. También describe cómo la dinámica de sistemas puede usarse para analizar problemas en organizaciones y desarrollar modelos que representen su comportamiento dinámico a través del tiempo.
Ciclo de vida de un sistema de kendal y kendalsaukry
El documento describe las 7 fases del ciclo de vida de un sistema de información: 1) identificación de problemas y objetivos, 2) determinación de requerimientos, 3) análisis de necesidades, 4) diseño del sistema recomendado, 5) desarrollo y documentación del software, 6) prueba y mantenimiento, y 7) implementación y evaluación. Cada fase involucra actividades clave como entrevistas, diagramas de flujo, diseño de base de datos y pruebas para garantizar la calidad y funcionalidad del sistema.
Ciclo de vida de un sistema de kendal y kendalsaukry
El documento describe las 7 fases del ciclo de vida de un sistema de información: 1) identificación de problemas y objetivos, 2) determinación de requerimientos, 3) análisis de necesidades, 4) diseño del sistema recomendado, 5) desarrollo y documentación del software, 6) prueba y mantenimiento, y 7) implementación y evaluación. Cada fase involucra actividades clave como entrevistas, diagramas de flujo, diseño de base de datos y pruebas para garantizar la calidad y funcionalidad del sistema.
Este documento describe las etapas del ciclo de vida para el diseño de bases de datos. Explica que primero se definen los requisitos del sistema y los usuarios, luego se realiza un diseño lógico y físico de la base de datos, seguido de la implementación, carga de datos, pruebas y mantenimiento. También describe las seis fases del diseño de bases de datos, incluyendo la recolección de requisitos, diseño conceptual, selección de un modelo de datos y la creación de diagramas entidad-relación.
Transparencias de apoyo del Taller Práctico de Android impartido en la iParty 13 (http://iparty.aditel.org). El código fuente del caso de estudio puede encontrarse aquí: https://bitbucket.org/jmunoz/android-example-eltiempo
Slides de la charla hecha en el espacio Kunlabori con los chicos de MadridJS sobre las lecciones aprendidas desarrollando una red social con frontiers.
¿Quién va a desarrollar las Apps del futuro? (aviso: no serán los programadores)Jordi Cabot
Este documento discute cuatro posibles soluciones para quien desarrollará las aplicaciones del futuro: 1) aumentar la productividad y reducir errores mediante ingeniería dirigida por modelos; 2) aprovechar al máximo la comunidad de código abierto; 3) permitir que los usuarios finales se conviertan en desarrolladores ocasionales; y 4) externalizar parte del trabajo a la inteligencia artificial.
El documento describe las actividades del ciclo de vida para el desarrollo de sistemas llevado a cabo por Mildrey Jatsune, Andres Quiroz Macias, Cristian Camilo Garcia y Leandro Palacio. Incluye las etapas de desarrollo de prototipos, diseño del sistema, desarrollo de software y pruebas de sistemas.
Ingeniería en Telemática y ejercicios.pdfCamila301231
La ingeniería de telemática se encarga de satisfacer todas las necesidades de los usuarios, lo que incluye la creación de aplicaciones mediante el uso de software avanzado para que todos puedan enviar y recibir mensajes.
Presentación realizada en el #Collabdays #Madrid 2024 donde traté las funcionalidades de Gobierno que incorpora ShrePoint Premium para facilitar la adopción de Copilot para Microsoft 365: Controles de Acceso Restringido | Acceso Condicional Granular | Bloqueo de descarga de archivos | Gestión del Ciclo de Vida de Sitios | Acciones recientes en Sitios de SharePoint | Informe de cambios
Visualización de datos con Tableau Public - Comité de InvestigaciónIAB México
Este documento presenta una introducción a la visualización de datos con Tableau Public para el Comité de Investigación de IAB México. Explica los objetivos de mostrar las características básicas de Tableau y practicar con una base de datos de ejemplo. Incluye secciones sobre los antecedentes de la visualización de datos, Tableau Software, una demostración práctica y recomendaciones para continuar el aprendizaje.
Este documento presenta una introducción al ciclo de vida del desarrollo de sistemas. Explica que el desarrollo de sistemas es el proceso cronológico mediante el cual los analistas, ingenieros, programadores y usuarios desarrollan sistemas de información. Luego describe las principales fases del ciclo de vida, incluyendo el análisis, diseño, desarrollo, pruebas, implementación y mantenimiento de sistemas. Finalmente, proporciona algunos principios esenciales para un desarrollo
Metodología y Herramientas para diseñar sistemas de alta performance - XII J...Santiago Bustelo
Presentación de Santiago Bustelo en la apertura de las XII Jornadas Universitarias de Sistemas de Información en Salud realizadas en el Hospital Italiano, el 15 de noviembre de 2017.
Consolida contenidos presentados previamente:
- Caso de aplicación de KLM-GOMS para mejoras operativas en sistemas de gestión (presentado por primera vez en 2008 en el evento Microsoft RAF),
- Heurísticas entendidas desde principios de psicología cognitiva (presentado desde 2015 en Taller UX).
Un administrador de base de datos (DBA) controla y mantiene el sistema de base de datos. Las principales funciones de un DBA incluyen definir el esquema y estructura de la base de datos, instalar y actualizar software, configurar parámetros de rendimiento, y realizar copias de seguridad y recuperación de datos.
JClic es una herramienta educativa que permite crear actividades interactivas para cualquier área mediante tres aplicaciones: JClic para ver y ejecutar actividades, JClic Author para crear y modificar actividades de forma visual, y JClic Reports para gestionar los resultados de los alumnos. JClic permite siete tipos básicos de actividades como asociaciones, juegos de memoria, puzzles y sopas de letras. Con JClic Author se crean nuevos proyectos especificando título, autores y niveles, y se incluyen recurs
El documento describe las etapas del ciclo de vida de un sistema de información, incluyendo el análisis, diseño, implementación y mantenimiento. El análisis involucra definir el problema y los requerimientos, mientras que el diseño crea un modelo funcional propuesto. La implementación desarrolla el software, prueba el sistema y lo pone en marcha en el ambiente de producción. El mantenimiento incluye supervisión, evaluación y modificación del sistema para corregir fallas, adaptarse a cambios y agregar nuevas funciones.
Este documento discute el futuro de las bases de datos y la programación en la sociedad de la información. Examina cómo las bases de datos orientadas a objetos y las bases de datos relacionales orientadas a objetos pueden unificar los datos y la programación para permitir el uso de tipos de datos complejos y la herencia. También explora cómo JDBC puede conectar programas a bases de datos para acceder y manipular datos de manera declarativa.
SISTEMA DE BASE DE DATOS EN MYSQL PARA LLEVAR EL CONTROL Y REGISTRO DE LA INF...AngelicaMendoza564464
PRESENTACIÓN FINAL EN EL JOSE MARIA CARREÑO SOBRE EL DISEÑO SISTEMA DE BASE DE DATOS EN MYSQL PARA LLEVAR EL CONTROL Y REGISTRO DE LA INFORMACIÓN FINANCIERA Y ECONÓMICA DE LOS CLIENTES DE LA EMPRESA SERVICIOS COSTA R.L
Este documento proporciona una definición y descripción general de la herramienta JCLIC, incluyendo sus características principales, componentes y tipos de actividades que permite realizar. JCLIC permite crear actividades educativas de forma dinámica y didáctica a través de cuatro aplicaciones principales: JCLIC applet, JCLIC player, JCLIC author y JCLIC reports.
Este documento presenta una introducción a la dinámica de sistemas. Explica conceptos clave como sistemas abiertos, retroalimentación, variables endógenas y exógenas. También describe cómo la dinámica de sistemas puede usarse para analizar problemas en organizaciones y desarrollar modelos que representen su comportamiento dinámico a través del tiempo.
Ciclo de vida de un sistema de kendal y kendalsaukry
El documento describe las 7 fases del ciclo de vida de un sistema de información: 1) identificación de problemas y objetivos, 2) determinación de requerimientos, 3) análisis de necesidades, 4) diseño del sistema recomendado, 5) desarrollo y documentación del software, 6) prueba y mantenimiento, y 7) implementación y evaluación. Cada fase involucra actividades clave como entrevistas, diagramas de flujo, diseño de base de datos y pruebas para garantizar la calidad y funcionalidad del sistema.
Ciclo de vida de un sistema de kendal y kendalsaukry
El documento describe las 7 fases del ciclo de vida de un sistema de información: 1) identificación de problemas y objetivos, 2) determinación de requerimientos, 3) análisis de necesidades, 4) diseño del sistema recomendado, 5) desarrollo y documentación del software, 6) prueba y mantenimiento, y 7) implementación y evaluación. Cada fase involucra actividades clave como entrevistas, diagramas de flujo, diseño de base de datos y pruebas para garantizar la calidad y funcionalidad del sistema.
Este documento describe las etapas del ciclo de vida para el diseño de bases de datos. Explica que primero se definen los requisitos del sistema y los usuarios, luego se realiza un diseño lógico y físico de la base de datos, seguido de la implementación, carga de datos, pruebas y mantenimiento. También describe las seis fases del diseño de bases de datos, incluyendo la recolección de requisitos, diseño conceptual, selección de un modelo de datos y la creación de diagramas entidad-relación.
Transparencias de apoyo del Taller Práctico de Android impartido en la iParty 13 (http://iparty.aditel.org). El código fuente del caso de estudio puede encontrarse aquí: https://bitbucket.org/jmunoz/android-example-eltiempo
Slides de la charla hecha en el espacio Kunlabori con los chicos de MadridJS sobre las lecciones aprendidas desarrollando una red social con frontiers.
¿Quién va a desarrollar las Apps del futuro? (aviso: no serán los programadores)Jordi Cabot
Este documento discute cuatro posibles soluciones para quien desarrollará las aplicaciones del futuro: 1) aumentar la productividad y reducir errores mediante ingeniería dirigida por modelos; 2) aprovechar al máximo la comunidad de código abierto; 3) permitir que los usuarios finales se conviertan en desarrolladores ocasionales; y 4) externalizar parte del trabajo a la inteligencia artificial.
El documento describe las actividades del ciclo de vida para el desarrollo de sistemas llevado a cabo por Mildrey Jatsune, Andres Quiroz Macias, Cristian Camilo Garcia y Leandro Palacio. Incluye las etapas de desarrollo de prototipos, diseño del sistema, desarrollo de software y pruebas de sistemas.
Ingeniería en Telemática y ejercicios.pdfCamila301231
La ingeniería de telemática se encarga de satisfacer todas las necesidades de los usuarios, lo que incluye la creación de aplicaciones mediante el uso de software avanzado para que todos puedan enviar y recibir mensajes.
Presentación realizada en el #Collabdays #Madrid 2024 donde traté las funcionalidades de Gobierno que incorpora ShrePoint Premium para facilitar la adopción de Copilot para Microsoft 365: Controles de Acceso Restringido | Acceso Condicional Granular | Bloqueo de descarga de archivos | Gestión del Ciclo de Vida de Sitios | Acciones recientes en Sitios de SharePoint | Informe de cambios
El uso de las TIC en la vida cotidiana.pptxjgvanessa23
En esta presentación, he compartido información sobre las Tecnologías de la Información y la Comunicación (TIC) y su aplicación en diversos ámbitos de la vida cotidiana, como el hogar, la educación y el trabajo.
He explicado qué son las TIC, las diferentes categorías y sus respectivos ejemplos, así como los beneficios y aplicaciones en cada uno de estos ámbitos.
Espero que esta información sea útil para quienes la lean y les ayude a comprender mejor las TIC y su impacto en nuestra vida cotidiana.
Uso de las Tics en la vida cotidiana.pptx231485414
Las Tecnologías de la Información y las Comunicaciones (TIC), son el conjunto de recursos, herramientas, equipos, programas informáticos, aplicaciones, redes y medios.
2. Nosotros
Desarrolladores front auto-didactas
• Trabajan en MediaNet Software como UX Technical
Leaders
• Actualmente usando Backbone.js en un proyecto
para uno de los 5 bancos más grandes de Europa
J. Castelain, D. Ciccale
MediaNet Software
3. ¿De qué vamos a hablar?
• Acerca de MediaNet Software
• Backbone.js & MVC
• Gestión de recursos
• Tests Unitarios
• Conclusiones
• ¿Preguntas?
J. Castelain, D. Ciccale 3
MediaNet Software
5. EMPRESA ESPAÑOLA
EMPRESA ESPAÑOLA
FUNDADA EN 1995
FUNDADA EN 1995
TRAYECTORIA DE SPIN-OFFS Y
TRAYECTORIA DE SPIN-OFFS Y
START-UPS
START-UPS
J. Castelain, D. Ciccale
MediaNet Software
6. PERFIL DE EMPRESA:
PERFIL DE EMPRESA:
ARTESANÍA:
ARTESANÍA:
CONOCIMIENTO +
CONOCIMIENTO +
EXPERIENCIA
EXPERIENCIA http://www.flickr.com/photos/24443965@N08/
J. Castelain, D. Ciccale
MediaNet Software
8. UNA CULTURA BASADA EN
UNA CULTURA BASADA EN
LA INNOVACIÓN
LA INNOVACIÓN
UN ENFOQUE CENTRADO
UN ENFOQUE CENTRADO
EN EL PROYECTO
EN EL PROYECTO
J. Castelain, D. Ciccale
MediaNet Software
10. tivo s
s
vo
bjje ti
e
e ob
o
n de
d
iciió n
ó
arttic
p r
mp a
Co m
¿QUÉ HACEMOS?
¿QUÉ HACEMOS?
Co
NUESTRAS ÁREAS DE
NUESTRAS ÁREAS DE
ACTIVIDAD
ACTIVIDAD
J. Castelain, D. Ciccale
MediaNet Software
11. Y SOBRE TODO:
Y SOBRE TODO:
LAS PERSONAS SON
LAS PERSONAS SON
SIEMPRE LO PRIMERO
SIEMPRE LO PRIMERO
J. Castelain, D. Ciccale
MediaNet Software
17. Models
var User = Backbone.Model.extend({
defaults: {
firstName: '',
lastName: '',
date: null
},
url: '/user'
});
J. Castelain, D. Ciccale 17
MediaNet Software
18. Models
• Representa los datos
• Notifica de cambios en sus atributos
J. Castelain, D. Ciccale 18
MediaNet Software
19. Models
• Representa los datos
• Notifica de cambios en sus atributos
• Se comunica con el servidor para estar sincronizado
• fetch (GET), save (POST/PUT), destroy (DELETE)
J. Castelain, D. Ciccale 19
MediaNet Software
20. Models
var user = new User();
user.on('change', function () {
console.log(user.toJSON());
});
user.fetch(); // GET json
// actualización
user.set({firstName: 'Jeremy', lastName: 'Ashkenas'});
user.save(); // POST/PUT
J. Castelain, D. Ciccale 20
MediaNet Software
22. Collections
var Users = Backbone.Collection.extend({
model: User, // modelo que usa la colección
url: '/users' // url que devuelve los datos
});
J. Castelain, D. Ciccale 22
MediaNet Software
23. Collections
• Conjunto de modelos
• Se comporta como un modelo
J. Castelain, D. Ciccale 23
MediaNet Software
24. Collections
var users = new Users();
users.fetch(); // petición GET a /users
…
console.log(users.models);
J. Castelain, D. Ciccale 24
MediaNet Software
25. Collections
• Conjunto de modelos
• Se comporta como un modelo
• Eventos
• add, remove, refresh, reset
J. Castelain, D. Ciccale 25
MediaNet Software
26. Collections
var users = new Users();
users.on('reset', function () {
console.log('modelos reemplazados!');
});
users.fetch(); // GET /users
J. Castelain, D. Ciccale 26
MediaNet Software
27. Collections
• Conjunto de modelos
• Se comporta como un modelo
• Eventos
• add, remove, refresh, reset
• Fácil manipulación gracias a Underscore.js
• forEach (each), map, reduce (foldl, inject), reduceRight (foldr), find (detect), filter (select), reject,
every (all), some (any), include, invoke, max, min, sortBy, groupBy, sortedIndex, shuffle, toArray,
size, first, initial, rest, last, without, indexOf, lastIndexOf, isEmpty, chain
J. Castelain, D. Ciccale 27
MediaNet Software
28. Views
• Representación gráfica de los datos
• template, initialize, model, render, el
J. Castelain, D. Ciccale 28
MediaNet Software
29. Views
var UserView = Backbone.View.extend({
template: _.template($('#userView').html()),
initialize: function () {
this.render();
},
render: function () {
this.$el.html(this.template(this.model.toJSON()));
return this;
}
});
J. Castelain, D. Ciccale 29
MediaNet Software
31. Views
// instanciamos la vista
var userView = new UserView({model: user});
userView.el.appendTo(document.body);
....
<div>
<h2>Usuario</h2>
<p>Nombre: Jeremy</p>
<p>Apellido: Ashkenas</p>
</div>
J. Castelain, D. Ciccale 31
MediaNet Software
32. Views
• Representación gráfica de los datos
• template, initialize, model, render, el
• Puede mantenerse sincronizada con el modelo o una
colección
J. Castelain, D. Ciccale 32
MediaNet Software
33. Views
var UserView = Backbone.View.extend({
…
initialize: function () {
this.model.on('change', this.render, this);
}
…
});
J. Castelain, D. Ciccale 33
MediaNet Software
34. Views
• Representación gráfica de los datos
• template, Initialize, model, render, el
• Puede mantenerse sincronizada con el modelo o una
colección
• Eventos (click, submit...)
J. Castelain, D. Ciccale 34
MediaNet Software
35. Views
var UserView = Backbone.View.extend({
initialize: function () {
_.bindAll(this);
},
events: {
'click #button': 'sayHello';
},
sayHello: function (event) {
console.log('hello', this.model.get('firstName'));
}
});
J. Castelain, D. Ciccale 35
MediaNet Software
44. Router
var Router = Backbone.Router.extend({
routes: {
'/': 'homePage',
'/users/:id': 'userPage'
}
});
J. Castelain, D. Ciccale 44
MediaNet Software
45. Router
var Router = Backbone.Router.extend({
...
userPage: function (id) {
console.log('Buscando el usuario:', id);
}
});
J. Castelain, D. Ciccale 45
MediaNet Software
46. Router
• Controla la navegación
• Utiliza el History API de HTML5 (o un fallback)
var router = new Router();
Backbone.History.start({ pushState: true });
J. Castelain, D. Ciccale 46
MediaNet Software
48. Events
var obj = _.extend(Backbone.Events, {});
obj.on('search:user', function (id) {
console.log('Buscando al usuario:', id);
// Buscando al usuario: 567
});
...
obj.trigger('search:user', 567);
J. Castelain, D. Ciccale 48
MediaNet Software
49. Events
• Comunicación entre objetos (Modelos,
Colecciones…)
• Integrado en el núcleo de Backbone
• Modelos y colecciones publican
• Vistas se subscriben
J. Castelain, D. Ciccale 49
MediaNet Software
50. Events
var UserView = Backbone.View.extend({
initialize: function () {
this.model.on('change', this.render, this);
// para escuchar el cambio de una propiedad específica
// this.model.on('change:firstName', this.render, this);
}
});
J. Castelain, D. Ciccale 50
MediaNet Software
52. Data binding
• Backbone no tiene data binding
• Comunicación entre modelos y vistas a través de
eventos
• var pubsub = _.extend(Backbone.Events, {});
• jquery.xxspubsub.js (https://gist.github.com/1653547)
• Pubsub en CoffeScript
(https://gist.github.com/2175018)
J. Castelain, D. Ciccale 52
MediaNet Software
61. RequireJS Plugins
• Para cargar:
• text (html, css)
• cs (coffeescript)
• async (de manera asíncrono)
• order (en orden)
J. Castelain, D. Ciccale 61
MediaNet Software
63. Tests Unitarios
• Opciones
J. Castelain, D. Ciccale 63
MediaNet Software
64. QUnit
• Sencillo
• Buena documentación
• Tests de Backbone.js en QUnit
J. Castelain, D. Ciccale 64
MediaNet Software
65. QUnit
module('app', {
setup: function () {
/* se ejecuta antes de cada tests */
},
teardown: function () {
/* se ejecuta luego de finalizar un test */
}
});
J. Castelain, D. Ciccale 65
MediaNet Software
66. QUnit
test('Probamos el modelo User', function () {
var user = new User();
deepEqual(user.get('firstName'), '', 'Usuario sin nombre');
});
J. Castelain, D. Ciccale 66
MediaNet Software
06/03/12 AUTORE 06/03/12 AUTORE 06/03/12 AUTORE MediaNet Software es una empresa española consultora en TIC fundada en 1995, con sede principal en Madrid y delegación técnica en Oviedo. Cuenta con un equipo especializado en diferentes tecnologías de la información, que ha crecido de forma ordenada hasta más de 200 profesionales, dejando en el camino numerosas spin-offs y startups especializadas en modelos de negocio en internet como BuyVIP y MercaDeuda. La historia de Media Net Software y de las empresas surgidas desde su base, está llena de pequeños logros que han posibilitado nuevas apuestas y proyectos más ambiciosos en cada uno de sus pasos. El interés por conservar la identidad y cultura de la profesionalidad, el compromiso y la calidad ha hecho que el crecimiento haya sido lento, ordenado y también constante incluso en momentos recesivos de la economía 06/03/12 AUTORE
06/03/12 AUTORE 06/03/12 AUTORE 06/03/12 AUTORE MediaNet Software es una empresa que valora principalmente el interés técnico y fomenta la formación de sus profesionales. No somos una empresa que resuelve los problemas gracias a formar grandes equipos de trabajo; al contrario, formamos pequeños equipos de personas de excelente nivel humano y técnico. 06/03/12 AUTORE
06/03/12 AUTORE 06/03/12 AUTORE 06/03/12 AUTORE La plantilla de MediaNet está formada por más de 200 especialistas que comparten su vocación tecnológica, sus ganas de aprender y su compromiso con el trabajo bien hecho. 06/03/12 AUTORE
06/03/12 AUTORE 06/03/12 AUTORE 06/03/12 AUTORE Nuestros clientes delegan en MediaNet Software la creación de sistemas críticos para su negocio porque compartimos sus objetivos. A lo largo de nuestros más de 16 años de actividad, hemos entendido los condicionantes y el contexto de cada proyecto, hemos gestionado riesgos con transparencia, hemos aplicado metodologías ágiles, hemos asignado a personas con capacidad y actitud para sacar los retos adelante. Creemos que después de más de 300 proyectos realizados, los factores comunes que han caracterizado a cada uno de ellos son, en definitiva, la profesionalidad de las personas asignadas a un proyecto y la responsabilidad y compromiso de todas ellas con el éxito del mismo. 06/03/12 AUTORE
06/03/12 AUTORE 06/03/12 AUTORE 06/03/12 AUTORE La fórmula de nuestro éxito pasa por el compromiso con nuestros clientes y nuestra plantilla, la visión estratégica a largo plazo y la importancia que tiene nuestro equipo de profesionales 06/03/12 AUTORE
06/03/12 AUTORE 06/03/12 AUTORE 06/03/12 AUTORE Consultoría Tecnológica. Es nuestra principal área de actividad. El equipo de MNS está actualmente formado por más de 200 profesionales de formación técnica. Realizamos estudios de viabilidad tecnológica y análisis de herramientas; definimos entornos de desarrollo corporativos, e implantamos metodologías de trabajo ágiles. Todo según estándares de mercado, patrones y arquitecturas de referencia y buenas prácticas de referencia. Desarrollo a medida. Construimos aplicaciones que se adaptan a los requisitos específicos de nuestros clientes; integrándonos cuando es necesario con su infraestructura y parque de aplicaciones. Nuestras tecnologías de referencia son J2EE y .NET Movilidad. Desarrollamos aplicaciones de movilidad corporativas multi-plataforma; tanto en tecnología nativa (iOS, Android) como en HTML5 Experiencia de Usuario. Nuestro equipo de especialistas en User eXperience conceptualizan y definen la interacción del usuario con las aplicaciones que posteriormente desarrollamos. Las técnicas de prototipado y wireframming aseguran la agilidad en el uso de la aplicación y el soporte crossbrowsing Además, nuestro compromiso con el uso de estándares de mercado como WAI-AA, HTML 5 y JQERY y normativa internacional garantiza la accesibilidad de las aplicaciones Gestión de Proyectos. Colaboramos con grandes organizaciones en la gestión integral de proyectos, innovación y factorías de Software. Nuestro modelo de gestión parte de nuestro profundo conocimiento del mundo de la tecnología, Actualmente, los profesionales de MediaNet gestionan más de 400.000 horas de ingeniería al año. Gestión de infraestructuras. Definimos arquitecturas de sistemas, que implantamos, explotamos y gestionamos para nuestros clientes. Tanto en servidores físicos como en la nube. Desde 2008 somos proveedores de servicios Cloud, y actualmente somos socios tecnológicos de AWS y Azure Nuestro valor diferenciador es la capacidad de operar la infraestructura, y la información adicional de control de gestión que procesamos para nuestros clientes . eCommerce. Una de nuestras principales áreas de actividad es el desarrollo de modelos de e-commerce. Desde la venta privada a la tienda online con catálogo. 06/03/12 AUTORE
06/03/12 AUTORE 06/03/12 AUTORE 06/03/12 AUTORE En MediaNet las personas son siempre lo primero, porque hay otra forma de entender la tecnología. 06/03/12 AUTORE