¿Alguien sabe si hay uno disponible ahora o lo estará en un futuro cercano?¿Hay marcos ORM para Web SQL (javascript)?
Respuesta
Estoy buscando lo mismo. Parece escaso. El que me pareció más prometedor es persistence.js. Impel también se ve bien pero, desafortunadamente, parece que no se ha actualizado en un año y medio. ActiveRecord.js podría terminar funcionando, pero aún no parece que soporten Web SQL. Con suerte, alguien publicará más opciones.
También estoy buscando lo mismo. JazzRecord parece un posible candidato.
Una implementación basada en JazzRecord es la implementación joli.js diseñada para Appcelerator Titanium framework.
Hay una nueva llamada JayData library, esta es como EntityFramework (o NHibernate) para la plataforma JavaScript: proporciona JavaScript Language Query (JSLQ) y JavaScript CRUD. También admite definiciones de modelo, propiedades de navegación y relaciones 1..1.0, 1..m, m..n.
copio un corto codesnippet sobre cómo usarlo:
//define storage model: Department and Employee in a 1..m relation
$data.Entity.extend("$org.types.Department", {
Id: { type: "int", key: true, computed: true },
Name: { type: "string", required: true },
Address: { type: "string" },
Employees: { type: "Array", elementType: "$org.types.Employee", inverseProperty:"Department" }
});
$data.Entity.extend("$org.types.Employee", {
Id: { type: "int", key: true, computed: true },
FirstName: { type: "string", required: true },
LastName: { type: "string", required: true },
Department: { type: "$org.types.Department", inverseProperty:"Employees"}
});
$data.EntityContext.extend("$org.types.OrgContext", {
Department: { type: $data.EntitySet, elementType: $org.types.Department },
Employee: { type: $data.EntitySet, elementType: $org.types.Employee }
});
Puede codificar en contra de la OrdContext y las colecciones en el mismo. La siguiente línea creará una instancia de contexto que está respaldado por WebSQL local (usted tiene otras opciones como IndexedDB o OData)
var context = new $org.types.OrgContext({ name: "webSql", databaseName: "OrgDB" });
Añadir algunos datos
var department = new $org.types.Department({ Name: 'Finance', Employees: [] });
var emp1 = new $org.types.Employee({ FirstName: 'John', LastName: 'Smith'});
department.Employees.push(emp1);
var emp2 = new $org.types.Employee({ FirstName: 'Jane', LastName: 'Smith'});
emp2.Department = department;
context.add(department);
context.add(emp2);
context.saveChanges();
Ahora que tiene los datos del almacén se puede consultarlo. Las consultas JSLQ son compatibles con los campos de entidad, más los campos de navegación que apuntan en la dirección m..1. (En la versión 1.0 se puede no directamente contra navProperties 1..m. Puedes evitar esto con la expresión in
//filter
context.Employees
.filter(function(emp) { return emp.LastName == 'Smith' })
.toArray(...);
//filter
context.Employees
.filter(function(emp) { return emp.FirstName.startsWith('J') ||
emp.LastName.toLowerCase.contains('mith') })
.toArray(...);
//filter2
context.Employees
.filter(function(emp) { return emp.Department.Id == 1 })
.toArray(function(emps) { });
//filter2 + eager load
context.Employees
.include("Department")
.filter(function(emp) { return emp.Department.Id == 1 })
.toArray(function(emps) { });
//map/project
context.Employees
.filter(function(emp) { return emp.Department.Id == 1 }).toArray(...)
.map(function(emp) { return { EmployeeName: emp.FirstName + emp.LastName,
DepartmentName: emp.Department.Name }})
.forEach(function(item) { ... })
- 1. ¿Hay marcos web para Boost :: asio?
- 2. ¿Hay marcos web MVC para Haskell?
- 3. ¿Hay marcos web Objective-C?
- 4. ¿Hay alguna inversión de marcos de control para javascript?
- 5. ¿Hay marcos web para lenguajes compilados como C++?
- 6. ¿Hay editores alternativos para archivos .m?
- 7. ¿Hay un OR/M para ASP clásico?
- 8. ¿Hay marcos web MVC que admitan varios tipos de solicitud?
- 9. ¿Hay marcos web modernos (Moose/PSGI) distintos de Catalyst?
- 10. marcos web maduros Clojure?
- 11. ¿Hay marcos Silverlight útiles?
- 12. Comparación de Clojure Web marcos
- 13. ¿Hay marcos JavaScript MVC que no tengan dependencias externas?
- 14. iPhone aplicaciones web, plantillas, marcos?
- 15. Marcos de servicios web en haskell
- 16. Comparación de marcos JavaScript: ExtJS, JQWidgets, DHTMLX
- 17. Javascript document.getElementById en otros marcos
- 18. ¿Hay marcos de almacenamiento en caché para Delphi?
- 19. Marcos "Look and Feel" baratos/gratuitos para aplicaciones web
- 20. ¿Hay un estándar para criptosistemas de umbral (m de n)?
- 21. ¿Hay marcos de trabajo de JavaScript para analizar/completar automáticamente un idioma específico del dominio?
- 22. Web Base de datos SQL + Javascript bucle
- 23. Experiencias con marcos de historial de Javascript
- 24. SQL SELECT con la relación m: n
- 25. Marcos de aplicaciones web: C++ vs Python
- 26. ¿Hay marcos de andamios alternativos para Asp.Net Dynamic Data?
- 27. ¿Hay marcos para hacer modelos en tiempo real en node.js?
- 28. ¿Hay marcos Java para el análisis de archivos binarios?
- 29. ¿Hay marcos disponibles para rastrear la actividad del usuario?
- 30. 100% Javascript Web Framework
persistence.js lo es. – bennedich