Репозиторий Vulcan-starter содержит несколько руководств, в которых пошагово объясняется, как использовать VulcanJS. Каждое руководство запускается локально как приложение-метеор и описывает каждый шаг непосредственно в браузере. Если упомянутые файлы изменяются соответствующим образом, веб-сайт обновляется автоматически, и обучение продолжается.

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

VulcanJS находится в разработке несколько лет. Название Vulcan используется только с версии 1.3.2 - ранее каркас под названием telescope nova был малоизвестен. Изначально началось с версии Meteor 0.8. Чтобы добраться до текущего состояния, фреймворку пришлось провести много работы по рефакторингу. Кое-где это еще заметно. Не все руководства соответствуют текущим правилам Meteor Guide, и не все видео соответствуют описаниям и связанному исходному коду. Но это не имеет большого значения, поскольку эти руководства будут обновляться постепенно.

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

Другой подход к развитию

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

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

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

Как понять эту пакетную архитектуру объясняется в документации.

Кроме того, VulcanJS отличается от Pup выбором используемых пакетов. Вместо Bootstrap или Fur стиль не привязан к какой-либо конкретной библиотеке. Вместо этого пользователь может выбрать то, что подходит. Также полезно разделить модули и элементы пользовательского интерфейса с расширением .jsx в имени файла.

Вместо площадки graphQL в Pup, VulcanJS использует IDE graphiQL для доступа к API-интерфейсу graphQL. Вместо подготовленных и отдельно сохраненных преобразователей, мутаций и запросов в Pup, VulcanJS объясняет, что делает преобразователь, и собирает связанные данные вместе.

Первоначальное заполнение базы данных случайными значениями, которое было реализовано в Pup с помощью собственного Seeder Package, отсутствует в VulcanJS. Начальные значения создаются здесь только статически - вклад случайной составляющей или взаимозависимых данных должен быть реализован вами.

VulcanJS также обеспечивает простую поддержку многоязычного вывода текста с помощью пакета I18n.

Заключение и рекомендация

В принципе, я могу сказать: чем дальше и более ограничена функциональность разрабатываемого приложения, тем больше я бы посоветовал использовать Pup. Если требования довольно расплывчаты или если навыки работы с Meteor еще не установлены, мы рекомендуем использовать VulcanJS.

Первоначально опубликовано на qnipp GmbH. Также доступна немецкая версия.

Комментарий сопровождающего пакета

Саша Грейф прокомментировал статью на Метеорном форуме:

Спасибо за обзор! Вы затронули его, но я думаю, что ключевое отличие состоит в том, что Pup - это шаблон, а Vulcan - это фреймворк. Другими словами, в соответствии с архитектурой Vulcan вы можете легко добавлять / удалять / обновлять пакеты в любой момент времени существования вашего приложения, тогда как с шаблоном вы как бы сами по себе после того, как начнете. Я думаю, что у них обоих есть свои плюсы и минусы, как вы отметили.

(Я также думаю, что Vulcan и Pup могут отличаться, когда дело доходит до реальных функций, но я недостаточно знаком с Pup, чтобы сказать)