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

Blog · Mirko Peters

Zarządzanie stanem 101: zmienne i kolekcje w Power Fx

By ·

Witamy z powrotem na blogu towarzyszącym podcastowi! Budując swoje rozwiązania low-code w ekosystemie Microsoft, szybko przekonujesz się, że proste, statyczne ekrany to dopiero początek. Prawdziwe aplikacje biznesowe potrzebują pamięci. Muszą zapamiętywać wybory użytkowników, tymczasowo przechowywać elementy w koszyku, śledzić postęp formularzy wieloetapowych i modyfikować grupy rekordów przed zap

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

Cover: Microsoft Power Fx - Simply Explained

Witamy z powrotem na blogu towarzyszącym podcastowi! Budując swoje rozwiązania low-code w ekosystemie Microsoft, szybko przekonujesz się, że proste, statyczne ekrany to dopiero początek. Prawdziwe aplikacje biznesowe potrzebują pamięci. Muszą zapamiętywać wybory użytkowników, tymczasowo przechowywać elementy w koszyku, śledzić postęp formularzy wieloetapowych i modyfikować grupy rekordów przed zapisaniem ich z powrotem do źródła danych, takiego jak Microsoft Dataverse czy SharePoint. Ta potrzeba prowadzi nas wprost do pojęcia zarządzania stanem.

W naszym niedawnym odcinku podcastu Microsoft Power Fx - Simply Explained omówiliśmy, jak ten potężny język formuł łączy znajomość arkuszy kalkulacyjnych z tworzeniem pełnowymiarowych aplikacji biznesowych. Rozmawialiśmy o tym, jak Power Fx steruje dynamicznymi interfejsami użytkownika, obsługuje połączenia z danymi i wspiera zarówno twórców nietechnicznych, jak i specjalistów IT. Jeśli jeszcze nie słuchałeś tego odcinka, koniecznie go sprawdź – znajdziesz w nim kompleksowe podstawy tego, jak Power Fx zmienia krajobraz low-code. Dzisiaj rozwiniemy jeden z kluczowych tematów, które poruszyliśmy w tym odcinku: zarządzanie stanem za pomocą zmiennych i kolekcji.

Wprowadzenie do zarządzania stanem w Power Fx

Zarządzanie stanem brzmi jak poważne pojęcie z informatyki, ale w istocie oznacza po prostu śledzenie bieżącego stanu aplikacji. Gdy użytkownik otwiera aplikację, klika przycisk, filtruje galerię lub wpisuje tekst w formularzu, aplikacja przechodzi w różne stany. Bez zarządzania stanem każdy ekran resetowałby się w chwili, gdy użytkownik przejdzie dalej, a aplikacja cierpiałaby na krótkotrwałą utratę pamięci.

W tradycyjnym programowaniu zarządzanie stanem może wiązać się ze złożonymi strukturami danych, alokacją pamięci i debugowaniem wycieków pamięci. Power Fx natomiast upraszcza to podejście, opierając się na swojej deklaratywnej naturze, a jednocześnie oferuje funkcje imperatywne, gdy trzeba przechowywać wartości tymczasowe. Umiejętność efektywnego zarządzania stanem odróżnia prototyp od solidnej, gotowej do produkcji aplikacji korporacyjnej. Niezależnie od tego, czy budujesz proste narzędzie wewnętrzne, czy rozbudowany pulpit organizacyjny, wiedza o tym, kiedy i jak tymczasowo zapisywać informacje, jest podstawową umiejętnością każdego twórcy aplikacji Power Apps.

Zrozumienie zmiennych: tymczasowe przechowywanie informacji

Zmienne są podstawowymi elementami zarządzania stanem. Wyobraź sobie zmienną jako etykietowany pojemnik lub karteczkę, na której zapisujesz informację, by później się do niej odwołać. W Power Fx zmienne występują w kilku odmianach, każda przeznaczona do konkretnego zakresu i czasu życia w aplikacji.

Pierwszym i najpopularniejszym typem jest zmienna kontekstowa, tworzona za pomocą funkcji UpdateContext. Zmienne kontekstowe są ograniczone wyłącznie do jednego ekranu. Świetnie nadają się do śledzenia stanów interfejsu, takich jak to, czy szczegółowy panel informacyjny jest otwarty, która zakładka jest aktualnie wyświetlana, lub tymczasowa wartość ID potrzebna wyłącznie dla układu danego ekranu. Ponieważ są lokalne dla ekranu, automatycznie znikają, gdy użytkownik przejdzie dalej, co pomaga utrzymać pamięć aplikacji w czystości i porządku.

