Vtičniki MVVMcross so močno orodje za razširitev funkcionalnosti večplastnih aplikacij, zgrajenih z okvirjem MVVMcross. Ti vtičniki omogočajo razvijalcem, da enostavno vključijo različne funkcije v svoje aplikacije, kot so datoteke, omrežna povezljivost, lokacijske storitve in drugo. Tu je nekaj praktičnih primerov uporabe vtičnikov MVVMcross:
1. Vtičnik datotek **
Vtičnik datotek omogoča dostop do tipa `System.io` za manipulacijo datotek. Ta vtičnik je uporaben za branje in pisanje datotek, kar je bistvenega pomena za shranjevanje in pridobivanje podatkov v številnih aplikacijah. Z uporabo tega vtičnika lahko razvijalci ravnajo z operacijami datotek na platformo, neodvisno od platforme.Če želite uporabiti vtičnik datoteke, ga običajno dodate v svoj projekt prek NuGet, nato pa ga registrirate v vsebnik MOC med nastavitvijo aplikacije. Nato lahko vbrizgate datoteko v svoje modele pogleda ali druge razrede za izvajanje datotek.
2. Vtičnik Bluetooth z nizko energijo (BLE) **
Vtičnik Bluetooth z nizko energijo omogoča aplikacijam za interakcijo z napravami Bluetooth. Ta vtičnik registrira "ibluetoothle" in "iadapter" kot leni inicializirani singletoni, kar omogoča enostavno rešitev in vbrizgavanje teh storitev v svoje modele pogleda ali druge komponente.Na primer, ta vtičnik lahko uporabite za skeniranje za bližnje naprave, se povežete z njimi in izmenjavo podatkov. Vtičnik ponuja tudi dogodke za spremljanje sprememb stanja Bluetooth, kar omogoča, da vaša aplikacija dinamično reagira na spremembe stanja povezave Bluetooth.
3. Vtičnik za lokalizacijo **
Čeprav v rezultatih iskanja ni izrecno omenjeno, je lokalizacija skupna zahteva za številne aplikacije. MVVMcross je mogoče razširiti z vtičniki za upravljanje lokalizacijskih nalog, na primer prevajanje besedila ali oblikovanje datumov in številk v skladu z lokalnim lokalom.4. Vtičnik za potisne obvestila **
Vtičnik Pushwoosh za MVVMcross je primer vtičnika, ki v vašo aplikacijo integrira storitve Push Notifikacije. To vam omogoča, da uporabnikom pošiljate ciljna obvestila, izboljšate angažiranost uporabnikov in zagotavljate pravočasno posodobitve.Če želite uporabiti takšen vtičnik, ga običajno registrirate med inicializacijo aplikacije in nato uporabite priloženi API za obdelavo potisnih obvestil v svojih modelih ali storitvah.
5. Vtičnik za nalaganje slike (ffimageloading) **
Vtičnik Ffimageloading se uporablja za učinkovito nalaganje in predpomnjenje slik. Dobro se integrira z MVVMcrossovimi zmogljivostmi za vezavo podatkov, kar vam omogoča enostavno prikazovanje slik v svojih pogledih, hkrati pa uporabite vezavo podatkov za dinamične posodobitve.Ta vtičnik je še posebej uporaben za aplikacije, ki morajo ravnati z velikim številom slik, saj pomaga izboljšati delovanje s predpomnjenjem slik in jih asinhrono nalaganje.
Ustvarjanje lastnih vtičnikov
MVVMcross vam omogoča tudi ustvarjanje vtičnikov po meri. Če želite to narediti, ustvarite knjižnico, ki se nanaša na glavni paket MVVMcross, dodajte vrsto, ki podeduje iz `imvxplugin`, in jo označite z` mvxpluginattribute`. V načinu `Load` vašega vtičnika registrirate vse potrebne storitve ali razrede s vsebnik MOK.Ta prilagodljivost pomeni, da lahko v vtičnik za večkratno uporabo vključite katero koli funkcijo po meri, kar olajša skupno rabo kode v več projektih ali jo celo distribuira drugim razvijalcem.
Na splošno vtičniki MVVMCross zagotavljajo močan način za razširitev in prilagajanje vaših aplikacij za čezmejne platforme, kar olajša integracijo široke palete funkcij in funkcionalnosti.
Navedbe:[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----
[8] https://stackoverflow.com/questions/73128508/how-to-load-plugins-when-a-to-mvvmcross-6-4-2-from-5-6-2
[9] https://www.nuget.org/packages/mvvmcross.plugin.ble/