Los beneficios de tiempo real para cualquier aplicación Web
Los marcos Web en tiempo real como Meteor se caracterizan generalmente por su capacidad
para poder aplicaciones colaborativas y receptivas, pero las mismas características
también proporcionan valor a las aplicaciones tradicionales. Con Meteor en particular,
el tiempo real se expone al desarrollador como una base de datos persistente que se puede utilizar
semejantemente del cliente y del servidor. Esta base de datos compartida sirve como una sola
fuente de la verdad que unifica el estado de aplicación web tradicionalmente extendido:
base de datos, variables en memoria del servidor de aplicaciones, en memoria
caché, variables de JavaScript en el navegador y DOM en el navegador. La capacidad de
renunciar a sincronizar manualmente el estado simplifica el desarrollo de aplicaciones CRUD de un solo usuario.
La sincronización del estado a través de los diferentes niveles de aplicación suele
una fuente de repetitivo y bichos. Considere la pila de aplicaciones tradicional
con sus representaciones y transformaciones variadas de los datos:
- Modelo de objeto de documento de explorador
- Sincronizado imperativamente con jQuery o declarativamente sincronizado con frameworks como angular, reAccionar, etc.
- Navegador JavaScript
- Sincronización manual con extremos de AJAX y REST (o protocolo más reciente como webSocket con esquema personalizado)
- Aplicación web del servidor
- Sincronización manual mediante ORM o acceso directo a bases de datos como SQL
- Base
El cableado de cada capa requiere código adicional y también duplica el estado en
varias formas: estructuras de datos JavaScript del lado del cliente, datos del lado del servidor
estructuras y representación de bases de datos. Una cierta simplificación es posible por
usando JavaScript tanto para el cliente como para el servidor. Las capas de datos también se pueden hacer
uniforme usando JSON en todas partes, e.g. MongoDB en vez de un relacional
Base. Sin embargo, incluso con estas estandarizaciones, el desarrollador de aplicaciones
necesita conectar capas con extremos de reposo y empujar datos arriba y abajo de la
Capas. Meteor simplifica esta pila con la siguiente arquitectura:
- Modelo de objeto de documento de explorador
- Sincronizado mediante declaración con barra espaciadora, un marco de plantillas basado en el manillar. js
- Navegador JavaScript
- Base de datos del lado del cliente sincronizada automáticamente (MiniMongo) con las estructuras de datos laterales del servidor sobre DDP (un mecanismo de transporte encima WebSockets o sockjs)
- Servidor JavaScript
- Estructuras de datos del lado del servidor sincronizadas automáticamente con la base de datos (MongoDB) con LiveQuery
- Mongodb
En algunos aspectos, Meteor proporciona un modelo de programación que se asemeja a la primera
generación de aplicaciones web dinámicas: la vista HTML puede ser contemplada directamente
de la base de datos. Este modelo de programación simplificada reduce las partes móviles
y oportunidades para bugs en cualquier aplicación.