Apa itu Aplikasi Elektron, dan Mengapa Mereka Menjadi Sangat Umum?
Pernahkah Anda memperhatikan banyak aplikasi desktop baru yang mirip sekali dengan situs web? Itu bukan imajinasi Anda.
Dari Trello ke Slack, dari WordPress.com ke Github, menjadi semakin umum untuk aplikasi desktop yang disebut untuk menggabungkan sebuah situs web dengan beberapa fitur asli seperti notifikasi, akses sistem file, dan menu. Teknologi paling umum yang memungkinkan ini disebut Electron, dan digunakan oleh beberapa aplikasi yang mungkin tidak Anda curigai, seperti aplikasi obrolan Discord dan Microsoft's Visual Studio Code.
Elektron 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, membutuhkan ruang hard drive 237 MB 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 Elektron Cukup Mudah Dibuat
Aplikasi desktop sulit dibuat, terutama jika Anda menginginkannya bersifat lintas platform. Mengakses sistem file bekerja secara berbeda di Windows daripada di Linux, misalnya, dan notifikasi bekerja secara berbeda di macOS daripada di Windows. Ini berarti siapa pun yang ingin menulis aplikasi untuk ketiga sistem operasi desktop (atau bahkan dua dari mereka) perlu menulis ulang banyak kode mereka ketika berpindah dari satu ke yang lain.
Elektron "memecahkan" ini dengan menawarkan platform tunggal yang bekerja pada ketiga sistem operasi desktop utama. Ini berarti pengembang dapat menulis kode untuk hal-hal seperti pemberitahuan sekali dan mengharapkannya bekerja secara native di setiap sistem operasi. Bahkan lebih baik untuk pengembang: semuanya dapat dibangun menggunakan teknologi Javascript, HTML, dan CSS siapa pun yang membuat kode untuk web sangat terbiasa.
Aplikasi Elektron Datang Dengan Hampir Semua Chromium
Bagaimana ini mungkin? Sebagian karena setiap aplikasi Elektron membundel browser web lengkap: Chromium, versi open source dari Google Chrome. Ini dibundel bersama dengan instruksi khusus platform untuk memastikan bahwa semuanya berperilaku tepat seperti yang diharapkan pengembang pada semua sistem. Itu sebabnya versi desktop Slack menghabiskan lebih dari 200MB ruang hard drive: sebagian besar Chrome dibundel di sana.
Setiap aplikasi Elektron yang Anda jalankan kurang lebih merupakan instance lengkap Chrome. Seperti yang ditunjukkan blogger Joseph Gentle, ini hampir tidak ideal:
Anda dapat menganggap Slack sebagai program javascript kecil yang berjalan di dalam sistem operasi VM (chrome) lain, yang harus Anda jalankan agar pada dasarnya mengobrol di IRC. Bahkan jika Anda mendapatkan chrome asli yang terbuka, setiap aplikasi elektron menjalankan sendiri, salinan tambahan dari keseluruhan VM.
Jadi ya, ada kerugian bagi pengguna. Pertama-tama, setiap aplikasi Elektron yang Anda unduh bundel sebagian besar dari Chromium, dan setiap aplikasi yang Anda jalankan menjalankan sebagian besar kode itu. Tidak ada pembagian sumber daya di sini seperti halnya dengan aplikasi asli, yang berarti aplikasi Electron akan mengambil lebih banyak ruang dan memori hard drive daripada aplikasi yang dikembangkan dengan platform Anda secara spesifik. Jika kinerja adalah sesuatu yang sangat Anda pedulikan, Anda mungkin ingin menghindari aplikasi Electron.
Tunggu, Begitu Juga Elektron Baik atau Buruk?
Pada titik ini, komputer sangat kuat sehingga sebagian besar pengguna tidak akan pernah menyadari betapa tidak efisiennya aplikasi Electron. Bahkan, sebagian besar belum pernah mendengar tentang Elektron. Sebagian besar rekan kerja saya tidak, dan mereka semua menggunakan Slack setiap hari. Banyak yang senang melihat Trello versi desktop keluar, dan sekali lagi tidak tahu itu adalah aplikasi Electron.
Dan aplikasi ini benar-benar terintegrasi lebih baik dengan sistem operasi Anda lebih baik daripada situs web. Mereka tinggal di jendela mereka sendiri. Mereka menawarkan cara pintas keyboard yang bagus, pemberitahuan asli, dan hal-hal lain yang tidak dapat Anda lakukan dengan cara yang sama hanya dengan browser.
Dan itu adalah taruhan yang baik bahwa aplikasi seperti Slack, Trello, dan WordPress.com tidak akan repot untuk menawarkan versi desktop jika Electron tidak ada, dengan fokus pada versi seluler dan browser. Jadi pertanyaannya bukan apakah Elektron itu buruk; apakah aplikasi Electron lebih baik daripada tidak sama sekali. Saya bersedia mengatakan ya, tetapi orang yang berakal bisa tidak setuju. (Dan hei, untuk orang-orang itu, selalu ada versi web.)