Avalonia pro dan kontra saya

Saya banyak menulis tentang Avalonia dan sering mengagumi kerangka ini, tetapi, seperti halnya teknologi apa pun, ia memiliki kelebihan dan kekurangannya sendiri, dan saya ingin membicarakannya.


Avalonia


Apa ini Pertama-tama, ini adalah kerangka kerja guam xaml cross-platform untuk .net framework, .net core, dan platform mono .

Apa arti kata-kata ini?

Avalonia adalah sekumpulan perpustakaan yang memungkinkan Anda membuat aplikasi berjendela dan menjalankannya di semua platform desktop yang populer.


Lebih lanjut, saya akan menawarkan kepada Anda, pembaca, alasan pribadi saya, saya tidak ingin mengkritik \ memuji Avalonia sebagai teknologi yang terpisah, tetapi hanya berbicara tentang keseluruhan kompleks pembuatan aplikasi untuk PC menggunakan teknologi ini.

Apa yang saya suka


Pertama , kemudahan memulai, jika Anda terbiasa dengan teknologi .net seperti wpf \ uwp, Anda tidak perlu lebih dari 5 menit untuk mendapatkan Avalon. Yang perlu Anda lakukan adalah mengunduh template dari situs web Avalonia dan membuat proyek, itu saja - jangan menari dengan rebana untuk mengumpulkan proyek Linux ( hai kerangka populer lainnya ).

Kedua , dukungan untuk xaml - ini mengarah ke banyak fitur nyaman: mvvm, binder, pemisahan tampilan dan logika bisnis, penataan oleh file terpisah.

Ketiga , meminjam atau beberapa kompatibilitas (sebut saja apa yang Anda inginkan) dengan wpf. Ini berarti bahwa jika Anda belum pernah bekerja dengan Avalonia, tetapi terbiasa dengan wpf, Anda hanya dapat mengambil kontrol yang biasa Anda gunakan dengan wpf, dan dalam 90% kasus aplikasi Anda akan segera dimulai. Ini juga berarti bahwa untuk menyelesaikan masalah Anda, Anda dapat menemukan solusi yang serupa untuk wpf, dan dalam kebanyakan kasus itu akan menyelesaikan masalah Anda juga.

Keempat , gaya - Avalonia diilhami oleh css sampai batas tertentu, yang mengarah pada penampilan kelas dan kelas semu selama stilisasi, yang menyederhanakan penulisan gaya dan pemahaman mereka.

Kelima , cross-platform - yang artinya, pernah ditulis dan dijalankan di mana-mana. Penting untuk dicatat bahwa Avalonia menggunakan teknologi asli untuk bekerja: Direct2D, MonoMac, dll. Juga, Avalonia mengambil pemandangan sistem:


Keenam , dukungan pengembang: di ruang obrolan, baik dalam bahasa Inggris dan Rusia, Anda dapat langsung menghubungi pengembang dan kemungkinan besar mereka akan menjawab pertanyaan Anda.

Apa yang tidak saya sukai


Pertama , ini masih merupakan kerangka kerja yang lembab, dan kadang-kadang Anda dapat menemukan bug, ya, Avalonia telah berkembang pesat selama bertahun-tahun dan saat ini bug apa pun dapat diselesaikan ( didukung dengan kruk ), tetapi Anda sudah dapat berbicara tentang stabilitas teknologi, seperti yang dicatat oleh pengembang sendiri - itu Saya sampai di toko makanan.

Kedua , kinerja yang agak lemah, yaitu Saya memiliki proyek hewan peliharaan yang lucu, di mana saya melemparkan ribuan kontrol di satu jendela, dan jika dengan tenang mengatasinya (norma 10k, tidak menguji lebih lanjut), Avalonia memberi friezes dan semakin buruk (di suatu tempat oleh elemen 3k)

Ketiga , teknologinya masih muda - komunitasnya juga kecil, sehingga Anda bisa terjebak dengan kenyataan bahwa tidak ada yang memecahkan masalah yang Anda hadapi.

Apa yang saya lewatkan di Avalonia


Pertama , mudah untuk mendesain paket gaya yang sudah jadi seperti metro \ material, tetapi kadang-kadang Anda ingin menggunakan yang sudah jadi dan tidak memikirkannya.

Kedua , ikatan media, tidak ada dukungan lintas platform untuk suara dan video, dan ini tidak dan tidak akan (setidaknya dalam waktu dekat) memasuki tugas pengembang, jika Anda ingin suara lintas platform - tulis sendiri atau seret orang asing.

Ketiga , dukungan untuk fitur platform saat ini, meminimalkan ke baki, ikon pemberitahuan pada pintasan, dll., Tetapi di sini Anda harus membayar upeti kepada pengembang - dengan setiap rilis situasinya membaik dengan cepat.

Untuk meringkas


Apakah Avalonia siap untuk pergi - saya pikir begitu, tetapi tidak bagi saya untuk menilai - coba saja, lihat. Lagi pula, seperti yang mereka katakan: "Lebih baik melihat sekali daripada mendengar 100 kali"

Saya ingin mengucapkan terima kasih kepada ForNeVer kekekeks worldbeater

Dan perhatikan bahwa dukungan untuk c # dapat ditemukan di sini , dan untuk Avalonia di sini .

Source: https://habr.com/ru/post/id471728/


All Articles