Прекратите заново изобретать SPFx: 5 обязательных контролов PnP React, которые должен использовать каждый разработчик
By Mirko Peters ·
Узнайте, как перестать заново изобретать решения SPFx. Разберите, как контролы PnP React и компоненты сообщества Microsoft 365 ускоряют разработку веб-частей для корпоративной среды.
Automatically translated with AI from the original post. Read the English original
![Cover: Stop Reinventing SPFx- Building Better SharePoint Solutions with PnP React Controls with Siddharth Vaghasia [MVP]](https://d3wo5wojvuv7l.cloudfront.net/t_rss_itunes_square_1400/images.spreaker.com/original/39e91285397053de371efe06eda2fa15.jpg)
Создание собственных решений SharePoint Framework с нуля отнимает драгоценное время и инженерные ресурсы. Используя открытую библиотеку PnP React Controls, разработчики могут сразу интегрировать готовые к промышленной эксплуатации компоненты, которые понимают Microsoft 365, например People Picker и File Picker. Это ускоряет разработку современных веб-частей и помогает сохранять единообразие интерфейса.
Главное
- Перестаньте писать собственные компоненты для стандартных функций, которые уже есть в экосистеме PnP.
- Используйте React-контролы, которые понимают SharePoint и Microsoft 365, чтобы существенно сократить объём кода.
- Сначала используйте готовые функции Microsoft, затем контролы PnP, и только в последнюю очередь пишите собственный код.
- Освойте пять ключевых контролов: People Picker, Taxonomy Picker, List View, File Picker и Live Persona.
- Повышайте производительность и единообразие приложений, опираясь на протестированные сообществом элементы интерфейса.
Скрытая цена собственной разработки для SharePoint
Разработка на современном SharePoint Framework (SPFx) часто попадает в предсказуемую ловушку: разработчик получает требование к собственной веб-части, открывает новый шаблон проекта и сразу начинает писать собственные слои TypeScript, CSS и взаимодействия с API для стандартных элементов интерфейса. Создание собственного выбора пользователей, выпадающего списка управляемых метаданных или расширенного средства выбора файлов с нуля занимает дни, а то и недели тщательного написания кода, тестирования и отладки.
В корпоративной разработке такой подход часто совершенно не нужен. Открытое сообщество Microsoft 365 Patterns and Practices (PnP) годами создавало, тестировало и оптимизировало готовые к промышленной эксплуатации React-компоненты, предназначенные именно для разработчиков SPFx. Вместо того чтобы заново изобретать велосипед для каждого клиентского проекта, опытные разработчики придерживаются иерархии на основе компонентов: сначала используют стандартный функционал SharePoint, затем Microsoft Fluent UI или контролы PnP React и только при наличии уникальной бизнес-логики создают полностью собственные компоненты.
Пять контролов PnP React, которые должен знать каждый разработчик SPFx
Библиотека контролов PnP React предлагает обширный набор инструментов для разработчиков современной цифровой рабочей среды, однако несколько компонентов решают большинство типовых корпоративных задач. Интеграция этих пяти контролов в ваш следующий проект SPFx сэкономит множество часов разработки.
1. People Picker
People Picker, пожалуй, самый востребованный компонент в разработке корпоративных интрасетей. Будь то назначение задач, маршрутизация согласований или отображение участников проекта, ручной запрос к Azure AD или Microsoft Graph требует обработки отложенного поиска, кэширования, асинхронных запросов и отрисовки подробных профилей. Контрол PnP People Picker скрывает эту сложность и предлагает готовый интерфейс поиска, который изначально учитывает границы организации и разрешения каталога.
2. Taxonomy Picker
Управляемые метаданные и корпоративные таксономии составляют основу современной информационной архитектуры SharePoint. Создание интерфейса выбора в виде дерева или набора терминов, который корректно работает с хранилищем терминов SharePoint (Term Store), быстро может стать серьёзной головной болью. Элемент PnP Taxonomy Picker подключается напрямую к группам терминов и наборам терминов, предоставляя интуитивно понятный выпадающий список или модальный выбор без необходимости писать собственную логику REST-запросов к конечным точкам службы таксономии.
3. List View
Вывод табличных данных — постоянная задача в бизнес-приложениях. Вместо того чтобы создавать собственные HTML-таблицы с логикой сортировки, фильтрации и постраничного вывода, элемент PnP List View предоставляет богатую сетку, учитывающую данные. Он повторяет внешний вид и поведение современных интерфейсов списков SharePoint, что позволяет вашим пользовательским веб-частям органично вписываться в среду Microsoft 365 и заметно сокращает объём кода на стороне клиента.
4. File Picker
Выбор документов из библиотек документов SharePoint, коллекций сайтов, OneDrive или публичных URL-адресов связан с работой со сложными асинхронными API выбора. Элемент PnP File Picker объединяет этот выбор из нескольких источников в единый, цельный компонент интерфейса. Пользователи могут легко просматривать, загружать и выбирать файлы, а разработчикам не нужно писать собственные модальные окна и подпрограммы управления файлами.
5. Live Persona
Корпоративная совместная работа опирается на контекст пользователя. Элемент Live Persona позволяет разработчикам выводить развёрнутые карточки пользователей с индикаторами присутствия, контактными данными, организационными диаграммами и ссылками для прямой связи (например, чат в Teams или письмо в Outlook), достаточно передать адрес электронной почты или идентификатор пользователя. Он мгновенно превращает простую таблицу данных или дашборд в интерактивный опыт работы с Microsoft 365.
Как создавать лучшие приложения с PnP
Использование PnP React Controls меняет подход к архитектуре решений SharePoint. Вместо того чтобы рассматривать веб-части SPFx как изолированные острова пользовательского кода, разработчики могут собирать сложные бизнес-приложения, например панели управления проектами, инструменты распределения ресурсов и клиентские порталы, соединяя между собой надёжные компоненты от сообщества.
Поскольку эти элементы изначально учитывают специфику SharePoint, они надёжно обрабатывают токены аутентификации, запросы к Graph и состояния ошибок сразу после установки. Это существенно уменьшает количество потенциальных ошибок, помогает соответствовать стандартам доступности и делает проект чистым и простым в поддержке при будущих обновлениях.
Заключение
Хватит тратить спринты на создание стандартных компонентов интерфейса с нуля. Используя библиотеку PnP React Controls, вы можете выпустить готовые к продакшену, быстрые и аккуратно оформленные решения SharePoint за долю прежнего времени. Чтобы глубже разобраться в архитектуре современного SPFx, настройке производительности и стратегиях, которыми делятся эксперты сообщества, послушайте полный выпуск с участием MVP Microsoft Siddharth Vaghasia в подкасте M365 FM.
Часто задаваемые вопросы
Что такое PnP React Controls?
PnP React Controls — это набор open-source компонентов пользовательского интерфейса, создаваемых сообществом, которые учитывают специфику SharePoint и Microsoft 365. Они разработаны специально для разработчиков SharePoint Framework (SPFx), чтобы ускорить создание приложений.
Чем элементы PnP отличаются от Fluent UI?
Fluent UI предоставляет базовые атомарные элементы дизайна, такие как стандартные кнопки и текстовые поля, а PnP React Controls предлагают сложные бизнес-компоненты, например выбор людей и выбор таксономии, которые уже настроены с логикой получения данных, необходимой для окружений Microsoft 365.
Готовы ли PnP React Controls к использованию в продакшене?
Да. Их активно поддерживают глобальное сообщество Microsoft 365 Patterns and Practices и MVP Microsoft, а эти компоненты используются в тысячах корпоративных производственных сред по всему миру.
Нужен ли мне Pnpjs, если я использую PnP React Controls?
Да, Pnpjs и PnP React Controls выполняют взаимодополняющие роли. Pnpjs упрощает доступ к данным и вызовы API SharePoint и Microsoft Graph, а PnP React Controls предоставляют компоненты интерфейса, которые часто отображают или принимают эти данные.