Первоначально опубликовано в https://strongloop.com/strongblog/loopback-4-2019-q1-overview/

Когда команда LoopBack выпустила версию LoopBack 4 GA в октябре прошлого года, они не остановились, чтобы почивать на лаврах. Команда была занята улучшением фреймворка, устранением пробелов в функциях и помощью сообществу в работе с LoopBack 4.

Начиная с GA, мы сосредоточились на реализации/улучшении следующих основных областей:

Большое спасибо за вашу поддержку и вклад! Мы видим более чем удвоение количества ежемесячных загрузок на npmjs.com после GA. Мы также наблюдаем увеличение активности сообщества в плане ответов на вопросы других и отправки запросов на вытягивание. За последние 3 месяца более 15% запросов на слияние исходят от сообщества. Хотите помочь, но новичок в открытом исходном коде? Не волнуйтесь, это пошаговое руководство проведет вас через процесс внесения вклада.

Рассмотрим подробнее каждую эпопею.

Аутентификация

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

Отношения модели

Помимо hasMany и belongsTo мы добавили еще один тип отношения:

hasOne.

Мы получили много интереса к другим типам отношений, таким как hasManyThrough. Некоторые из вас внедряют интерфейс командной строки для создания отношений модели (lb4 relation). Это на пути!

Включение связанной модели при запросе данных — популярная функция, которая пока недоступна в LoopBack 4. Первоначальное исследование было завершено необходимостью лучшего изучения того, как представлять навигационные свойства, используемые для включения данных связанных моделей. Мы изучили несколько альтернатив и нашли решение, которое не только хорошо работает как с типами TypeScript, так и со схемой OpenAPI, но также является достаточно гибким для поддержки других вариантов использования, таких как частичные обновления и исключение автоматически сгенерированных свойств при создании новых экземпляров модели. Вы можете узнать больше в нашем блоге Мартовская веха.

Миграция

Ранее в этом году мы объявили о продлении долгосрочной поддержки LoopBack 3. Если вы используете более старую версию LoopBack, не пропустите объявление в блоге.

Между тем, мы провели много исследований, чтобы улучшить опыт разработчиков при переносе приложений LoopBack 3 на LoopBack 4. Одна из целей — предоставить вам возможность постепенно мигрировать приложения. Мы исследовали, как подключить маршрутизатор Express со спецификацией OpenAPI, и выполнили всплеск подключения приложения LoopBack 3 и включения его REST API в спецификацию OpenAPI.

В ближайшие недели и месяцы мы собираемся реализовать истории, идентифицированные спайком и сгруппированные в эпике Смонтировать приложение LB3 в LB4. Быть в курсе!

Расширяемость

Одна из наших целей для LoopBack 4 — создать минимальное ядро, позволяя реализовать все остальное с помощью расширений. Мы продолжали улучшать расширяемость платформы. Мы представили context.view и связанные события, а также добавили пример greeter-extension. Поддержка жизненного цикла и конфигурация/внедрение привязки появятся в ближайшее время.

Принятие пользователем

Поскольку LoopBack — это фреймворк Node.js, мы рассмотрели распространенные варианты использования для разработчиков Node.js, чтобы придумать, как облегчить переход на LoopBack. Получая обратную связь из различных источников, мы имеем:

  • Исследовал возможность использования JavaScript при разработке приложений LoopBack 4. Подробности читайте в нашем недавнем сообщении в блоге.
  • Добавлен пример того, как монтировать промежуточное ПО Express в приложение LoopBack.

Экспериментальный

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

Хотя мы хотим убедиться, что код высокого качества входит в нашу кодовую базу, что может потребовать нескольких итераций, мы ищем способы выпускать экспериментальные функции, чтобы наши пользователи могли заглянуть раньше и оставить отзыв. Мы ждем ваших отзывов о том, как мы можем развернуть экспериментальные функции в GitHub issue #2676.

Что дальше?

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

Предыдущие блоги вех

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

Призыв к действию

Будущий успех LoopBack зависит от вас. Мы ценим вашу постоянную поддержку и участие, чтобы сделать LoopBack еще лучше и значимее для вашего опыта создания API. Присоединяйтесь к нам и помогите проекту: