Meteor es una plataforma de código abierto de próxima generación para crear aplicaciones web en tiempo real en un tiempo mínimo. Tiene una filosofía muy diferente en comparación con los marcos tradicionales como Ruby On Rails, Zend o Django e incluso en comparación con otros marcos de JavaScript como AngularJS, BackboneJS, etc.
Meteor es realmente un desarrollo revolucionario en la forma en que creamos aplicaciones web. El Grupo de Desarrollo de Meteor está repensando muchas de las primitivas que nos equivocamos hace 20 años (como el protocolo HTTP) y que hemos estado trabajando desde entonces. Tradicionalmente, la web es como una máquina de fax mejorada. Un servidor, que trabaja con una base de datos del lado del servidor, cocina una página y la presentación se envía a través de HTTP a un cliente de terminal tonto. Pero hoy, las aplicaciones de cliente enriquecido son muy diferentes. Una aplicación en su teléfono móvil se ejecuta localmente y se cargan fragmentos de datos para varias cosas. HTTP es el protocolo incorrecto para esto. No tiene estado, no tiene sesión, es efectivamente unidireccional, fue diseñado para transferir páginas de texto y no es eficiente para lo que ahora necesitamos que hagamos (solo queremos enviar datos (JSON) sin toda la sobrecarga). (Como alguien que proviene de un fondo de aplicaciones cliente-servidor / empresa, la web siempre se ha sentido como un gran paso atrás, porque el mundo cliente-servidor obtuvo los protocolos RPC hace mucho tiempo).
Así que hemos creado soluciones alternativas a lo largo de los años, como CSS y JavaScript, y más recientemente AJAX. Entonces, una aplicación creada con Ruby on Rails o Angular puede extraer datos de algún servidor REST para evitar una recarga de la página. Y puede optar por almacenar en caché esos datos localmente para que pueda evitar algunos retrasos. Pero todo el enfoque es muy ad hoc. Debe escribir el código para extraer estos datos y decidir dónde colocarlos, en el almacenamiento local HTML5, o tal vez una colección de red troncal. Luego, cuando tenga que verificar manualmente last_updated en una nueva vista para saber si los datos cambiaron o no.
- ¿Cuál es el mejor diseño web?
- Cómo contratar a un desarrollador de Drupal en Londres
- ¿Cuáles son las mejores soluciones disponibles para la integración de SMS?
- Cómo guardar un documento CSS y hacer referencia a él en un documento HTML (es decir, definir una clase en CSS e identificar un elemento como esa clase en HTML)
- Cómo crear mi página de bienvenida en Python 3
El enfoque de Meteor es hornear estos datos en el cable para que estén disponibles en todas partes (en el servidor y en el cliente). Creo que es difícil apreciar realmente lo que Meteor ha logrado porque nuestras cabezas están llenas de nociones preconcebidas y malas ideas.
En Meteor, DDP (Protocolo de datos distribuidos) (https://meteorhacks.com/introduc…) se utiliza para transferir datos entre el cliente y el servidor. DDP es una forma estándar de resolver el mayor problema que enfrentan los desarrolladores de JavaScript del lado del cliente: consultar una base de datos del lado del servidor, enviar los resultados al cliente y luego enviar cambios al cliente cada vez que algo cambie en la base de datos.
Más específicamente, puede configurar una suscripción a los datos que le interesan a su aplicación. Luego, Meteor sincronizará automáticamente estos datos entre el servidor y una base de datos local que se ejecuta en el cliente. Cuando un cliente hace algo para cambiar los datos, los datos se actualizan primero en la base de datos local (mongo del lado del cliente), lo que permite que las plantillas se actualicen de forma reactiva con una latencia casi nula. Luego, los datos se sincronizan con el servidor (y posiblemente se envían a otros clientes suscriptores) en segundo plano.
Si quieres convencerte de por qué deberías aprender Meteor, lee estos siete principios básicos de Meteor: