Современный взгляд на платформу Slack в Node.js

Хорошие новости: теперь доступна версия 4.0 Slack Node SDK. Вы можете установить пакет из npm сегодня (@slack/client), который включает определения TypeScript, более удобные API и улучшения производительности. Если вы создали приложение Slack с использованием более старых выпусков SDK, прочтите наше руководство по миграции, чтобы обновить его до последней версии.

Это обновление выходит за рамки этапов эволюции, которые мы реализовали в предыдущих версиях Node SDK, и включает в себя некоторые очень востребованные функции. Давайте сразу перейдем к основным моментам.

Прекрасная разработка с типизированными интерфейсами

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

В версии 4 мы проясняем эту информацию, сохраняя исходный код нашего SDK в TypeScript.

Объявление интерфейсов SDK с явными типами открывает двери для более разумного завершения кода, экономя время разработки. Самое приятное, что вам не нужно ничего делать по-другому: многие современные редакторы кода (такие как Atom, VS Code и WebStorm) загораются этими подсказками. В зависимости от выбранного вами редактора вы можете использовать эту информацию для линтинга, интерактивного выделения ошибок или рефакторинга файлов. Даже классические редакторы, такие как vim и emacs, имеют плагины, использующие декларативные типы.

Создание с интуицией

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

Каждый из методов веб-API платформы Slack имеет набор обязательных и необязательных аргументов. В предыдущих версиях SDK нужно было знать, какие аргументы требуются и в каком порядке. Теперь вы предоставляете аргументы в объекте "ключ-значение", поэтому порядок не имеет значения.

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

Обновления с предсказуемой скоростью

Многим корпоративным компаниям требуются предсказуемые циклы выпуска с установленными сроками поддержки. Когда Node.js Foundation опубликовал График долгосрочной поддержки (LTS), это позволило многим крупным компаниям полагаться на технологии в критически важных для бизнеса проектах. Основываясь на этом успехе, мы представляем график поддержки для Node Slack SDK, чтобы вы могли планировать более эффективно.

TL; DR: раз в год, когда в расписании Node.js LTS указано, что версия удаляется, мы также можем прекратить поддержку основной версии Slack Node SDK. После объявления у вас будет не менее 90 дней на то, чтобы выбрать стратегию перехода. Посетите нашу вики, чтобы получить более подробную информацию о графике поддержки Node SDK.

Переход с предыдущих версий

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

Самым заметным изменением, о котором мы объявили в v3.15.0, является то, что DataStore не будет использоваться. По мере развития платформы Slack и включения Slack Enterprise Grid и Shared Channels многие из основных предположений проектирования DataStore не выполнялись. Если ваше приложение использует DataStore, это руководство содержит инструкции по уходу от него.

Установите packagenpm install @slack/client@4, чтобы попробовать последнюю версию, или посетите наш репозиторий GitHub, чтобы узнать больше. Мысль или просьбы? Отправьте нам сообщение на [email protected].