Por qué debería trabajar con Meteor en 2020

Meteor, una plataforma de desarrollo supuestamente muerta, todavía está viva y puede aportar un valor enorme a su experiencia de codificación diaria.

Meteor apareció a principios de 2012, sacudiendo el mundo del desarrollo web. La posibilidad de cerrar la brecha entre el servidor y el lado del cliente de un sitio web o aplicación web en particular era realmente tentadora.

Muchos expertos pensaron que esta capacidad por sí sola debería haber convertido la plataforma en un estándar de la industria principal. Sin embargo, ocho años después, muchas personas afirman que Meteor está muerto.

¿Es eso así? ¿Y hay alguna justificación racional para aprender Meteor? Este artículo te dará una respuesta definitiva.

¡Meteoro ha muerto! ¡Viva Meteoro!

Muchos desarrolladores creen que Meteor está muerto. La explicación popular es simple: se introdujo en 2012, ya tenía un conjunto prometedor de características en 2015, pero no logró extenderlas significativamente.

Es posible que algunos de ustedes también hayan oído hablar de los problemas con la financiación del equipo de desarrollo. Para muchas personas, este solo hecho es suficiente para olvidarse de la plataforma de una vez por todas.

Sin embargo, la realidad es mucho más optimista de lo que parece. Actualmente, los desarrolladores de Meteor reciben financiación estable de Tiny, uno de los fondos de inversión más fiables en TI. El historial de versiones también muestra que la plataforma de desarrollo está lejos de estar muerta, y las iteraciones más recientes tienen una orgullosa designación 1.10.1 lanzada en febrero de 2020.

Por lo tanto, si siempre te ha gustado en secreto Meteor pero tenías miedo de elegir la plataforma debido a los constantes informes de que estaba muerta, ahora es la oportunidad perfecta para subirte al tren del bombo.

Los informes de la muerte de Meteor son muy exagerados y la posibilidad de su éxito se subestima en gran medida.

Simplicidad sin precedentes: las características clave de Meteor

Ahora que hemos aclarado el estado de Meteor, es hora de describir algunas de sus características principales. Meteor se encuentra sin duda entre los frameworks JavaScript más ricos en funciones y, al mismo tiempo, fáciles de usar en la actualidad.

Característica principal 1: Desarrollo unificado de clientes y servidores

Meteor, como hemos mencionado antes, se destaca por su capacidad para cerrar la brecha entre el lado del servidor y el cliente de cualquier proyecto. Por lo tanto, todos los aspectos de su sitio web se pueden desarrollar únicamente a través de JavaScript.

Los beneficios de esta función son ilimitados en el mundo del desarrollo moderno y son valiosos tanto para los desarrolladores principiantes como para los experimentados.

Sobre todo, este enfoque permite a los desarrolladores crear proyectos sin experiencia con otros lenguajes de programación.

Por lo tanto, un programador de JavaScript talentoso pero sin experiencia puede mantener fácilmente varios proyectos de Meteor sin ningún problema. Los desarrolladores experimentados pueden ir aún más lejos, manteniendo ecosistemas completos de servicios y productos a través de la plataforma Meteor.

En consecuencia, la adopción de Meteor en su empresa puede ser una bendición extraordinaria para todas las partes involucradas.

  • Sus programadores podrán desarrollar más y dedicar menos tiempo al agotador proceso de aprender marcos y lenguajes de programación adicionales.
  • Sus clientes disfrutarán de precios más bajos en los servicios.
  • Y obtendrá mayores beneficios después de la adopción del marco.

Los desarrolladores independientes también pueden ser los principales benefactores de la plataforma de desarrollo en la actualidad. Después de todo, la capacidad de utilizar un solo idioma para programas personales le dará la oportunidad de realizar más proyectos independientes.

Killer Feature 2: Transformar aplicaciones web en programas para teléfonos inteligentes

Toda empresa que desarrolla una aplicación web específica busca tener una versión de su producto para smartphone. Los beneficios de tal estrategia son bastante obvios: después de todo, todos tienen un teléfono Android o iOS hoy.

Sin embargo, las empresas que buscan versiones de sus aplicaciones para teléfonos inteligentes a menudo enfrentan el problema de los enormes costos de desarrollo. Las versiones móviles de sus aplicaciones web a menudo se recrean desde cero.

Si tienen suerte, este proceso podría involucrar solo a las plataformas del lado del cliente. Sin embargo, los marcos de desarrollo de teléfonos inteligentes son tan divergentes que a veces tanto el cliente como el servidor deben ampliarse.

Estamos bastante seguros de que ha visto situaciones frustrantes en las que ciertas aplicaciones web solo tienen clientes iOS o Android para teléfonos inteligentes. La falta de unidad con respecto a los marcos es el principal culpable en este caso.

Meteor ofrece una solución elegante y extensible a este problema. Debido a la potente integración de Meteor con Apache Cordova, puede convertir rápidamente su aplicación web en una aplicación para teléfono inteligente sin una inversión significativa.

En el aspecto puramente técnico, esta transición es posible gracias a las capacidades de contenedor integradas de Meteor y Cordova. Todo lo que tendría que hacer es insertar su aplicación web en un contenedor de teléfono inteligente desarrollado previamente.

Another critical design choice is the approach Meteor takes with data. Meteor uses data on the wire – the server doesn't send HTML but data, which is then rendered by the client. If the design of your web app is already touchscreen-friendly, you can immediately push your new program into the App Store or Google Play Market with Meteor.

If that is not the case, all you would have to do is slightly adjust the design using the JavaScript language. Essentially, the process would be similar to developing a mobile version of a website.

Once again, such an approach will save you unprecedented amounts of time and money. Instead of having to hire some dedicated smartphone developers, you will be able to fully concentrate on your web apps. This feature is also vital from a purely aesthetic standpoint. Meteor is one of the best tools when it comes to making the design of your products uniform.

The use of a unified platform will help you establish a professional standardized look in all business spheres.

Killer Feature 3: Real-Time Updates

Meteor is also capable of real-time updates, or so-called "full-stack reactivity." The changes you make immediately appear across all databases and style templates. In this way, you would be immediately able to see critical bugs and double check the features without having to tediously update web pages and certain programs.

This feature is of vital importance when it comes to large teams. The immediate updates are visible to all team members, creating a perfect environment for collaborative development. Ultimately, your web apps and smartphone programs will significantly benefit from this feature as it makes bug fixing incredibly simple.

Without going into details, one way of implementing the feature is a publication/subscription functionality.

// Code on the server side const MyAwesomeData = new Mongo.Collection('myAwesomeData'); Meteor.publish('myAwesomeData', () => { return MyAwesomeData.find() })

It creates a publication for everything in the collection myAwesomeData. This publish function is requested whenever a client subscribes to it. So, let's create a subscription.

// Code on the client side Meteor.subscribe('myAwesomeData')

Now, all the subscribers will receive updates whenever a publication is requested. Also, we can receive data using a specific parameter.

// Code on the server side Meteor.publish('myAwesomeData', (userName) => { return Comments.find({ userName: userName }) })

The last piece of code retrieves data using a specific user name:

// Code on the client side const userName = 'Jack Sparrow' Meteor.subscribe('myAwesomeData', userName)

Killer Feature 4: Easy Package Management

Often, the deployment of modified versions of development frameworks requires a significant expenditure of time and resources. Meteor, however, is extremely user-friendly in this regard, offering some of the best package management tools on the market.

Today, the community of the Meteor developers maintains a gargantuan database of extensions on the AtmosphereJs website. Some of the popular extensions include tools for embedding ReactJS and Vulcan Bootstrap.

To install an Atmosphere package, you simply run the following command meteor add nameOfThePackage:

meteor add react-meteor-data

And to delete a package:

meteor remove react-meteor-data

To import and start using it in code, you should use the "meteor/" prefix:

import { useTracker } from 'meteor/react-meteor-data';

More information can be found here: //guide.meteor.com/using-atmosphere-packages.html#peer-npm-dependencies

This feature is especially impressive considering its simplicity. The installation process only requires a set of simple commands that almost any advanced Windows or Linux user should already be comfortable with.

Even if you are an absolute beginner, you should have absolutely no problems with setting up a basis for even the most complex programs.

Thus, any person can swiftly create app prototypes and make them feature-rich by using this robust library of extensions and the advanced package management tools provided by some of the Meteor developers and the active community that surrounds the framework.

Killer Feature 5: Extensive Learning Resources and Documentation

One of the key problems of many open-source projects is the complete lack of proper documentation. This problem led to the death of countless promising projects as outside developers were often forced to essentially reverse-engineer their features.

Do not worry – Meteor is unlikely to fall victim to this problem. After all, the website of the platform has a powerful set of tutorials for beginners and a whole subsection is dedicated to documentation.

We recommend these resources to both the beginners and the advanced users.

If you are new to web development, Meteor tutorials will help you create your first web apps (one of the highlights includes a Whatsapp clone).

If you are an advanced developer, the tutorials will quickly teach you the basics of Meteor. After that, you will just need to check the documentation from time to time to resolve some issues.

Killer Feature 6: Active Community          

If you fail to find information on the Meteor website, you can always resort to the robust forums.

We have spoken extensively about the death of Meteor in the first section of this article. Few facts defy this claim as much as the community of Meteor users.

As the massive extension library of Meteor proves, the framework receives active support not only from its developers but also from the community.

At the time of Meteor's presumed death, the interest from developers regarding the platform was seeing unprecedented growth. Consequently, the framework now has an incredibly passionate user base which is always ready to troubleshoot your problems.

Many people (including myself) know that Meteor’s community is among the nicest on the Internet. You are unlikely to meet any hostility there, and many active members are eager to help newcomers.

Since Meteor developers have received a significant financial boost from the Tiny Investment Fund, this community is likely to grow even more. Thus, your adoption of Meteor is likely to be very smooth as countless developers will be be ready to assist you.

Conclusion: So, Should You Learn Meteor?

The short answer is simple: yes, undoubtedly.

Knowledge of the Meteor platform is the perfect addition to any developer's portfolio.

  • If you primarily develop with JavaScript, the platform will help you or your company cut time expenditures on creating separate client and server projects.
  • If you are an independent developer who uses C# or Ruby, Meteor can be a perfect entry point into JavaScript development. It will allow you to create independent web app projects with one programming language.
  • If you are an absolute beginner, the platform will help you create your first well-functioning apps after just a few weeks.
  • If you want to establish a startup, Meteor can be a perfect starting point for quickly creating a powerful prototype of your future web app. More importantly, the tool is robust enough to make any transition to other platforms unnecessary after prototyping.

Essentially, with Meteor, only the sky is the limit. Modern development is becoming more and more web-centric. Meteor perfectly reflects this trend, offering an all-encompassing platform for web developers.

By using it, you will be able to create a seamless integration of web and mobile apps, both of which are the future of consumer-centric computing.

Do you have an idea for a JavaScript project?

My company KeenEthics is an early adopter of the Meteor framework and a well-established JavaScript company in general. In case you have a promising project in mind, feel free to request an estimate.

If you have enjoyed the article, you should continue with What Are the Advantages of Node.JS? and Angular vs React: What to Choose for Your App?