M365Con 2027 – bezpłatna konferencja online · 11–22 Jan 2027 · 120 sessions→ m365con.net

Blog · Mirko Peters

Kiedy tworzyć niestandardową kontrolkę PCF, a kiedy używać komponentów canvas w Power Apps

By ·

Dowiedz się, kiedy warto tworzyć niestandardowe komponenty kodu PCF, a kiedy wystarczą komponenty canvas typu low-code w Power Apps. Porównaj wymagane umiejętności, wydajność i architekturę.

Automatically translated with AI from the original post. Read the English original

Cover: Power Apps Component Framework - Simply Explained

Wybór między kontrolkami opartymi na kodzie, czyli Power Apps Component Framework (PCF), a komponentami canvas typu low-code decyduje o tym, czy projekt się powiedzie, czy utknie w miejscu. Ten przewodnik omawia kluczowe różnice architektoniczne, wymagane umiejętności, wpływ na wydajność oraz kryteria wyboru, które pomogą deweloperom i twórcom dobrać właściwe narzędzie do złożonych wyzwań związanych z interfejsem.

Najważniejsze wnioski

Podział architektoniczny: twórcy kontra deweloperzy

Każda aplikacja Power Apps prędzej czy później napotyka funkcjonalną ścianę. Potrzebujesz określonej wizualizacji danych, interaktywnego planu pomieszczeń, edytowalnej siatki w stylu arkusza kalkulacyjnego albo pola do podpisu, a domyślny zestaw narzędzi typu przeciągnij i upuść po prostu nie daje takiej możliwości. W takich sytuacjach zespoły często sięgają po nakładane obejścia: ukrywają pola tekstowe za obrazami, warstwują niewidoczne wyzwalacze i łączą dziesięć osobnych mechanizmów, aby zasymulować jedno spójne doświadczenie użytkownika. Choć takie rozwiązanie działa tymczasowo, szybko pogarsza wydajność aplikacji i tworzy labirynt, którego nie da się utrzymać, dla każdego, kto przejmie rozwiązanie.

Aby pokonać tę architektoniczną barierę, Power Platform dzieli rozszerzanie interfejsu na dwie odrębne ścieżki: komponenty canvas oraz komponenty kodu PCF. Zrozumienie, gdzie kończy się jedna, a zaczyna druga, jest kluczowe dla efektywnego planowania aplikacji. Twórcy budują komponenty canvas bezpośrednio na płótnie aplikacji, używając znanych formuł i bez kodu. Są szybkie we wdrażaniu, łatwo modyfikowalne przez innych twórców low-code i idealne do standardowych wzorców interfejsu. Z kolei komponenty kodu PCF tworzą profesjonalni deweloperzy. Są pakowane jako samodzielne jednostki logiki interfejsu użytkownika, które mogą działać w aplikacjach opartych na modelu, aplikacjach canvas i usłudze Power Pages.

Komponenty canvas dla szybkości, PCF dla możliwości

Oceniając, jakiego podejścia wymaga Twój projekt, musisz zważyć szybkość tworzenia względem złożonych wymagań funkcjonalnych. Komponenty canvas sprawdzają się, gdy chcesz spakować powtarzalny fragment aplikacji canvas, na przykład niestandardowe menu nawigacyjne lub stylizowany układ kart, bez opuszczania edytora wizualnego. Działają w pakiecie aplikacji, bezproblemowo dziedziczą kontekst aplikacji i nie wymagają żadnych potoków wdrożeniowych ani narzędzi wiersza poleceń.

Komponenty canvas są jednak zasadniczo ograniczone przez język wyrażeń i silnik układu środowiska canvas. Nie mogą wyjść poza piaskownicę platformy, aby korzystać z zaawansowanych bibliotek JavaScript innych firm, renderować złożonych niestandardowych wizualizacji SVG ani natywnie przekształcać siatek w edytowalne siatki danych o dużej gęstości. Tu do gry wchodzi Power Apps Component Framework. Wykorzystując Microsoft Power Platform CLI, deweloperzy tworzą prawdziwe komponenty internetowe w TypeScript, zgodnie z nowoczesnymi standardami webowymi. Te komponenty kodu deklarują jawne dane wejściowe i wyjściowe w pliku manifestu, dzięki czemu aplikacja hosta może bez zgadywania powiązać dane z kontrolką.

Optymalizacja wydajności dzięki React i Fluent UI

