Przestań tworzyć SPFx od nowa: 5 niezbędnych kontrolek PnP React, których każdy deweloper powinien używać
By Mirko Peters ·
Dowiedz się, jak przestać tworzyć rozwiązania SPFx od nowa. Poznaj, jak kontrolki PnP React oraz komponenty społeczności Microsoft 365 przyspieszają tworzenie webparts dla przedsiębiorstw.
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)
Budowanie niestandardowych rozwiązań SharePoint Framework od podstaw marnuje cenny czas i zasoby inżynieryjne. Dzięki wykorzystaniu biblioteki PnP React Controls o otwartym kodzie deweloperzy mogą natychmiast zintegrować gotowe do użycia, świadome Microsoft 365 komponenty, takie jak selektor osób i selektor plików, co przyspiesza dostarczanie nowoczesnych webparts i zapewnia spójność interfejsu użytkownika.
Najważniejsze wnioski
- Przestań pisać własne komponenty dla standardowych funkcji, które już istnieją w ekosystemie PnP.
- Używaj świadomych SharePoint i Microsoft 365 kontrolek React, aby znacznie ograniczyć ilość kodu.
- Stawiaj na gotowe funkcje Microsoft, w razie potrzeby sięgaj po kontrolki PnP, a własny kod pisz wyłącznie jako ostateczność.
- Opanuj pięć kluczowych kontrolek: selektor osób, selektor taksonomii, widok listy, selektor plików i Live Persona.
- Popraw wydajność i spójność aplikacji, opierając się na elementach interfejsu przetestowanych przez społeczność.
Ukryty koszt niestandardowego tworzenia rozwiązań dla SharePoint
Tworzenie rozwiązań w SharePoint Framework (SPFx) często wpada w przewidywalną pułapkę: deweloper otrzymuje wymaganie dotyczące niestandardowego webparts, otwiera świeży szablon projektu i od razu zaczyna pisać własne warstwy TypeScript, CSS oraz interakcji z API dla standardowych elementów interfejsu. Zbudowanie od zera niestandardowego selektora użytkowników, rozwijanej listy metadanych zarządzanych czy zaawansowanego selektora plików zajmuje dni, a nawet tygodnie starannego kodowania, testowania i debugowania.
W inżynierii oprogramowania dla przedsiębiorstw takie podejście jest często całkowicie zbędne. Otwarta społeczność Microsoft 365 Patterns and Practices (PnP) przez lata tworzyła, testowała i optymalizowała gotowe do produkcji komponenty React przeznaczone specjalnie dla deweloperów SPFx. Zamiast za każdym razem wynajdywać koło od nowa w kolejnym projekcie klienta, doświadczeni deweloperzy stosują hierarchię opartą na komponentach: najpierw korzystają ze standardowej funkcjonalności SharePoint, następnie sięgają po Microsoft Fluent UI lub kontrolki PnP React, a w pełni niestandardowe komponenty tworzą wyłącznie wtedy, gdy wymaga tego unikalna logika biznesowa.
Pięć kontrolek PnP React, które każdy deweloper SPFx powinien znać
Biblioteka PnP React Controls oferuje obszerny zestaw narzędzi dla deweloperów nowoczesnego miejsca pracy, jednak kilka komponentów rozwiązuje zdecydowaną większość powtarzalnych wymagań przedsiębiorstw. Integracja tych pięciu kontrolek w kolejnym projekcie SPFx zaoszczędzi niezliczone godziny pracy programistycznej.
1. Selektor osób
Selektor osób jest prawdopodobnie najczęściej żądanym komponentem w rozwoju intranetów firmowych. Niezależnie od tego, czy przypisujesz zadania, kierujesz zatwierdzenia, czy wyświetlasz interesariuszy projektu, ręczne odpytywanie Azure AD lub Microsoft Graph wymaga obsługi opóźnienia wyszukiwania, buforowania, żądań asynchronicznych i renderowania rozbudowanych profili. Kontrolka PnP People Picker ukrywa tę złożoność, oferując gotowy do użycia interfejs wyszukiwania, który natywnie respektuje granice organizacyjne i uprawnienia katalogu.
2. Selektor taksonomii
Zarządzane metadane i taksonomie przedsiębiorstwa stanowią trzon nowoczesnej architektury informacji w SharePoint. Zbudowanie interfejsu wyboru w postaci drzewa lub zestawu terminów, który poprawnie współpracuje z magazynem terminów SharePoint, szybko może stać się źródłem poważnych problemów. Kontrolka PnP Taxonomy Picker łączy się bezpośrednio z grupami magazynu terminów i zestawami terminów, zapewniając intuicyjny wybór w formie listy rozwijanej lub okna modalnego, bez konieczności pisania niestandardowej logiki zapytań REST do punktów końcowych usługi taksonomii.
3. List View
Prezentowanie danych tabelarycznych to stała potrzeba w aplikacjach biznesowych. Zamiast tworzyć własne tabele HTML z logiką sortowania, filtrowania i stronicowania, kontrolka PnP List View zapewnia bogatą, świadomą danych siatkę. Wygląda i działa jak nowoczesne interfejsy list SharePoint, dzięki czemu niestandardowe web parts harmonijnie wpisują się w środowisko Microsoft 365, a baza kodu po stronie front-end znacznie się zmniejsza.
4. File Picker
Umożliwienie użytkownikom wyboru dokumentów z bibliotek dokumentów SharePoint, kolekcji witryn, OneDrive lub publicznych adresów URL wymaga obsługi złożonych, asynchronicznych interfejsów API selektorów. Kontrolka PnP File Picker łączy ten wybór z wielu źródeł w jeden, spójny komponent interfejsu. Użytkownicy mogą bez wysiłku przeglądać, przesyłać i wybierać pliki, a programiści nie muszą pisać własnych okien modalnych ani procedur zarządzania plikami.
5. Live Persona
Współpraca w przedsiębiorstwie opiera się na kontekście użytkownika. Kontrolka Live Persona pozwala programistom wyświetlać rozbudowane karty użytkowników zawierające wskaźniki obecności, dane kontaktowe, schematy organizacyjne oraz bezpośrednie linki do komunikacji (np. czat w usłudze Teams lub wiadomość e-mail w programie Outlook), wystarczy przekazać adres e-mail lub identyfikator użytkownika. Dzięki temu prosta tabela danych lub pulpit natychmiast zyskują angażujące, interaktywne doświadczenie w Microsoft 365.
Lepsza architektura aplikacji z PnP
Przyjęcie kontrolek PnP React zmienia sposób projektowania rozwiązań SharePoint. Zamiast traktować web parts SPFx jako odizolowane wyspy niestandardowego kodu, programiści mogą składać złożone aplikacje biznesowe — takie jak pulpity zarządzania projektami, narzędzia alokacji zasobów czy portale klientów — łącząc solidne komponenty stworzone przez społeczność.
Ponieważ kontrolki te są natywnie zintegrowane z SharePoint, samodzielnie obsługują tokeny uwierzytelniania, żądania Graph i stany błędów. Znacznie zmniejsza to liczbę potencjalnych błędów, zapewnia zgodność ze standardami dostępności i utrzymuje projekt w czystej formie, łatwej do utrzymania przy przyszłych aktualizacjach.
Podsumowanie
Przestań tracić cykle sprintów na budowanie standardowych komponentów interfejsu od podstaw. Dzięki bibliotece kontrolek PnP React dostarczysz gotowe do produkcji, wydajne i dopracowane rozwiązania SharePoint w ułamku czasu. Aby zgłębić nowoczesną architekturę SPFx, strojenie wydajności i eksperckie strategie społeczności, posłuchaj pełnego odcinka z udziałem Microsoft MVP Siddharth Vaghasia w podcaście M365 FM.
Często zadawane pytania
Czym są kontrolki PnP React?
Kontrolki PnP React to zbiór open-source'owych, tworzonych przez społeczność komponentów interfejsu użytkownika, rozpoznających SharePoint i Microsoft 365, zaprojektowanych specjalnie z myślą o programistach SharePoint Framework (SPFx), aby przyspieszyć tworzenie aplikacji.
Czym kontrolki PnP różnią się od Fluent UI?
Fluent UI dostarcza podstawowe, atomowe elementy projektowe, takie jak standardowe przyciski i pola tekstowe, natomiast kontrolki PnP React oferują złożone komponenty biznesowe — takie jak selektory osób i selektory taksonomii — wstępnie skonfigurowane z logiką pobierania danych wymaganą w środowiskach Microsoft 365.
Czy kontrolki PnP React są gotowe do użycia produkcyjnego?
Tak. Są aktywnie utrzymywane przez globalną społeczność Microsoft 365 Patterns and Practices oraz Microsoft MVP, a kontrolki te są używane w tysiącach produkcyjnych środowisk przedsiębiorstw na całym świecie.
Czy nadal potrzebuję PnPjs, jeśli korzystam z kontrolek PnP React?
Tak, PnPjs i kontrolki PnP React pełnią uzupełniające się role. PnPjs upraszcza dostęp do danych i wywołania API SharePoint oraz Microsoft Graph, natomiast kontrolki PnP React dostarczają komponenty interfejsu, które często wyświetlają te dane lub je przechwytują.