Pernahkah Anda memperhatikan banyak aplikasi desktop baru terlihat sangat mirip dengan situs web? Itu bukan imajinasi Anda.
Dari Trello hingga Slack, dari WordPress.com hingga Github, aplikasi desktop yang disebut aplikasi desktop memaketkan situs web dengan beberapa fitur asli seperti notifikasi, akses sistem file, dan menu menjadi semakin umum. Teknologi paling umum yang memungkinkan hal ini disebut Elektron , dan digunakan oleh beberapa aplikasi yang bahkan mungkin tidak Anda curigai aplikasi obrolan Discord dan Microsoft Kode Visual Studio .
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, sebuah aplikasi obrolan, membutuhkan 237 MB ruang hard drive di Mac saya, dan konsumsi memori juga tidak rendah. Apa yang menggunakan 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 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 pun yang ingin menulis aplikasi untuk ketiga sistem operasi desktop (atau bahkan dua di antaranya) perlu menulis ulang banyak kode mereka saat melakukan porting satu sama lain.
Electron "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 berfungsi secara native di setiap sistem operasi. Bahkan lebih baik untuk pengembang: semuanya dapat dibuat menggunakan Javascript, HTML, dan CSS — teknologi yang sangat dikenal oleh siapa pun yang membuat kode untuk web.
Aplikasi Elektron Hadir Dengan Hampir Semua Chromium
Bagaimana ini mungkin? Sebagian karena setiap aplikasi Electron membundel browser web lengkap: Chromium, versi sumber terbuka Google Chrome . Ini dibundel bersama dengan instruksi khusus platform untuk memastikan bahwa semuanya berperilaku persis seperti yang diharapkan pengembang pada semua sistem. Itulah mengapa versi desktop Slack membutuhkan lebih dari 200MB ruang hard drive: sebagian besar Chrome disertakan di sana.
Setiap aplikasi Electron yang Anda jalankan kurang lebih merupakan instance lengkap dari Chrome. Sebagai blogger Joseph Gentle menunjukkan , ini hampir tidak ideal:
Anda dapat menganggap Slack sebagai program javascript kecil yang berjalan di dalam VM sistem operasi lain (chrome), yang harus Anda jalankan untuk dapat mengobrol di IRC. Meskipun Anda telah membuka chrome asli, setiap aplikasi elektron menjalankan salinan tambahannya sendiri dari seluruh VM.
Jadi ya, ada kerugian bagi pengguna. Pertama-tama, setiap aplikasi Electron yang Anda unduh bundel sebagian besar Chromium, dan setiap aplikasi yang Anda jalankan menjalankan sebagian besar kode itu. Tidak ada berbagi sumber daya di sini seperti yang ada dengan aplikasi asli, yang berarti aplikasi Electron akan menggunakan lebih banyak ruang hard drive dan memori daripada aplikasi yang dikembangkan dengan mempertimbangkan platform Anda secara khusus. Jika kinerja adalah sesuatu yang sangat Anda pedulikan, Anda mungkin ingin menghindari aplikasi Electron.
Tunggu, Jadi Elektron Baik atau Buruk?
Pada titik ini, komputer sangat kuat sehingga sebagian besar pengguna tidak akan pernah menyadari betapa tidak efisiennya aplikasi Electron. Faktanya, sebagian besar belum pernah mendengar tentang Electron. Sebagian besar rekan kerja saya belum melakukannya, 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 jendelanya 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 ada baiknya 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 bukanlah apakah Elektron buruk; apakah aplikasi Elektron lebih baik daripada tidak sama sekali. Saya ingin mengatakan ya, tetapi orang yang berakal sehat bisa tidak setuju. (Dan hei, untuk orang-orang itu, selalu ada versi webnya.)