¿Cuál tiene mejor futuro entre Meteor.js y Django?

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.

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:

Hola,

No estoy seguro acerca de Django ya que nunca lo he usado. Sin embargo, hemos usado mucho Meteor y puedo recomendarlo a cualquier persona que tenga un buen conocimiento o interés en JavaScript.

More Interesting

¿Hay más trabajos para un desarrollador Java Spring o un desarrollador ASP.NET?

¿Cuál es la forma de hacer un sitio web de preguntas y respuestas como Quora? Soy un programador de 13 años. Necesito un tutorial.

¿Es una buena idea confiar en Firebase para la autenticación y la base de datos y hacer el resto del trabajo del lado del servidor con Django?

¿Qué herramientas o métodos utilizan los desarrolladores front-end para aumentar su velocidad y eficiencia de codificación?

¿Por qué la página web de la herramienta de validación del W3C no puede ser validada perfectamente por su validador?

¿Cuáles fueron las funciones PHP más complejas que ha desarrollado y cuáles fueron sus principales funcionalidades en detalles exactos?

Si comienza a comparar plantillas de correo electrónico, plantillas de sitios web, cualquier categoría particular en sitios de plantillas como Themeforest ... Todos parecen ser, en su mayor parte, lo mismo. O solo soy yo? En este caso, ¿qué destaca y hace que los diseños más populares sean tan populares?

¿Cuáles son las cosas más importantes que un diseñador debe saber sobre HTML / CSS / JavaScript cuando habla con un desarrollador?

¿Un desarrollador front-end necesita aprender más lenguajes como C, etc. para comprender algoritmos fundamentales o está bien si puede abrirse camino a través de HTML, CSS, JS, etc.?

¿Dónde puedo encontrar un icono Quora blanco sobre transparente para usar en mi sitio web?

Soy muy malo en matemáticas, ¿cómo debo enfocarme en aprender a programar?

¿Está bien plagiar un diseño web?

¿Qué proyecto puedo hacer solo con HTML y CSS? Recientemente soy nuevo en programación.

¿Ruby on Rails será mejor para un despliegue rápido que Ruby?

Solicitó un trabajo de desarrollador junior C #; La primera tarea ha sido una tarea de desarrollo web completa en idiomas que no conozco. ¿Qué debo hacer?