24 poin oleh xguru 2025-02-03 | 15 komentar | Bagikan ke WhatsApp
  • Penulis, Felix Rieseberg, adalah co-maintainer yang telah terlibat dalam pengembangan Electron selama lebih dari 10 tahun
  • Electron memungkinkan UI diimplementasikan dengan teknologi web, dan jika diperlukan, kode native dapat dicampurkan dengan leluasa
  • Banyak aplikasi (Visual Studio Code, Slack, Discord, Figma, ChatGPT, Claude, Notion, 1Password, Docker Desktop, dll.) mengadopsi Electron
  • Dokumen ini menyoroti berbagai kesalahpahaman utama tentang Electron, dan menjelaskan alasan di balik pilihan-pilihan tersebut

Electron mempertentangkan JavaScript dan kode native

  • Sering ada anggapan bahwa "Electron hanya menggunakan JavaScript sehingga tertinggal dari native"
  • Kenyataannya, selain JavaScript, Electron juga dapat digunakan bersama kode native seperti C++, Objective-C, dan Rust
  • Misalnya, 1Password menulis sebagian besar kodenya dengan Rust, dan memanfaatkan Electron untuk UI
  • Kekuatan Electron adalah fleksibilitas untuk mencampurkan kode native seperlunya, sambil memanfaatkan teknologi web di area UI
  • Ada juga contoh demo yang menyediakan UI native secara parsial dengan memanfaatkan SwiftUI, GTK, Win32, dan lain-lain

Aplikasi web itu buruk

  • Ada pandangan bahwa "semua aplikasi native selalu lebih unggul", tetapi kenyataan pasar tidak sesederhana itu
  • Mission Control milik NASA, Bloomberg Terminal, kios McDonald’s, dan Dragon 2 milik SpaceX juga memanfaatkan teknologi web berbasis Chromium
  • Teknologi web adalah yang paling luas digunakan di seluruh dunia, dan aplikasi web yang diimplementasikan dengan baik dapat memberikan pengalaman pengguna yang luar biasa
  • Klaim bahwa "aplikasi web dibuat oleh orang yang kurang kompeten" adalah penyederhanaan yang mengabaikan kebutuhan lingkungan penggunaan dan situasi pilihan para pengembang

WebView bawaan sistem operasi lebih unggul dalam performa

  • Ada yang berpendapat bahwa WebView bawaan di macOS, Windows, atau Linux sering kali lebih baik
  • Faktanya, Slack sempat menggunakan MacGap (berbasis WebView) pada awalnya, tetapi akhirnya beralih ke Electron (Chromium) karena masalah performa
  • Mesin Chromium terbaru memang memakan lebih banyak sumber daya, tetapi juga merupakan bagian yang paling aktif dioptimalkan
  • WebView bawaan sistem operasi kadang dapat menunjukkan penggunaan memori yang kecil karena sumber daya bersama, tetapi dalam praktiknya sering kali diisolasi karena alasan keamanan dan stabilitas
  • Dengan Electron, versi mesin terbaru dapat dikelola secara langsung, sehingga stabilitas dan keamanan dapat dipertahankan secara independen

Ukuran bundle itu penting

  • Secara umum, aplikasi Electron berukuran sekitar 100~300MB, dan hal ini kerap menjadi sasaran kritik
  • Namun, pengguna cenderung lebih memprioritaskan faktor lain seperti fitur, kemudahan, dan stabilitas daripada ukuran aplikasi
  • Misalnya, streaming Netflix kualitas 4K menggunakan beberapa GB per jam, dan pembaruan Call of Duty bahkan bisa mencapai ratusan GB
  • Pada akhirnya, dibandingkan dengan kepuasan pengguna yang sebenarnya, ukuran aplikasi sering kali menjadi faktor yang relatif kurang penting

