Home Arrow Icon Knowledge base Arrow Icon Global Arrow Icon Dapatkah Anda menjelaskan interaksi antara proyek inti dan UI di mvvmcross


Dapatkah Anda menjelaskan interaksi antara proyek inti dan UI di mvvmcross


MVVMCross adalah kerangka kerja lintas platform yang memfasilitasi pengembangan aplikasi menggunakan pola model-view-viewModel (MVVM). Ini memungkinkan pengembang untuk membuat solusi seluler yang digabungkan secara longgar, dapat dipelihara, dan dapat diuji dengan memisahkan logika aplikasi menjadi dua bagian utama: proyek inti dan proyek UI.

proyek inti

Proyek inti biasanya adalah pustaka standar .net yang berisi semua kode bersama, termasuk:
- ViewModels: Ini bertanggung jawab untuk menangani interaksi pengguna dan logika bisnis.
- Model: Mewakili struktur data yang digunakan di seluruh aplikasi.
- Layanan: Menyediakan akses ke data, layanan web, atau sumber daya eksternal lainnya.
- Konverter: Digunakan untuk konversi tipe data.
- Kelas Aplikasi: Ini bertanggung jawab untuk menginisialisasi logika bisnis dan tampilan model. Ini juga menangani pendaftaran objek kustom dalam wadah inversi kontrol (IOC).
- AppStart: Opsional digunakan untuk menentukan model tampilan mana yang akan disajikan terlebih dahulu saat aplikasi dimulai.
Proyek

UI

Proyek UI khusus platform dan berisi elemen antarmuka pengguna dan kode khusus platform. Untuk setiap platform target (mis., IOS, Android), ada proyek UI terpisah. Proyek -proyek ini termasuk:
- Tampilan: Setiap tampilan bertanggung jawab untuk menyajikan model tampilan yang sesuai. Tampilan dirancang menggunakan alat platform asli (mis., XAML untuk xamarin.Forms, AXML untuk Android).
- Penangan Aplikasi Asli: Ini menangani acara siklus hidup asli. Misalnya, di Android, itu akan menjadi kelas `MainActivity` atau` MainApplication`, sementara di iOS, itu akan menjadi kelas `appdelegate`.
- Kelas Pengaturan: Ini bertanggung jawab untuk bootstrap MVVMCross dan mendaftarkan layanan khusus platform. Ini menginisialisasi kerangka kerja MVVMCross dan mengatur wadah IOC dengan implementasi khusus platform.

interaksi antara proyek inti dan UI

Interaksi antara proyek inti dan UI di MVVMCross difasilitasi oleh pola MVVM dan wadah IOC kerangka kerja. Begini cara mereka berinteraksi:
- ViewModel Binding: Proyek UI menggunakan mvvmcross untuk mengikat tampilan untuk melihat model. Ini biasanya dilakukan dengan menggunakan konvensi penamaan atau dengan mendekorasi tampilan dengan atribut seperti `[mvxviewfor (typeof (homeViewModel))]`.
- Injeksi Layanan: Proyek inti mendefinisikan antarmuka untuk layanan yang diimplementasikan secara berbeda pada setiap platform. Layanan ini terdaftar dalam wadah IOC dan disuntikkan ke dalam model tampilan, memungkinkan untuk fungsionalitas platform khusus tanpa duplikasi kode.
- Navigasi dan presentasi: MVVMCROSS menyediakan mekanisme untuk menavigasi antara model tampilan dan menyajikan pandangan. Kerangka kerja menggunakan presenter (mis., `IMVXIOSViewPresenter`,` IMVXAndroidViewPresenter`) untuk mengelola bagaimana tampilan ditampilkan pada setiap platform.

Dengan memisahkan logika aplikasi menjadi proyek inti dan UI, MVVMCross memungkinkan pengembang untuk memaksimalkan penggunaan kembali kode di seluruh platform sambil tetap memungkinkan untuk kustomisasi dan optimalisasi platform khusus [1] [3] [5].

Kutipan:
[1] https://www.mvmcross.com/documentation/getting-started/mvvmcross-overview
[2] https://canbilgin.wordpress.com/tag/mvvmcross/
[3] https://leaware.com/creating-cross-platform-xamarin-applications-using-the-mvvmcross-framework/
[4] https://www.mvvmcross.com/documentation/advanced/customizing-using-app-and-setup
[5] https://www.suneco.nl/blogs/boost-your-xamarin-native-projects-with-mvvmcross/
[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/tutorials/tipcalc/the-core-project
[8] https://canbilgin.wordpress.com/2017/03/26/xamarin-forms-application-with-mvvmcross/