Apakah Aplikasi Elektron, dan Kenapa Mereka Menjadi Biasa?
Pernahkah anda melihat banyak aplikasi desktop baru kelihatan seperti laman web? Ia bukan imajinasi anda.
Dari Trello ke Slack, dari WordPress.com ke Github, itu menjadi semakin umum untuk aplikasi desktop yang dipanggil untuk membundel laman web dengan beberapa ciri asli seperti pemberitahuan, akses sistem fail, dan menu. Teknologi yang paling umum yang membolehkannya dipanggil Electron, dan ia digunakan oleh beberapa aplikasi yang mungkin tidak anda curi, seperti aplikasi chat Discord dan Microsoft Visual Studio Code.
Elektron memudahkan para pemaju melepaskan apl secara serentak pada Windows, macOS, dan Linux, tetapi terdapat kelemahan untuk pengguna. Aplikasi elektron sangat besar, untuk satu perkara. Slack, aplikasi sembang, memuat 237 MB ruang cakera keras pada Mac saya, dan penggunaan memori tidak rendah sama ada. Apa yang mengambil semua sumber itu? Dan mengapa pemaju menggunakan sesuatu yang tidak cekap?
Apl Elektron Cukup Mudah Membuat
Aplikasi desktop sukar dibuat, terutamanya jika anda mahu mereka menjadi platform silang. Mengakses sistem fail berfungsi secara berbeza di Windows daripada yang dilakukan di Linux, misalnya, dan notifikasi bekerja dengan berbeza pada macOS daripada di Windows. Ini bermakna sesiapa yang ingin menulis permohonan untuk semua tiga sistem operasi desktop (atau dua daripadanya) perlu menulis semula banyak kod mereka apabila memindahkan dari satu ke yang lain.
Elektron "menyelesaikan" ini dengan menawarkan platform tunggal yang berfungsi pada ketiga-tiga sistem operasi desktop utama. Ini bermakna pemaju boleh menulis kod untuk perkara-perkara seperti pemberitahuan sekali dan mengharapkan ia berfungsi secara asli pada setiap sistem operasi. Lebih baik untuk pemaju: segala-galanya boleh dibina menggunakan Javascript, HTML, dan CSS-teknologi sesiapa sahaja yang membuat kod untuk web sangat akrab dengan.
Apl Elektron Datang Dengan Cukup Banyak Semua Chromium
Bagaimana mungkin ini? Sebahagiannya kerana setiap aplikasi Elektron memuatkan pelayar web lengkap: Chromium, versi sumber terbuka Google Chrome. Ini dibundel bersama dengan arahan khusus platform untuk memastikan segala-galanya berkelakuan sama seperti pemaju mengharapkan semua sistem. Itulah sebabnya versi desktop Slack mengambil lebih dari 200MB ruang cakera keras: kebanyakan Chrome dibundel di sana.
Setiap aplikasi Elektron yang anda jalankan adalah lebih kurang contoh Chrome sepenuhnya. Sebagai blogger Joseph Gentle menegaskan, ini tidak sesuai:
Anda boleh memikirkan Slack sebagai program javascript kecil yang berjalan di dalam sistem operasi lain VM (chrome), yang perlu anda jalankan untuk dasarnya berbual di IRC. Walaupun anda mempunyai krom sebenar yang terbuka, setiap aplikasi elektron berjalan sendiri, salinan tambahan keseluruhan VM.
Jadi ya, ada kelemahan untuk pengguna. Pertama sekali, setiap aplikasi Electron tunggal anda memuatkan banyak bundle Chromium, dan setiap aplikasi yang anda jalankan adalah melaksanakan sebahagian besar kod itu. Tidak ada perkongsian sumber di sini seperti dengan aplikasi asli, yang bermaksud aplikasi Elektron akan mengambil lebih banyak ruang cakera dan memori daripada aplikasi yang dibangunkan dengan platform anda yang khusus dalam fikiran. Jika prestasi adalah sesuatu yang anda benar-benar peduli, anda mungkin mahu mengelakkan aplikasi Elektron.
Tunggu, Begitu Baik Elektron Baik atau Buruk?
Pada ketika ini, komputer begitu kuat sehingga kebanyakan pengguna tidak akan dapat melihat bagaimana aplikasi Elektron tidak cekap. Malah, kebanyakannya tidak pernah mendengar tentang Electron. Kebanyakan rakan sekerja saya tidak, dan mereka semua menggunakan Slack setiap hari. Ramai yang teruja melihat versi desktop Trello keluar, dan sekali lagi tidak tahu ia adalah aplikasi Elektron.
Dan aplikasi ini benar-benar menggabungkan lebih baik dengan sistem operasi anda lebih baik daripada laman web. Mereka tinggal di tingkap mereka sendiri. Mereka menawarkan pintasan papan kekunci yang hebat, notifikasi asli, dan perkara lain yang anda tidak dapat melakukan dengan cara yang sama dengan hanya penyemak imbas.
Dan Betul baik aplikasi seperti Slack, Trello, dan WordPress.com tidak akan peduli untuk menawarkan versi desktop jika Electron tidak ada, malah fokus pada versi mudah alih dan penyemak imbas. Jadi persoalannya sama ada elektron tidak baik; ia sama ada aplikasi elektron lebih baik daripada apa-apa. Saya sanggup mengatakan ya, tetapi orang yang munasabah boleh tidak bersetuju. (Dan hei, bagi orang-orang, sentiasa ada versi web.)