Drugim typem jest zmienna globalna, tworzona za pomocą funkcji Set. Zmienne globalne są dostępne z dowolnego miejsca w całej aplikacji. Jeśli musisz przechowywać informacje o aktualnie zalogowanym użytkowniku, globalne ustawienia konfiguracyjne lub preferencje obowiązujące w całej organizacji, do których potrzebuje dostępu każdy ekran, zmienne globalne są najlepszym narzędziem. Należy jednak pamiętać, że wielka moc niesie za sobą wielką odpowiedzialność. Nadużywanie zmiennych globalnych może utrudnić debugowanie aplikacji, ponieważ dowolny ekran może w każdej chwili zmienić ich wartości. Jako dobrą praktykę przyjmij, by zmienne globalne rezerwować dla naprawdę globalnych danych, a tam, gdzie to możliwe, korzystać z kontekstowych zmiennych ekranowych.

Opanowanie kolekcji: zarządzanie grupami rekordów

Zmienne doskonale sprawdzają się w przechowywaniu pojedynczych informacji – takich jak liczba, ciąg tekstowy, wartość logiczna prawda/fałsz czy pojedynczy rekord – ale co zrobić, gdy trzeba zarządzać całą listą elementów? Właśnie tu na scenę wchodzą kolekcje.

Kolekcja to w istocie lokalny, tabelaryczny zbiór danych przechowywany w pamięci urządzenia użytkownika. Ma dokładnie taką samą strukturę tabelaryczną, jaką znajdziemy w źródłach danych, takich jak Dataverse, SharePoint czy SQL Server. Kolekcję utworzysz i wypełnisz za pomocą funkcji Collect, dodasz elementy za pomocą Collect lub Patch, usuniesz je za pomocą Remove lub RemoveIf, a zawartość możesz w całości wyczyścić, używając funkcji Clear.

Kolekcje są niezastąpione w scenariuszach offline, przy obsłudze koszyka zakupów, w formularzach do wprowadzania wielu pozycji, w których użytkownik dodaje kilka wierszy przed zapisaniem wszystkiego jednorazowo, oraz do buforowania danych referencyjnych, co poprawia wydajność aplikacji. Ponieważ kolekcje są przechowywane lokalnie w pamięci, zapytania do nich i ich modyfikacja wykonują się natychmiast, bez wysyłania żądań do serwera ani do chmurowego źródła danych. Dzięki temu aplikacja działa płynnie i szybko reaguje, nawet gdy pracuje ze złożonymi zbiorami danych wprowadzanych przez użytkowników.

Zmienne a kolekcje: kiedy użyć którego rozwiązania

Jedno z najczęstszych pytań, jakie zadają nowi twórcy w Power Apps, brzmi: „Kiedy użyć zmiennej, a kiedy kolekcji?”. Odpowiedź zależy od charakteru i objętości danych, z którymi pracujesz.

Użyj zmiennej, gdy pracujesz z wartościami skalarnymi lub pojedynczym obiektem. Jeśli musisz zapisać imię użytkownika, wybraną wartość z listy rozwijanej, stan przełącznika albo pojedynczy rekord reprezentujący element wybrany w galerii, właściwym wyborem będzie zmienna. Zmienne są lekkie i przeznaczone do śledzenia pojedynczych wartości.

Użyj kolekcji, gdy pracujesz z wieloma wierszami i kolumnami danych. Jeśli użytkownik tworzy listę pozycji do wysłania, zaznacza wiele pól wyboru w galerii, aby wykonać zbiorczą aktualizację, lub pobiera tabelę wyszukiwania, by filtrować ją lokalnie, potrzebna będzie kolekcja. Myśl o zmiennych jak o pojedynczych karteczkach na biurku, a o kolekcjach jak o całych teczkach z wieloma dokumentami.

Najlepsze praktyki dla skalowalnych i łatwych w utrzymaniu rozwiązań

Wraz ze wzrostem złożoności aplikacji Power Apps źle zarządzane zmienne i kolekcje mogą zamienić rozwiązanie w splątaną sieć logiki, którą trudno prześledzić. Aby aplikacje były skalowalne i łatwe w utrzymaniu, warto przyjąć kilka sprawdzonych praktyk:

Podsumowanie i kolejne kroki na drodze z Power Apps

Opanowanie zmiennych i kolekcji to ważny przełom na Twojej drodze w low-code. Pozwala przejść od budowania statycznych, sztywnych interfejsów do tworzenia dynamicznych, inteligentnych aplikacji biznesowych, które płynnie reagują na dane wprowadzane przez użytkowników i złożone procesy organizacyjne. Dzięki zrozumieniu, jak tymczasowo przechowywać pojedyncze wartości i zarządzać całymi grupami rekordów w pamięci, odkrywasz prawdziwy potencjał Microsoft Power Apps.

Aby zgłębić, jak Power Fx napędza te doświadczenia, i dowiedzieć się więcej praktycznych wskazówek dotyczących low-code, koniecznie posłuchaj całego odcinka podcastu Microsoft Power Fx - Simply Explained. Zacznij eksperymentować ze zmiennymi w swojej następnej aplikacji, zbuduj swoją pierwszą kolekcję i obserwuj, jak rośnie Twoja pewność siebie jako twórcy aplikacji!

Power Fx Dataverse SharePoint Azure Functions Power Apps

Related articles

RSS