Programování

Vytvářejte aplikace MVVM pomocí sady Windows Community Toolkit

Microsoft vždycky dobře spolupracoval s vývojáři, a to již od svých počátků jako prodejce jazyků. Jeho program se v průběhu let vyvíjel, od přístupu shora dolů založeného na Redmondu, který vyvrcholil běžnými DVD s dokumentací MSDN, až po dnešní komunitní program zabalený kolem Microsoft Docs, Microsoft Learn, globálního týmu Azure Developer Advocates, a stále rostoucí sada nástrojů a rámců vyvinutých na GitHubu.

Windows Community Toolkit: startovací sada .NET

Práce s komunitou přinesla zajímavé výsledky s přesnější a včasnější dokumentací pomocí GitHubu ke správě obsahu a řady komunitních open source projektů. Jedním z důležitějších projektů je Windows Community Toolkit, řada funkcí, ovládacích prvků a služeb pro aplikace .NET a UWP. Jedná se o projekt, který bude s přechodem ze staršího .NET Framework na .NET Core založený na .NET 5 a zavádění projektu Project Reunion a multiplatformního multiplatformního uživatelského rozhraní (MAUI) jen důležitější.

Sada Windows Community Toolkit není monolitická entita, kterou je třeba dodávat s vašimi aplikacemi. Je to sada balíčků NuGet, takže si můžete vybrat, co potřebujete, a udržovat jakýkoli kód a režii knihovny na minimu. Pokud vytváříte moderní aplikace pro Windows .NET, stojí za to se na ně podívat, protože obsahuje mnoho důležitých ovládacích prvků XAML, které vám mohou pomoci vytvořit dobře vypadající a uživatelsky přívětivou aplikaci. Mezi další užitečné nástroje patří sada pomocníků ke zlepšení výkonu aplikace, sada analyzátorů pro běžné datové formáty včetně Markdownu a základní kód potřebný pro podporu oznamovacího rámce Windows 10.

Přidání MVVM do sady nástrojů

Jedním z novějších přírůstků do sady nástrojů je nová knihovna pro vytváření aplikací pomocí návrhového vzoru MVVM. Model-view-viewmodel je srdcem nadcházejícího rámce MAUI a .NET potřebuje dobrou a rychlou implementaci, má-li být úspěšný. Výsledkem je relativně lehká sada nástrojů MVVM a také sada ukázkového kódu.

V nové implementaci sady nástrojů MVVM Windows Community Toolkit se toho může hodně líbit. Snad nejužitečnější je, že se jedná o řádové zlepšení výkonu oproti srovnatelným nástrojům .NET MVVM, jak zdůraznil jeho spoluautor Michael Hawker, vedoucí projektu Windows Community Toolkit ve společnosti Microsoft, minulý týden v prezentaci na UnoConf. Toto vylepšení bude rozhodující pro aplikace MAUI, zejména při cílení na mobilní platformy, jako jsou Android a iOS. Nemusí mít všechny funkce alternativ těžké váhy, ale pro většinu účelů je to ideální volba a vzhledem k tomu, že již nejsou vyvíjeny některé alternativní nástroje .NET MVVM, stojí za to se na ně podívat.

Zajistěte, aby vaše uživatelské rozhraní bylo řízeno událostmi

Návrhový vzor MVVM je určen k podpoře uživatelských rozhraní řízených událostmi. Jádrem je model, který funguje jako rozhraní mezi vaší aplikací a jakoukoli back-end obchodní logikou nebo daty. Vaše uživatelské rozhraní je implementováno v pohledu, podobně jako známý vzor MVC (model view controller). MVVM se liší od jiných podobných návrhových vzorů ve svém viewmodelu, který propojuje datové vazby v pohledu s daty v modelu a poskytuje způsob reprezentace stavu jednoho k druhému.

Váš viewmodel kód zpracovává zpracování vstupů a výstupů do a z pohledu pomocí standardních datových vazeb XAML na ovládací prvky. Cílem je udržet kód v pohledu na minimu, aby se designéři mohli soustředit na vytváření uživatelských zkušeností, zatímco vývojáři pracují na kódu back-end a na zpracování stavu zobrazení řízeného událostmi modelu viewmodel. Vynucením oddělení mezi pohledem a modelem můžete vývoj zaměřit na logiku aplikace pomocí prototypových ovládacích prvků před přepnutím do konečného návrhu bez ovlivnění kódu, který byl napsán během vývoje aplikace.