Tworzenie niestandardowej kontrolki od zera historycznie oznaczało dołączanie każdej zewnętrznej zależności, co często zwiększało rozmiar plików i wydłużało czas ładowania. Nowoczesne tworzenie komponentów PCF eliminuje ten narzut dzięki bibliotekom platformy. Deweloperzy mogą budować komponenty w oparciu o React i Fluent UI – natywny system projektowania Microsoft – korzystając z bibliotek, które są już wstępnie załadowane przez środowisko hosta.

Gdy aplikacja ładuje wiele niestandardowych kontrolek współdzielących te biblioteki platformy, przeglądarka unika pobierania zduplikowanego kodu frameworka. Dzięki temu interfejs użytkownika pozostaje szybki, responsywny i wizualnie spójny z resztą ekosystemu Microsoft 365. W tle metody cyklu życia komponentu (init, updateView, getOutputs i destroy) zajmują się rysowaniem, aktualizacją po zmianie danych oraz zwalnianiem pamięci, gdy kontrolka zostaje odmontowana. Ta rygorystyczna dyscyplina cyklu życia zapobiega wyciekom pamięci i ospałemu renderowaniu, które dotykają amatorskie wstrzyknięcia kodu.

Zarządzanie i realia długoterminowego utrzymania

Przyjęcie niestandardowych komponentów kodu wprowadza profil utrzymania, którego rozwiązania low-code zazwyczaj unikają. Ponieważ kontrolki PCF wymagają etapu kompilacji, repozytorium kodu źródłowego i wdrożenia za pośrednictwem rozwiązań Dataverse, potrzebują wyznaczonego właściciela. Jeśli pierwotny deweloper odejdzie bez odpowiedniej dokumentacji, niestandardowa kontrolka może szybko stać się nieutrzymywalną czarną skrzynką.

Ponadto administratorzy IT muszą egzekwować rygorystyczne zasady zarządzania, aby zapobiec rozprzestrzenianiu się zduplikowanych lub słabo zoptymalizowanych komponentów kodu w środowiskach przedsiębiorstwa. Przed zatwierdzeniem niestandardowej kompilacji PCF architekci rozwiązań powinni sprawdzić, czy żadna natywna kontrolka ani komponent canvas nie zapewni dziewięćdziesięciu procent wymaganej funkcjonalności. Jeśli standardowe podejście pozwala osiągnąć większość celu, oszczędności w utrzymaniu niemal zawsze przewyższają chęć uzyskania perfekcyjnie dopasowanej, niestandardowej implementacji.

Podsumowanie

Wybór między komponentami canvas a Power Apps Component Framework sprowadza się do dopasowania zasobów technicznych do konkretnego problemu interfejsu. Używaj komponentów canvas do szybkiej, bezkodowej enkapsulacji elementów interfejsu w aplikacjach canvas, a komponenty kodu PCF zarezerwuj dla zaawansowanych, wysokowydajnych wymagań obejmujących rozwiązania oparte na Dataverse. Aby zgłębić ten temat i posłuchać ekspertów na temat nowoczesnego tworzenia rozwiązań w chmurze Microsoft, posłuchaj całego odcinka podcastu M365 FM.

Często zadawane pytania

Czy komponenty canvas można używać w aplikacjach opartych na modelu?

Nie, komponenty canvas są przeznaczone wyłącznie dla aplikacji canvas. Jeśli potrzebujesz niestandardowych kontrolek interfejsu w aplikacjach opartych na modelu lub w usłudze Power Pages, musisz użyć komponentów kodu Power Apps Component Framework (PCF).

Jakich języków programowania wymaga tworzenie kontrolek PCF?

Tworzenie niestandardowych komponentów kodu wymaga praktycznej znajomości TypeScript (lub JavaScript), HTML i CSS, a także znajomości Microsoft Power Platform CLI, używanego do generowania szablonów i pakowania.

Czy użytkownicy końcowi muszą umieć programować, aby korzystać z kontrolki PCF?

Zupełnie nie. Gdy deweloper zbuduje i wdroży kontrolkę PCF w środowisku rozwiązania Dataverse, twórcy mogą przeciągnąć ją na formularze, widoki lub pulpity nawigacyjne, tak jak każdą standardową kontrolkę.

Jaki jest cel pliku manifestu komponentu?

Manifest to plik XML, który deklaruje metadane komponentu, oczekiwane właściwości wejściowe i zdarzenia wyjściowe. Działa jak schemat połączeń, dzięki któremu Power Apps może poprawnie powiązać dane z komponentem kodu.

Power Apps Power Platform Canvas app Dataverse Microsoft Excel Model-driven app Power Pages

Related articles

RSS