Я искал альтернативы и потерпел неудачу.

Для тех, кто любит разрабатывать приложения, вы быстро поймете, что чем меньше времени вы тратите на свое приложение и чем больше времени вы тратите на управление фреймворками, это может подорвать вашу продуктивность И ваше творчество.

Нет ничего более демотивирующего, чем попытка соединить три или четыре системы вместе плавным и безопасным способом. Даже хорошо зарекомендовавшие себя системы, такие как WordPress (хотя технически не «приложение»), могут иметь проблемы с производительностью и совместимостью. Поддерживать все эти системы в актуальном состоянии и молиться о том, чтобы все прошло гладко, даже если вы приехали из постановочной среды, - это может нервировать.

Первоначально, когда я наткнулся на Meteor от коллеги по работе в 2015 году, я не понял, о чем шла речь. Вся подписка и «вызовы методов» казались большой проблемой по сравнению с простым выполнением запроса POST. В то время у меня было твердое представление об Android, и мне нравилось разрабатывать с его помощью, поскольку Java просто имела для меня смысл, хотя PHP казался довольно неуклюжим.

После использования Meteor в течение последних 4 лет я изо всех сил пытался найти что-то еще, что могло бы сравниться с ним. Хотя Meteor подходит не для всех приложений (особенно для игр), не так много общих приложений, которые не могут нормально работать с ним. Это логично, поскольку почти все основные веб-сайты совместимы с мобильными устройствами, поэтому заключать их в контейнер веб-браузера и выпускать как приложение имеет смысл.

Главный довод в пользу того, что вы используете один язык программирования, и у вас есть подходящее приложение для Android / iOS, веб-сайт и серверная система для его работы. Бонус в том, что вы также можете создавать приложения Meteor с помощью React, хотя, к сожалению, не React Native (я пробовал использовать React Native с Meteor, это было не очень красиво).

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

Причина этого очевидна; прототипирование приложения безумно быстрое. Когда дело доходит до подключения к бэкэнду, это просто выбор: хочу ли я передавать данные в реальном времени или просто «разовый звонок»? Выполнить любой из них очень просто и без проблем. Нет API, который нужно настраивать, или какой-либо безопасности вокруг него, кроме логики на основе приложений. Обо всем этом позаботится Meteor.

После того, как ваше приложение прототипировано, вам не нужно переписывать его как «правильное приложение». Вы просто продолжаете работать в Meteor и «полируете» дизайн и код. Из приложений, с которыми я работал, я обычно использую Framework7, который хорошо разработан и оптимизирован для использования на мобильных устройствах. Нет необходимости писать это ни на чем другом. Поразмыслив, вы можете разработать приложение таким образом, чтобы оно действительно ощущалось как «родное приложение», особенно когда дело доходит до использования всплывающих окон для новых экранов для имитации «действий» Android.

Однако с Meteor есть несколько проблем, особенно когда дело доходит до масштабирования. Большинство из них мне удалось преодолеть, ограничив использование «подписок» и максимально используя конвейеры агрегации Mongo. Однако эти проблемы не представляют особой проблемы, потому что у большинства фреймворков есть проблемы с масштабированием, если вы действительно не знаете, как их оптимизировать. Даже в WordPress могут возникнуть проблемы, если вы не знаете, как его правильно оптимизировать / разместить. Сильная сторона в поддержке и масштабировании системы заключается в изучении ее сильных и слабых сторон и умении использовать их в своих интересах.

В 2020 году я по-прежнему буду использовать Meteor и продолжу изучать React. Я в значительной степени освоил BlazeJS (интерфейсный фреймворк Meteors по умолчанию), поэтому освоение React - хорошее направление. Будет интересно посмотреть, появятся ли какие-либо альтернативы, которые могут напрямую сравниваться с Meteor, и в каком направлении они будут двигаться.