Začněte s Microsoft.MVVM.Toolkit

Kód pro novou sadu nástrojů MVVM je velmi nový, ale je dostatečně vyspělý, aby podporoval vývoj prototypových aplikací. Snad největším problémem je, že na webu Microsoft Docs zatím není žádná dokumentace pro Microsoft.Toolkit.MVVM, ačkoli trochu hledání najde počáteční tranši dokumentace na GitHubu.

Stejně jako zbytek sady Windows Community Toolkit se sada MVVM Toolkit nainstaluje z úložiště Nuget. Jak to bylo inspirováno nyní zastaralou MVVMLight, přechod ze starší sady nástrojů na Windows Community Toolkit by neměl být příliš obtížný.

Začněte stažením verze Preview sady MVVM Toolkit z Nugetu a instalací do vaší aplikace ve Visual Studiu. To přinese jakékoli závislosti a nastaví rámec, který můžete použít k zahájení vytváření aplikace MVVM.

Pod kapotou: systém upozornění v akci

V jádru je MVVM architektura založená na zasílání zpráv, která monitoruje události z modelu i pohledu a odesílá asynchronní oznámení mezi těmito dvěma pomocí viewmodelu. Budete se muset seznámit se základními základními třídami, které řídí, jak model zobrazení reaguje na změněné vlastnosti v základním modelu. Když pozorovatelný objekt v modelu změní stav, vyvolá viewmodel příslušné oznámení a použije jej k doručení zprávy události napříč vazbou na ovládací prvek uživatelského rozhraní v pohledu.

Klíčem k provozu sady MVVM Toolkit a důvodem jejího významného zlepšení výkonu oproti jiným implementacím .NET MVVM je jeho třída Messenger. Takto propojíte různé prvky aplikace MVVM, implementujete a zaregistrujete obslužné rutiny zpráv. Můžete si to představit jako zjednodušený systém publikování a odběru, nabízející pouze služby modelu a pohledu. Příjemci a odesílatelé musí být registrováni a odhlášeni, pokud již nejsou potřeba. Pokud například používáte aplikaci MVVM Toolkit k napájení chatovací aplikace a konkrétní uživatel se odhlásí, musíte jej odhlásit z aplikace, abyste zabránili úniku paměti.

Navrhování pro MVVM

Mít model publikování a odběru v centru pohledu na model má velký smysl. Umožňuje vám zajistit, aby všechny vaše ovládací vazby byly spojeny s koncovými body zpráv, což vám dává možnost programově sestavit mapování nezbytná k propojení zobrazení a modelu takovým způsobem, který by měl být škálovatelný mezi více pohledy a více modely.

Oddělení pohledu a modelu tímto způsobem zjednodušuje celkovou strukturu vaší aplikace, zvláště když se domníváte, že procházíte mezi deklarativním programovacím modelem v zobrazení XAML a objektově orientovaným přístupem ve vašem modelu. Použití viewmodelu založeného na zasílání zpráv jako překladové vrstvy mezi těmito dvěma velmi odlišnými způsoby programování snižuje riziko a udržuje minimum potřebného kódu ve vašich pohledech na minimum. Než začnete psát jakýkoli kód, ujistěte se, že váš návrh aplikace obsahuje tato mapování a vazby podrobně spolu se zprávami, které nesou, protože to jsou vaše interní API pro veškerou vaši integraci mezi frontendem a back-endem.

Práce komunity .NET na sadě Windows Community Toolkit je důležitá pro budoucnost platformy. S probíhajícími významnými změnami (přechod na .NET 5, oddělení SDK a Windows v Project Reunion a model multiplatformního uživatelského rozhraní v MAUI) je stále důležitější mít sadu referenčních ovládacích prvků a funkcí. Můžete si vybrat a vybrat prvky, které chcete získat na své vlastní cestě .NET. Sada MVVM Toolkit může být jednou z nejnovějších částí sady, ale pravděpodobně se stane jednou z nejdůležitějších.

$config[zx-auto] not found$config[zx-overlay] not found