# AppImage
Awal muawalnya, pengen membuat AppImage sendiri.
Buat yang belum tau, AppImage
itu adalah ekstensi file di linux untuk aplikasi atau software yang bersifat portable.
Tidak perlu diinstall. Semacam file .deb
, .rpm
atau pakai apt install
, dst.
Cukup di download, kemudian dikasih akses file agar bisa dijalankan. Klik 2x filenya.. sudah jalan aplikasinya.
Untuk uninstall juga simple, tinggal dihapus saja filenya. Selesai.
# Ruang Lingkup
Jelasnya, saya pengguna Linux ya. Jadi aplikasi yang saya bahas berjalan pada lingkunan Linux. Untuk pengguna miekocok Windows, kurang paham aplikasi pembuat portable yang open source (gratis) tanpa embel-embel iklan tentunya. Komen ya kalau ada info buat ini.
AppImage ini dapat berjalan pada distro apapun (semestinya). Yang penting, arsitektur prosesornya sesuai. Di sini aku pakai x86_64 ya, jadi kemungkinan besar ga jalan untuk pengguna arm.
# App Nativefy
Kemudian tak sengaja nemu appnativefy, yakni pembuat AppImage untuk browsing website tertentu. Sehingga, kita buka website seolah-olah seperti aplikasi sendiri.
Jadi kepikir banyak hal, misalnya buat dipakai membuat e-book. Bisa mode online atau lokal tentunya, kan jadi lebih menarik. Tidak susah-susah bundling ebook lagi. Soalnya, sampai sekarang masih belum sukses bikin ebook bagus sendiri nih.. hehe
OK, lanjut.. gimana cara memulainya.
# 1. Kebutuhan
Pastikan sudah terinstall :
wget di sini nantinya dipakai untuk download electron sebagai base nya aplikasi.
Kalau menginstall kebutuhan tersebut, bisa pakai mode sederhana ini aja:
Pengguna Debian dan turunannya (Ubuntu, Kubuntu, Linux Mint, KDE Neon, Kali, etc.)
sudo apt-get install nodejs npm wget
Kalau untuk Arch dan turunannya (Garuda, Manjaro, etc.)
sudo pacman -Syu
sudo pacman -S nodejs npm wget
Distro lainnya, silakan menyesuaikan sendiri.
FYI
Buat saya, pemasangan nodejs lebih suka pakai seperti petunjuk manualnya. Bisa memilih versi-nya. Secara pada Linux Mint / Ubuntu, paket manager seperti apt
sering telat release versi aplikasi.
# 2. Installasi
Jalankan pada mode root biar secara global bisa dipakai.
npm install -g appnativefy
# 3. Pembuatan
# bangHasan.com
Untuk situs banghasan ini, pakai command line:
appnativefy --name "banghasancom" --url "https://banghasan.com"
Bisa disimak seperti ini:
Maka kalau sukses akan terbentuk file pada folder ~/appantivefy/
FYI
simbol ~
artinya home atau direktory utama mu, sesuai username nya.
Kalau di saya, jadinya di folder ini : /home/banghasan/appantivefy/
# Youtube
Contoh lainnya, misal kita mau bikin AppImage untuk membuka situs youtube.
appnativefy --name "YouTube" --url "https://youtube.com" --services
Kita tambahkan parameter --services
jika butuh login ke dalam url target (dalam hal ini youtube). Kalau url target hanya melihat saja tanpa login, tidak perlu ditambahkan.
Bisa disimak seperti ini:
# Download
Berikut ini contoh-contoh hasil dari appnativefy.
# banghasan
Tentu saja kamu musti mencobanya, hehe.. (becanda).
Ini adalah hasil seperti pada tulisan ini.
appnativefy --name "banghasancom" --url "https://banghasan.com"
appnativefy --name "Google" --url "https://google.com" --services
# Messenger
appnativefy --name "Messenger" --url "https://messenger.com" --services --favicon
Parameter --favicon
untuk membuat AppImage memiliki icon sesuai favicon website tersebut.
# Microsoft Teams
appnativefy --name "Microsoft Teams" --url "https://teams.microsoft.com/_" --services --favicon
🔖 Microsoft-Teams-x86_64.AppImage
# Spotify
appnativefy --name "Spotify" --url "https://open.spotify.com" --services --widevine --favicon
Parameter --widevine
untuk mengaktifkan fitur DRM seperti pada Spotify.
# YouTube
appnativefy --name "YouTube" --url "https://youtube.com" --services
# Another
Begitulah kira-kira juga bisa diterapkan pada Whatsapp, atau web-web lainnya.
Kamu bisa mencobanya dengan berbagai kreasi, terutama untuk website institusi, sekolahan, ataupun web produk. Bisa jadi akan memiliki nilai lebih bukan? 😘
# Tips
Direkomendasikan, saat menulis isi paramter, menggunakan petik dua " "
untuk menghindari kesalahan yang tidak diinginkan. Biasanya dikarenakan whitespace.
Contoh: --name "bang Hasan"
Detail penggunaan dan parameter-parameternya, dan juga source codenya, bisa ditinjau pada repositori sumbernya: https://github.com/sarweshparajuli/appnativefy.
Penutup
Jangan lupa tinggalkan komentar, agar dunia mengenalmu, yang telah bersilaturrahim ke sini. Dan sekaligus mungkin ingin memberikan masukan dan saran. Silakan yak!
🙏🏼 Semoga bermanfaat ...