Kalahkan Electron

  • Electron berawal dari upaya open source orang-orang yang memiliki tujuan "mari membuat aplikasi desktop yang bagus"
  • Electron lahir ketika pesaingnya masih sedikit, dan hingga kini terus menyediakan fitur serta stabilitas yang memadai
  • Untuk ‘mengalahkan’ Electron, perlu dibuat platform yang dapat melakukan apa yang Electron lakukan dengan lebih baik
  • Para maintainer Electron akan dengan senang hati menyambutnya bila ada alternatif yang lebih baik muncul

15 komentar

 
joone 2025-05-24

Membandingkannya dengan Call of Duty rasanya agak melenceng dari topik.
Perlu melihat Teams yang meninggalkan Electron dan beralih ke WebView,
https://techcommunity.microsoft.com/discussions/microsoftteams/…

 
pmc7777 2025-02-04

Semoga Tauri segera matang. Meski begitu, saya sendiri sudah menggunakannya dengan baik.

 
coma333 2025-02-04

Rasanya baru kemarin masih bernama Atom Shell.. sudah berkembang pesat ya

 
tsboard 2025-02-04

Ada banyak titik kritik, tetapi melihat tingkat kematangan aplikasi vscode yang digunakan setiap hari, saya jadi yakin bahwa kontribusi Electron jelas tidak kecil.

 
akintos 2025-02-03

Ada hampir 10 aplikasi Electron terpasang di PC saya, jadi rasanya pada titik ini seharusnya ini sudah menjadi framework yang dipasang terpisah.

 
freedomzero 2025-02-03

Ukuran bundelnya juga begitu, dan kalau melihat proses ~~ Helper yang memakan memori, rasanya cuma bisa menghela napas.

 
nullvana 2025-02-03

Saya memang mempertimbangkan tauri sebagai alternatif, tetapi saya khawatir ada kasus-kasus aneh saat distribusi nanti yang membuatnya tidak berjalan normal. (Dulu saya pernah sangat kesulitan saat mendistribusikan program yang merujuk ke DLL bawaan yang sudah terdaftar seperti msxml.dll di lingkungan win32; akhirnya saya bundel secara internal untuk distribusi... jadi saya khawatir jangan-jangan masalah serupa bisa muncul lagi.)

Seperti pendapat dari kubu electron, mungkin memang yang benar adalah melupakan saja soal ukuran, tetapi ukuran bundle-nya terlalu besar.

 
aaaapple123 2025-02-05

Sepertinya itu memang masalah pada Tauri..

Karena WebView dan program bawaan berbeda-beda di tiap platform, itu memang masalah terbesar. Setelah dirilis, kita tidak tahu apa yang akan terjadi.

Tapi kalau WebView-nya sendiri dibundel ke Tauri, ukuran bundelnya malah jadi lebih besar daripada Electron..

Jadi, untuk pengembangan aplikasi production cross-platform, saya merasa Tauri masih belum cukup matang.

 
secret3056 2025-02-03

Kios McDonald’s itu... hmm.... entah ini contoh yang bagus atau tidak

 
tsboard 2025-02-04

Saya juga sempat tiba-tiba terpikir hal yang sama. Apakah kiosk McD di luar negeri setidaknya sedikit berbeda? Saya sempat bertanya-tanya sesaat haha

 
dicebattle 2025-02-03

wkwkwk, saya juga kepikiran hal yang sama

 
savvykang 2025-02-03

Sepertinya tantangan terbesarnya adalah mengurangi penggunaan memori, tapi sayangnya tidak ada satu pun pemangku kepentingan yang tampak punya insentif untuk benar-benar menjalankannya.

 
rtyu1120 2025-02-03

Ada juga contoh demo yang menyediakan UI native secara parsial dengan memanfaatkan SwiftUI, GTK, Win32, dan sebagainya.

Di artikel ada tautan ke kode demo aktual, jadi saya coba cek, dan rasanya tidak semudah sekadar bisa dipakai bersama dengan sangat simpel. Sepertinya maknanya lebih ke setidaknya hal itu memang memungkinkan...

 
lamanus 2025-02-03

Sepertinya memang benar kalau ukuran aplikasinya umumnya besar..

 
dohyun682 2025-02-03

Iya sih, ukuran bundelnya memang diakui begitu saja.