Pluginy MVVMCross jsou výkonným nástrojem pro rozšíření funkčnosti meziplatformových aplikací vytvořených s rámcem MVVMCross. Tyto pluginy umožňují vývojářům snadno integrovat různé funkce do svých aplikací, jako jsou operace souborů, síťová připojení, služby umístění a další. Zde je několik praktických příkladů použití pluginů MVVMCross:
1. plugin souboru **
Plugin souboru poskytuje přístup k metodám typu System.io` pro manipulaci se soubory. Tento plugin je užitečný pro čtení a psaní souborů, což je nezbytné pro ukládání a získávání dat v mnoha aplikacích. Použitím tohoto pluginu mohou vývojáři zpracovávat operace souborů způsobem nezávislým na platformě.Chcete -li použít plugin souboru, obvykle byste jej přidali do svého projektu přes NUGET a poté jej během nastavení aplikace zaregistrovali do kontejneru IOC. Poté můžete do svých modelů pohledu nebo jiných tříd vložit službu pro provádění operací souborů.
2. plugin Bluetooth Low Energy (BLE) **
Plugin Bluetooth Low Energy umožňuje aplikacím interagovat se zařízeními Bluetooth. Tento plugin registruje `iBluetoothle` a` iadapter` jako líné inicializované singletony, což usnadňuje vyřešení a injekci těchto služeb do vašich modelů pohledu nebo jiných komponent.Tento plugin můžete například použít ke skenování blízkých zařízení, připojení k nim a výměnu dat. Plugin také poskytuje události pro monitorování změn stavu Bluetooth, což umožňuje vaší aplikaci dynamicky reagovat na změny ve stavu připojení Bluetooth.
3. lokalizační plugin **
Přestože není ve výsledcích vyhledávání výslovně uvedena, lokalizace je pro mnoho aplikací běžným požadavkem. MVVMCross lze rozšířit pomocí pluginů pro zpracování lokalizačních úkolů, jako je například překlad data textu nebo formátování podle národního prostředí.4. Plugin oznámení push **
Plugin Pushwoosh pro MVVMCross je příkladem pluginu, který do vaší aplikace integruje služby oznámení. To vám umožní odesílat cílená oznámení uživatelům, zlepšit zapojení uživatelů a poskytovat včasné aktualizace.Chcete -li takový plugin používat, obvykle byste jej zaregistrovali během inicializace aplikace a poté pomocí poskytnutého API zpracováváte oznámení push ve vašich modelech nebo službách pohledu.
5. Plugin načítání obrázků (FFIMAGELoding) **
Plugin FFIMAGELaging se používá pro efektivní načítání a ukládání do mezipaměti. Dobře se integruje s schopnostmi vázání dat MVVMCross, což vám umožňuje snadno zobrazovat obrázky ve vašich názorech a přitom využívat vazbu dat pro dynamické aktualizace.Tento plugin je zvláště užitečný pro aplikace, které potřebují zvládnout velké množství obrázků, protože pomáhá zlepšit výkon ukládáním do mezipaměti obrázků ukládáním a nakládáním je asynchronně.
Vytváření vlastních pluginů
MVVMCross také umožňuje vytvářet vlastní pluginy. Chcete -li to provést, vytvoříte knihovnu, která odkazuje na hlavní balíček MVVMCROSS, přidejte typ, který zdědí z `imvxplugin`, a anotace ji„ mvxpluginattribute “. V metodě `load` vašeho pluginu zaregistrujete všechny potřebné služby nebo třídy pomocí kontejneru IOC.Tato flexibilita znamená, že můžete zapouzdřit jakoukoli vlastní funkce do opakovaně použitelného pluginu, což usnadňuje sdílení kódu na více projektech nebo jej dokonce distribuovat jiným vývojářům.
Celkově poskytují pluginy MVVMCross robustní způsob, jak rozšířit a přizpůsobit vaše meziplatnové aplikace, což usnadňuje integraci široké škály funkcí a funkcí.
Citace:[1] https://dev.to/christian1006/creating-cross-platform-xamarin-Applications-using-the-mvvmcross-framework-2920
[2] https://www.mvvmcross.com/documentation/plugins/plugins-development
[3] https://www.mvvmcross.com/documentation/fundamentals/inversion-of-control-ioc
[4] https://github.com/mvvmcross/mvvmcross-samples
[5] https://www.mvvmcross.com/documentation/plugins/3rd-party-plugins
[6] https://stackoverflow.com/questions/23451315/mvvmcross-azure-mobile-services-example?rq=3
[7] https://www.mvvmcross.com/documentation/fundamentals/data-binding
[8] https://stackoverflow.com/questions/7312850/how-to-load-plugins-when-updating-to-mvmcross-6-4-2-from-5-6-2
[9] https://www.nuget.org/packages/mvvmcross.plugin.ble/