Чому вам слід працювати з Meteor у 2020 році

Meteor, нібито мертва платформа розробки, все ще живе і може внести величезну цінність у ваш щоденний досвід кодування.

Метеор з’явився на початку 2012 року, вразивши світ веб-розробки. Можливість подолання розриву між сервером і клієнтом певного веб-сайту чи веб-програми була справді спокусливою.

Багато експертів вважали, що лише ця можливість повинна перетворити платформу на загальноприйнятий галузевий стандарт. Тим не менше, через вісім років багато людей стверджують, що Метеор помер.

Невже це так? І чи є якесь раціональне виправдання для вивчення Метеора? Ця стаття дасть вам остаточну відповідь.

Метеор мертвий! Хай живе Метеор!

Багато розробників вважають, що Meteor мертвий. Популярне пояснення просте: представлене в 2012 році, воно вже мало перспективний набір функцій у 2015 році, але не змогло їх значно розширити.

Деякі з вас, можливо, навіть чули про проблеми з фінансуванням команди розробників. Для багатьох людей одного цього факту достатньо, щоб раз і назавжди забути про платформу.

Однак реальність набагато оптимістичніша, ніж може здатися. Сьогодні розробники Meteor отримують стабільне фінансування від Tiny, одного з найнадійніших інвестиційних фондів в ІТ. Історія версій також показує, що платформа розробки ще далеко не мертва, причому останні версії мають горде позначення 1.10.1, випущені в лютому 2020 року

Таким чином, якщо вам завжди таємно сподобався Метеор, але ви боялися обрати платформу через постійні повідомлення про її загибель, то зараз ідеальна можливість залізти на хайп-поїзд.

Повідомлення про смерть Метеора сильно перебільшені, і можливість його успіху сильно занижена.

Безпрецедентна простота: ключові особливості Метеора

Тепер, коли ми з’ясували статус Метеора, настав час описати деякі його вбивчі особливості. Meteor, безсумнівно, є одним із найбільш багатофункціональних і, водночас, простих у використанні фреймворків JavaScript на сьогодні.

Вбивча особливість 1: уніфікована розробка клієнтів та серверів

Meteor, як ми вже згадували раніше, відрізняється своєю здатністю подолати розрив між стороною сервера та клієнта будь-якого проекту. Таким чином, кожен аспект вашого веб-сайту може бути розроблений виключно за допомогою JavaScript.

Переваги цієї функції безмежні в сучасному світі розробок і цінні як для молодих, так і для досвідчених розробників.

Перш за все, такий підхід дозволяє розробникам створювати проекти без досвіду роботи з іншими мовами програмування.

Таким чином, талановитий, але недосвідчений програміст JavaScript може без проблем підтримувати кілька проектів Meteor. Досвідчені розробники можуть піти ще далі, підтримуючи цілі екосистеми послуг та продуктів через платформу Meteor.

Отже, прийняття Meteor у вашій компанії може стати надзвичайним благом для всіх залучених сторін.

  • Ваші програмісти зможуть розвивати більше і витрачати менше часу на виснажливий процес вивчення додаткових фреймворків та мов програмування.
  • Вашим клієнтам сподобається нижча ціна на послуги.
  • І ви отримаєте більший прибуток після прийняття рамок.

Сьогодні незалежні розробники також можуть бути головними благодійниками платформи для розробки. Зрештою, можливість використовувати лише одну мову для особистих програм дасть вам можливість брати участь у більшій кількості проектів-фрілансерів.

Вбивча особливість 2: Перетворення веб-додатків у програми для смартфонів

Кожна компанія, яка розробляє певний веб-додаток, прагне мати версію свого продукту для смартфонів. Переваги такої стратегії досить очевидні: зрештою, сьогодні кожен має телефон Android або iOS.

Однак підприємства, які шукають версії своїх програм для смартфонів, часто стикаються з проблемою великих витрат на розробку. Мобільні версії їх веб-програм часто відтворюються з нуля.

Якщо їм пощастить, цей процес може залучати лише платформи на стороні клієнта. Однак рамки розробки смартфонів настільки розходяться, що іноді доводиться розширювати як клієнта, так і сервер.

Ми повністю впевнені, що ви бачили неприємні ситуації, коли певні веб-програми мають лише клієнти iOS або Android для смартфонів. Відсутність єдності щодо рамок є головним винуватцем у цій справі.

Meteor пропонує елегантне та розширюване рішення цієї проблеми. Завдяки потужній інтеграції Meteor з Apache Cordova, ви можете швидко перетворити свій веб-додаток на додаток для смартфона без значних вкладень.

З суто технічної сторони такий перехід можливий завдяки вбудованим контейнерним можливостям Meteor та Cordova. Все, що вам потрібно зробити, - це вставити веб-програму в заздалегідь розроблений контейнер для смартфона.

Іншим важливим вибором дизайну є підхід, який Метеор застосовує до даних. Meteor використовує дані на дроті - сервер не надсилає HTML, а дані, які потім надає клієнт. Якщо дизайн вашого веб-додатка вже є сенсорним, ви можете негайно перенести свою нову програму в App Store або Google Play Market разом із Meteor.

Якщо це не так, все, що вам потрібно буде зробити, це трохи відрегулювати дизайн, використовуючи мову JavaScript. По суті, процес був би схожий на розробку мобільної версії веб-сайту.

Ще раз, такий підхід заощадить вам небувалий час і гроші. Замість того, щоб наймати деяких спеціалізованих розробників смартфонів, ви зможете повністю сконцентруватися на своїх веб-програмах. Ця особливість також життєво необхідна з чисто естетичної точки зору. Метеор - один із найкращих інструментів, коли йдеться про уніфікацію дизайну вашої продукції.

Використання уніфікованої платформи допоможе вам сформувати професійний стандартизований вигляд у всіх сферах бізнесу.

Вбивча особливість 3: Оновлення в режимі реального часу

Метеор також здатний оновлювати в режимі реального часу або так звану "реактивність повного стеку". Внесені вами зміни негайно з’являються у всіх базах даних і шаблонах стилів. Таким чином, ви одразу зможете побачити критичні помилки і подвійно перевірити функції, не вимагаючи нудного оновлення веб-сторінок та певних програм.

Ця особливість має життєво важливе значення, коли мова йде про великі команди. Миттєві оновлення бачать усі члени команди, створюючи ідеальне середовище для спільного розвитку. Зрештою, ваші веб-програми та програми для смартфонів значно виграють від цієї функції, оскільки це робить виправлення помилок неймовірно простим.

Не вдаючись у подробиці, одним із способів реалізації функції є функція публікації / передплати.

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

Це створює публікацію для всього, що знаходиться в колекції myAwesomeData. Ця функція публікації вимагається кожного разу, коли клієнт підписується на неї. Отже, давайте створимо підписку.

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

Тепер усі передплатники отримуватимуть оновлення щоразу, коли надсилатиметься запит на публікацію. Крім того, ми можемо отримувати дані за допомогою певного параметра.

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

Останній фрагмент коду отримує дані за допомогою певного імені користувача:

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

Вбивча особливість 4: Просте управління пакетами

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?