Home Arrow Icon Knowledge base Arrow Icon Global Arrow Icon Kokie yra pagrindiniai iššūkiai naudojant „Mvvmcross“


Kokie yra pagrindiniai iššūkiai naudojant „Mvvmcross“


„MVVMCross“ yra populiari sistema, skirta kurti įvairių platformų programas, naudojant modelio „View-Viewmodel“ (MVVM) modelį. Nors jis siūlo daug privalumų, tokių kaip duomenų įrišimas ir priklausomybės injekcija, yra keletas iššūkių, susijusių su jo naudojimu.

„Framework“ komponentų trūkumai

Vienas pagrindinių „MVVMCross“ iššūkių yra kai kurių komponentų defektų buvimas, ypač susiję su „Android“ ir „iOS“ rodiniais, palaikančiais duomenis. Šie trūkumai gali sukelti UI problemų ir reikalauti papildomų derinimo pastangų. Kadangi „MVVMCross“ yra atviro kodo, vartotojai gali prisidėti prie pataisų, tačiau tai ne visada gali būti tiesmukiška kūrėjams, neturintiems išsamių žinių apie sistemos vidinius dalykus [3].

paleidimo greitis

„MVVMCross“ programos dažnai patiria lėtesnį paleidimo laiką, palyginti su kitomis sistemomis. Tai daugiausia lemia inicializacijos metu naudojami refleksijai pagrįsti mechanizmai, kurie yra būdingi sistemos architektūrai. Nors šis lėtumas taip pat paplitęs „Xamarin“ programose apskritai, tai gali būti trūkumas vartotojams, kurie tikisi greito programų paleidimo [3].

atnaujinimo skausmai

MVVMCROSS versijų atnaujinimas gali būti sudėtingas dėl reikšmingų įvardijimo konvencijų ir elgesio pokyčių. Dokumentacija dažnai atsilieka nuo šių atnaujinimų, todėl kyla sunkumų ieškant naujų problemų sprendimų. Tai lemia ilgą ir kartais varginantį atnaujinimo procesą [3].

dokumentacijos kokybė

MVVMCross dokumentacijos kokybė yra dar vienas iššūkis. Jame dažnai yra rašybos klaidų, trūksta išsamios informacinės medžiagos ir apima sugedusias nuorodas. Kūrėjai dažnai turi įsigilinti į sistemos šaltinio kodą, kad surastų tikslią informaciją, kuri gali būti reikalaujama daug laiko ir reikalauja gerai suprasti sistemos architektūrą [3].

pasenę pavyzdžiai

„MVVMCross“ pateikia pavyzdžių projektų saugyklą, tačiau daugelis šių pavyzdžių yra pasenę ir nesuderinami su naujausiomis sistemos versijomis. Dėl to naujiems kūrėjams sunku pradėti arba esamiems kūrėjams prisitaikyti prie sistemos pakeitimų. Aktyviai palaikomi tik keli pavyzdžiai, o tai riboja jų naudingumą mokantis ir trikčių šalinimui [3].

Duomenų įrišimo apribojimai

Nors MVVMCross palaiko duomenų surišimą, tam tikri įrišimo režimai, pavyzdžiui, vienkartinis įrišimas, yra rečiau naudojami ir gali būti netinkami visiems scenarijams. Šis režimas aktyviai nežiūri pakeitimų iš „ViewModel“, dėl kurių rodinyje gali būti pasenę duomenys, jei jie nebus tinkamai valdomi [1].

Navigacijos ir gyvavimo ciklo problemos

Naršymas tarp „ViewModels“ ir jų gyvenimo ciklo valdymas gali būti sudėtingas, ypač kai reikia elgtis su konkrečiai platformos elgesiu, pavyzdžiui, „Tombstoning“ „Android“. „MVVMCross“ pateikia gyvenimo ciklo metodus, padedančius valdyti šiuos scenarijus, tačiau juos įvaldyti reikia gerai suprasti tiek pagrindą, tiek pagrindinę platformos specifiką [7].

Valdymo ir aptarnavimo ieškiklio inversija

Nors „MVVMCross“ įmontuoto paslaugų lokatoriaus modelis ir valdymo inversija (IOC) palaikymas yra galingos savybės, jiems reikia kruopštaus sąrankos ir valdymo. Registruoti paslaugas ir išspręsti priklausomybes gali tapti sudėtinga, jei ji nėra tinkamai organizuota, ypač didesnėse programose [3] [6].

Apibendrinant galima pasakyti, kad nors „MVVMCross“ teikia daug naudos iš įvairių platformų plėtros, tačiau jis pateikia keletą iššūkių, susijusių su trūkumais, našumu, dokumentais ir sudėtingumu. Norint išspręsti šiuos iššūkius, reikia gerai suprasti sistemą ir jos pagrindines technologijas.

Citatos:
[1] https://www.mvvmcross.com/documentation/fundamentals/data-dinding
[2] https://github.com/mvvmcross/mvvmcross/issues/4201
[3] http://wojosoftware.com/software/mvvmcross/
[4] https://www.mvvmcross.com/documentation/advanced/customizing-using-app ir-setup
[5] https://www.mvvmcross.com/documentation/getting-started/mvvmcross-overview
[6] https://learn.microsoft.com/en-us/archive/msdn-magazine/2014/August/windows-phone-build-mvvm-apps-with-xamarin-and-mvvmcross
[7] https://www.mvvmcross.com/documentation/fundamentals/viewmodel-lifecycle
[8] https://stackoverflow.com/questions/16301045/mvvmcross-v3-is-that-wrong-to-try-see-see-haviours-and-storyboards in-a-mu