Apa itu Electron.js ?
Memulai Aplikasi Desktop menggunakan Electron JS
pengantar
Di dunia yang serba cepat ini, evolusi teknologi tidak pernah berhenti memukau orang. Pada hari-hari awal pengembangan, memiliki situs web multi-halaman dianggap suatu kemewahan. Namun, di zaman modern, kami memiliki situs web luar biasa yang tak terhitung jumlahnya untuk membuat kami terpesona. Selain itu, belakangan ini kita telah menggunakan berbagai aplikasi desktop yang membuat hidup kita lebih sederhana.
Mulai dari editor teks seperti Visual Studio Code, Atom atau Sublime hingga platform konferensi online seperti Zoom, Microsoft Teams atau Skype hingga platform komunikasi seperti Discord atau Whatsapp, kami memiliki pintasan ke banyak aplikasi serupa di desktop kami. Pada artikel ini, kita akan mengembangkan aplikasi desktop menggunakan kerangka kerja JavaScript yang disebut Electron . Ayo masuk!
Apa itu Electron JS?
Electron JS adalah kerangka runtime open-source untuk membuat aplikasi desktop dengan HTML, CSS, dan Javascript. Ini dikembangkan dan dikelola oleh GitHub. Ini menggabungkan mesin rendering Chromium dengan lingkungan waktu proses Node JS. Aplikasi yang dibangun menggunakan Electron bersifat lintas platform , atau dengan kata lain, kompatibel dengan Mac, Windows, dan Linux. Sebagian besar aplikasi desktop populer dikembangkan menggunakan Electron JS.
Kerja
Aplikasi elektron memiliki dua proses yaitu proses utama dan proses renderer . Proses utama membuat contoh jendela browser dan bertanggung jawab untuk mengirim permintaan ke jendela atau mentransfer data antara jendela yang berbeda. Proses perender menjadikan jendela sebagai antarmuka untuk pengguna. Setiap proses memanfaatkan arsitektur multi-proses Chromium. Singkatnya, proses utama mengelola seluruh aplikasi dan proses perender individualnya. Electron juga mendukung berbagai API untuk kedua proses tersebut, sehingga lebih mudah untuk berinteraksi dengan sistem operasi desktop dan sumber dayanya.
Memulai dengan Electron JS
Sebelum memulai dengan Electron, Node JS harus diinstal . Dengan itu, kita siap berangkat. Pergi ke baris perintah, cd ke folder, dan kemudian berikan
npm init -y
npm install electron --save-dev
Seperti biasa, kami akan mulai menjelajahi Electron dengan membuat aplikasi "Hello World". Untuk menjalankan proses utama, kita harus membuat file main.js dengan isi sebagai berikut.
Fungsi createWindow () membuat jendela browser baru dengan dimensi tertentu dan memuat file index.html . Selain itu, kami menambahkan pendengar untuk menghentikan aplikasi saat jendela ditutup dan mencegah beberapa peluncuran secara bersamaan.
Sekarang untuk merender aplikasi, kami memberikan proses renderer, yaitu file index.html sederhana untuk menampilkan "Hello World!" di jendela baru.
Dengan demikian, kami siap menjalankan aplikasi Elektron pertama kami. Kembali ke baris perintah dan di dalam folder yang dibuat, jalankan
npm start
Jika kita mengamati jendela aplikasi, kita memiliki bilah menu default, yang diisi saat aplikasi dijalankan. Dengan pesan “Hello World!” aplikasi berhasil dibuat, kami pindah ke aplikasi sederhana lain untuk menjelajahi beberapa fitur Electron JS lainnya.
Komunikasi Antar Proses
Membangun pengetahuan kita lebih jauh, kita akan melihat pada pengembangan aplikasi multi-jendela dan memastikan interaksi di antara mereka. Fitur ini disebut komunikasi antar proses (IPC) . Perhatikan bahwa satu proses utama dapat memiliki beberapa proses perender. Namun, proses penyaji ini tidak dapat berkomunikasi satu sama lain secara langsung. Mereka harus menggunakan proses utama sebagai perantara. Electron memberi kita dua modul IPC, yaitu ipcMain dan ipcRenderer .
The ipcMain modul yang digunakan untuk berkomunikasi dari proses utama untuk proses penyaji. Modul ini menangani pesan asinkron dan sinkron yang dikirim dari proses perender saat digunakan dalam proses utama.
The ipcRenderer modul yang digunakan untuk berkomunikasi dari proses penyaji untuk proses utama. Modul ini menangani pengiriman pesan sinkron dan asinkron dari proses perender ke proses utama, serta menerima balasan dari proses utama.
Dilengkapi dengan pengetahuan tersebut, sekarang kita akan mengembangkan aplikasi yang memasukkan kota dari pengguna di satu jendela dan menampilkan detail cuaca kota saat ini di jendela lain. Detail cuaca diambil dari OpenWeatherMap API . Sebagai fitur tambahan, kami juga akan membuat menu kustom kami sendiri untuk aplikasi tersebut. File main.js sekarang akan terlihat seperti ini,
Karena aplikasi melibatkan dua jendela, kami memiliki dua fungsi: createMainWindow () , yang membuat jendela browser baru dan memuat index.html , dan createAddWindow () , yang membuat jendela baru dan memuat add.html. Pengendali kejadian ipcMain (hadir dalam proses utama) menerima data dari jendela tambahan (satu proses penyaji) dan mengirimkannya ke jendela utama (proses penyaji lain). Selain itu, kami membangun menu baru dengan pintasan keyboard dengan membuat template menu baru.
Sekarang jendela utama dibuat oleh file index.html , dengan potongan kode berikut.
Kode di atas digunakan untuk menampilkan kondisi cuaca kota tertentu dengan bantuan API OpenWeatherMap. Tapi, di manakah sebenarnya fitur input yang dijanjikan tadi?
Kami menggunakan jendela lain yang berisi formulir untuk menerima masukan dari pengguna. Isi file add.html akan mencapai tujuan itu.
Jendela ini memasukkan kota dari pengguna dan mengirimkan data ke proses utama melalui modul ipcRenderer, yang kemudian mentransfer data ke jendela utama untuk mengambil data untuk kota tersebut. Sekarang kita memiliki kodenya siap, kita akan melihat bagaimana aplikasinya ternyata. Seperti yang kita lakukan sebelumnya, untuk memulai aplikasi, berikan
npm start
Input handling in a new window
Voila! Kami telah berhasil mengimplementasikan komunikasi antar proses antara dua jendela menggunakan modul ipcMain dan ipcRenderer.
Mengemas aplikasi
Kami telah melihat bagaimana menjalankan aplikasi secara lokal, tetapi akan merepotkan jika seseorang harus menggunakan perintah untuk menjalankannya setiap saat. Pikirkan tentang bagaimana kami biasanya memasang aplikasi desktop di sistem lokal kami. Kami akan mendapatkan file yang dapat dieksekusi dari beberapa sumber dan menjalankan file itu untuk menginstal aplikasi di sistem kami. Fitur membuat aplikasi tersedia dengan cara yang mudah digunakan disebut pengemasan .
Electron memberi kami pengemas elektron yang menggabungkan seluruh basis kode ke dalam paket masing-masing dan membuat aplikasi siap produksi. Untuk menginstal pengemas elektron, ketik perintah berikut di terminal,
npm install electron-packager --save-dev
"package": "electron-packager ."
npm run package
Fitur Electron JS
Electron JS cukup sederhana untuk memulai, dan sangat dapat disesuaikan. Ini tidak memerlukan antarmuka atau prosedur terpisah untuk mengembangkan aplikasi. Seperti bagaimana halaman web dirancang, kami menggunakan HTML dasar, CSS, dan Javascript untuk merancang aplikasi desktop. Kami juga memutuskan ukuran jendela, opsi menu, dan pintasan keyboard untuk melakukan tindakan yang diinginkan juga. Sebagai lapisan gula pada kue, aplikasi Electron JS kompatibel dengan Linux dan macOS seperti halnya dengan Microsoft Windows.
Komentar
Posting Komentar