Pernahkah Anda memperhatikan banyak aplikasi desktop baru yang terlihat seperti situs web? Itu bukan imajinasi Anda.
Dari Trello ke Slack, dari WordPress.com ke Github, itu menjadi semakin umum untuk aplikasi desktop yang disebut untuk memaketkan situs web dengan beberapa fitur asli seperti pemberitahuan, akses sistem file, dan menu. Teknologi yang paling umum memungkinkan ini disebut Electron, dan itu digunakan oleh beberapa aplikasi yang mungkin tidak Anda curigai, seperti aplikasi chat Discord dan Microsoft's Visual Studio Code.
Electron memudahkan pengembang untuk merilis aplikasi secara bersamaan di Windows, macOS, dan Linux, tetapi ada kerugian bagi pengguna. Aplikasi elektron sangat besar, untuk satu hal. Slack, aplikasi obrolan, menghabiskan 237 MB ruang hard drive di Mac saya, dan konsumsi memori juga tidak rendah. Apa yang mengambil semua sumber daya itu? Dan mengapa pengembang menggunakan sesuatu yang sangat tidak efisien?
Aplikasi desktop sulit dibuat, terutama jika Anda ingin mereka menjadi lintas platform. Mengakses sistem file bekerja secara berbeda di Windows daripada di Linux, misalnya, dan pemberitahuan bekerja secara berbeda di macOS daripada di Windows. Ini berarti siapa saja yang ingin menulis aplikasi untuk ketiga sistem operasi desktop (atau bahkan dua dari mereka) perlu menulis ulang banyak kode mereka ketika porting dari satu ke yang lain.
Elektron “memecahkan” ini dengan menawarkan satu platform yang bekerja pada ketiga sistem operasi desktop utama. Ini berarti pengembang dapat menulis kode untuk hal-hal seperti pemberitahuan satu kali dan mengharapkannya bekerja secara asli di setiap sistem operasi. Bahkan lebih baik untuk pengembang: semuanya dapat dibangun menggunakan Javascript, HTML, dan CSS-teknologi siapa saja yang mengkodekan web sangat familiar dengannya.
Bagaimana ini mungkin? Sebagian karena setiap aplikasi Elektron menggabungkan peramban web lengkap: Chromium, versi open source Google Chrome. Ini dibundel bersama dengan instruksi spesifik platform untuk memastikan bahwa segala sesuatu berperilaku tepat seperti yang diharapkan pengembang di semua sistem. Itu sebabnya versi desktop Slack membutuhkan lebih dari 200MB ruang hard drive: sebagian besar Chrome ada di dalamnya.
Setiap aplikasi Electron yang Anda jalankan kurang lebih adalah contoh lengkap Chrome. Sebagaimana dikatakan oleh blogger Joseph Gentle, ini hampir tidak ideal:
Anda dapat menganggap Slack sebagai program javascript kecil yang berjalan di dalam sistem operasi lain VM (chrome), yang harus Anda jalankan agar dapat melakukan obrolan di IRC. Bahkan jika Anda memiliki krom nyata terbuka, setiap aplikasi elektron menjalankan sendiri, salinan ekstra dari seluruh VM.
Jadi ya, ada kerugian bagi pengguna. Pertama-tama, setiap aplikasi Electron tunggal Anda mengunduh bundel sebagian besar Chromium, dan setiap aplikasi yang Anda jalankan mengeksekusi potongan kode yang bagus. Tidak ada pembagian sumber daya di sini seperti yang ada dengan aplikasi asli, yang berarti aplikasi Elektron akan mengambil lebih banyak ruang dan memori hard drive daripada aplikasi yang dikembangkan dengan platform Anda secara khusus dalam pikiran. Jika kinerja adalah sesuatu yang benar-benar Anda pedulikan, Anda mungkin ingin menghindari aplikasi Elektron.
Pada titik ini, komputer begitu kuat sehingga sebagian besar pengguna tidak akan pernah menyadari betapa tidak efisiennya aplikasi Electron. Bahkan, sebagian besar belum pernah mendengar tentang Electron. Sebagian besar rekan kerja saya tidak, dan mereka semua menggunakan Slack setiap hari. Banyak yang bersemangat melihat versi desktop Trello keluar, dan sekali lagi tidak tahu itu adalah aplikasi Electron.
Dan aplikasi ini benar-benar terintegrasi dengan lebih baik dengan sistem operasi Anda lebih baik daripada situs web. Mereka tinggal di jendela mereka sendiri. Mereka menawarkan pintasan keyboard yang hebat, pemberitahuan asli, dan hal-hal lain yang tidak dapat Anda lakukan dengan cara yang sama hanya dengan browser.
Dan ini adalah taruhan yang baik bahwa aplikasi seperti Slack, Trello, dan WordPress.com tidak akan repot-repot menawarkan versi desktop jika Electron tidak ada, dengan fokus pada versi seluler dan browser. Jadi pertanyaannya bukan apakah Electron itu buruk; itu apakah aplikasi Electron lebih baik daripada tidak sama sekali. Saya bersedia mengatakan ya, tetapi orang yang masuk akal bisa tidak setuju. (Dan hei, untuk orang-orang itu, selalu ada versi webnya.)