Защо трябва да работите с Meteor през 2020 г.

Meteor, уж мъртва платформа за разработка, все още е жива и може да донесе огромна стойност на вашето ежедневно кодиране.

Meteor се появи в началото на 2012 г., разтърсвайки света на уеб разработката. Възможността за преодоляване на пропастта между сървърната и клиентската страна на даден уебсайт или уеб приложение беше наистина примамлива.

Много експерти смятат, че само тази възможност е трябвало да превърне платформата в основен индустриален стандарт. Въпреки това, осем години по-късно много хора твърдят, че Метеор е мъртъв.

Дали е така? И има ли рационално оправдание за изучаването на Метеор? Тази статия ще ви даде окончателен отговор.

Метеорът е мъртъв! Да живее Метеор!

Много разработчици вярват, че Meteor е мъртъв. Популярното обяснение е просто: въведено през 2012 г., то вече имаше обещаващ набор от функции през 2015 г., но не успя да ги разшири значително.

Някои от вас може би дори са чували за проблемите с финансирането на екипа за разработки. За много хора само този факт е достатъчен, за да забравят за платформата веднъж завинаги.

Реалността обаче е много по-оптимистична, отколкото може да изглежда. Днес разработчиците на Meteor получават стабилно финансиране от Tiny, един от най-надеждните инвестиционни фондове в ИТ. Историята на версията също така показва, че платформата за разработка далеч не е мъртва, като най-новите итерации имат гордото наименование 1.10.1, пуснато през февруари 2020 г.

По този начин, ако винаги сте харесвали тайно Meteor, но сте се страхували да изберете платформата поради постоянните съобщения за нейната мъртвост, сега е идеалната възможност да се качите на хип влака.

Съобщенията за смъртта на Метеор са силно преувеличени и възможността за успеха му е силно подценена.

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

Сега, след като изяснихме статуса на Метеор, е време да опишем някои от неговите черти-убийци. Meteor несъмнено е сред най-богатите на функции и в същото време лесни за използване JavaScript рамки днес.

Killer Feature 1: Унифицирана разработка на клиенти и сървъри

Meteor, както споменахме по-рано, се отличава със способността си да преодолява разликата между сървърната и клиентската страна на всеки проект. По този начин всеки аспект на вашия уебсайт може да бъде разработен единствено чрез JavaScript.

Предимствата на тази функция са безгранични в съвременния свят на развитие и са ценни както за млади, така и за опитни разработчици.

Преди всичко този подход позволява на разработчиците да създават проекти без опит с други програмни езици.

По този начин талантлив, но неопитен програмист на JavaScript може лесно да поддържа няколко проекта на Meteor без никакви проблеми. Опитните разработчици могат да отидат още по-далеч, поддържайки цели екосистеми от услуги и продукти чрез платформата Meteor.

Следователно, приемането на Meteor във вашата компания може да бъде изключително благо за всички участващи страни.

  • Вашите програмисти ще могат да разработват повече и да отделят по-малко време за изтощителния процес на изучаване на допълнителни рамки и езици за програмиране.
  • Вашите клиенти ще се радват на по-ниски цени на услугите.
  • И ще приберете по-големи печалби след приемането на рамката.

Независимите разработчици също могат да бъдат основните благодетели на платформата за разработка днес. В крайна сметка възможността да използвате само един език за лични програми ще ви даде възможност да предприемете повече проекти на свободна практика.

Killer Feature 2: Трансформиране на уеб приложения в програми за смартфони

Всяка компания, която разработва конкретно уеб приложение, се стреми да има версия на продукта за смартфон. Ползите от такава стратегия са доста очевидни: в края на краищата днес всеки има телефон с Android или iOS.

Въпреки това, бизнесите, които търсят смартфон версии на своите приложения, често се сблъскват с проблема с огромните разходи за развитие. Мобилните версии на техните уеб приложения често се пресъздават от нулата.

Ако имат късмет, този процес може да включва само клиентски платформи. Рамките за разработка на смартфони обаче са толкова различни, че понякога и клиентът, и сървърът трябва да бъдат разширени.

Напълно сигурни сме, че сте виждали разочароващи ситуации, в които определени уеб приложения имат клиенти само за iOS или Android за смартфони. Липсата на единство по отношение на рамките е основният виновник в този случай.

Meteor предлага елегантно и разтегателно решение на този проблем. Поради мощната интеграция на Meteor с Apache Cordova, можете бързо да превърнете уеб приложението си в приложение за смартфон, без значителни инвестиции.

От чисто техническа страна такъв преход е възможен поради възможностите на вградения контейнер на Meteor и Cordova. Всичко, което трябва да направите, е да вмъкнете уеб приложението си в предварително разработен контейнер за смартфон.

Друг критичен избор на дизайн е подходът, който Meteor използва с данните. Meteor използва данни по жицата - сървърът не изпраща HTML, а данни, които след това се визуализират от клиента. Ако дизайнът на вашето уеб приложение вече е удобен за сензорен екран, можете веднага да вкарате новата си програма в App Store или Google Play Market с Meteor.

Ако случаят не е такъв, всичко, което трябва да направите, е леко да коригирате дизайна, използвайки езика JavaScript. По същество процесът ще бъде подобен на разработването на мобилна версия на уебсайт.

Още веднъж подобен подход ще ви спести безпрецедентно време и пари. Вместо да се налага да наемате някои специализирани разработчици на смартфони, ще можете да се концентрирате напълно върху уеб приложенията си. Тази функция е жизненоважна и от чисто естетическа гледна точка. Meteor е един от най-добрите инструменти, когато става въпрос за унифициране на дизайна на вашите продукти.

Използването на единна платформа ще ви помогне да установите професионален стандартизиран вид във всички сфери на бизнеса.

Killer Feature 3: Актуализации в реално време

Meteor също е в състояние да актуализира в реално време или така наречената „реактивност с пълен стек“. Промените, които правите, веднага се появяват във всички бази данни и шаблони за стилове. По този начин бихте могли веднага да видите критични грешки и да проверите повторно функциите, без да се налага да досадно актуализирате уеб страници и определени програми.

Тази функция е от жизненоважно значение, когато става въпрос за големи екипи. Непосредствените актуализации са видими за всички членове на екипа, създавайки идеална среда за съвместно развитие. В крайна сметка вашите уеб приложения и програми за смартфони ще се възползват значително от тази функция, тъй като прави отстраняването на грешки невероятно лесно.

Без да навлизаме в подробности, един от начините за внедряване на функцията е функционалност за публикуване / абонамент.

// 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)

Killer Feature 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?