Lompat ke konten utama
EP 109

Ngobrolin Desktop App

Ringkasan Episode

Bantu Koreksi

Episode ini membahas pengalaman produksi menggunakan Tauri, framework desktop application berbasis Rust yang memungkinkan pengembangan aplikasi desktop cross-platform dengan teknologi web. Mas Donny dan Mas Aris dari Zero01 Group berbagi pengalaman mereka memilih Tauri sebagai solusi untuk membangun aplikasi desktop trading, menjelaskan keuntungan menggunakan WebView native dari OS dan bagaimana Tauri menawarkan performa lebih baik dibandingkan alternatif seperti Electron. Diskusi mencakup berbagai aspek teknis termasuk integrasi SQLite untuk penyimpanan data lokal, tantangan multi-monitor, serta keamanan data dengan enkripsi. Kedua pembicara juga berbagi insight tentang ekosistem Rust, integrasi dengan Deno, dan tips karir untuk developer teknis tentang pentingnya membangun kehadiran di media sosial.

Poin-poin Utama

  • Tauri adalah framework desktop application berbasis Rust yang menggunakan WebView native dari OS, memberikan ukuran aplikasi yang jauh lebih kecil (sekitar 4-5 MB) dibandingkan Electron yang bisa mencapai 100+ MB
  • Untuk aplikasi yang membutuhkan database lokal, SQLite adalah pilihan utama untuk penyimpanan data dengan pendekatan Local First architecture
  • Tantangan teknis seperti multi-monitor support perlu diperhatikan saat mengembangkan aplikasi desktop, termasuk penentuan posisi window yang tepat
  • Keamanan data sangat penting, terutama untuk data sensitif seperti API keys dan credentials, sehingga perlu implementasi enkripsi yang proper
  • Integrasi dengan runtime JavaScript seperti Deno memungkinkan pengembangan lebih fleksibel dengan memanfaatkan core library Deno
  • Memilih teknologi sebaiknya berdasarkan use case yang spesifik - Tauri cocok untuk desktop app, sementara Wails (Go-based) bisa menjadi alternatif
  • Penting untuk developer teknis membangun kehadiran di media sosial dan berbagi knowledge, karena ini membantu karir dan membuka peluang baru

Hai, hai, hai.

Selamat malam.

Apa kabar?

Apa kabar? Malam ini ada dinas gak? Kita cek dulu.

Enggak, enggak, eh. Kayaknya gak ada deh, minggu lalu gak ada.

Enggak ada, ya.

Tahun Filipin, kapan sih?

Konya gak sekarang, deh.

Ini yang dimanfaatkan dari klase men, ya.

Gue cek dulu deh klase men.

Oh, malah ngecek kan, coba ya.

Kalah dari nguyen FC.

Tapi masa gak apa-apa, kan peringkat gue juga lolos.

Cukup, cukup, cukup.

Malam ini kita bahas web, ya.

Oh, iya. Oh, iya.

Kita tetep harus ngobrolin web.

Mungkin ngobrolin tim, Mas.

Kita gak cocok jadi pandit.

Gak cocok, ya.

Gimana kabarnya, teman-teman semua?

Mudah-mudahan sehat.

Udah ada yang komen tuh, Pertamax.

Pertamax, wah. Ini ketahuan umur, nih.

Ini jamannya kaskus, ini.

Pertamax kan, minta cendul jangan dibata.

Minta cendul.

Iya.

Nah, malam hari ini seperti biasa, ya.

Kita akan ngobrolin topik-topik seputar web.

Lihat transkrip lengkap (2399 segmen lagi)

Karena kan ini selasa malam, ya.

Ini pertamax lagi.

Selasa malam, waktunya ngobrolin web.

Ngobrolin web.

Malam ini topiknya...

Pertamax yang orang, berarti yang duax.

Iya, menarik.

Karena...

Beberapa tahun yang lalu,

kalau kita mau bikin aplikasi itu,

by default, ya.

Adalah desktop. Karena mobile itu belum ada.

Berapa tahun, berapa puluh tahun yang lalu, kali ya.

Aplikasi default untuk...

Apa? Untuk user itu biasanya desktop.

Apa? Client server lah.

Segala macam itu running-nya di desktop, kan, ya.

Ya, karena dulu HP belum se-accessible sekarang juga, kan.

Ya, internet juga belum affordable.

Puluhan tahun yang lalu.

30 tahun lalu.

Ya, 20 tahun lalu HP nggak ada.

Tapi kan masih belum.

HP-nya belum bisa install aplikasi.

Sudah bisa.

Tapi aplikasi memang paling banyak, ya.

Web juga ada.

Belum merarik, ya.

20 tahun lalu, orang belum bisa install HP-HP.

Nokia 3.3.15.

Dibanting, nggak bisa.

Masih zamannya WAP kalau webnya, ya.

Belum web yang ini, kan.

Masih text aja, gitu kan.

Tapi sekarang,

kalau kita mau bikin aplikasi desktop, default-nya apa?

Web, kan.

Nah.

Berapa tahun?

Bahkan sekarang aplikasi native web itu udah agak di...

Jarang.

Perlu mitas kesekian, ya kan.

Maksudnya, kalau orang bikin aplikasi native pun,

ya, native mobile OS.

Pastikan yang rata-rata umumnya,

yang itu share userbase-nya besar.

Ya.

Dan sekarang kayaknya kalau misalkan kita mau bikin

aplikasi desktop,

pilihannya apa aja sih? Nah, ini cocok banget.

Karena malam ini kita...

Apa?

Kedetangan tamu istimewa, ya.

Ada dua.

Bukan cuma satu, ada dua.

Dua-duanya dari perusahaan

yang namanya Zero One Group, ya.

Kalau mau tahu apa itu Zero One Group,

nanti kita tanya juga sekalian.

Ada Mas Donny.

Halo, Mas Donny.

Halo, suara aku bener...

Bener-bener aman.

Nah, aman-aman.

Iya, ini apa?

Bakfix. Bakfix di production, ya.

Hotfix.

Hotfix di production.

Ya.

Mas Donny, ini VP Engineering, ya,

di Zero One Group, ya.

Iya, iya, iya.

Oke, mungkin ada beberapa yang

belum kenal.

Boleh kenalan singkat, dong.

Oke. Halo semuanya.

Namaku Donny Rubia Gatra.

Aku sekarang di Surabaya.

Barusan ketemu tiga orang ini kemarin.

Di Surabaya.

Langsung kita todong.

Ayo, mesti ngobrolin web.

Ini tiga topik ini gara-gara obrolan pas

ketemu sambil makan nasi sambal.

Nasi sambal burudi, ya.

Langsung ditodong.

Mantap, mantap, mantap.

Aku dari

Zero One Group, salah satu software

konsultan yang terletak

di Jakarta sebenernya, namun tip engineering

tersebar di seluruh Indonesia.

Hampir. Hampir di seluruh Indonesia.

Ada di semua pulau nggak?

Hampir semua pulau.

Iya, Indonesia pulaunya

kemarin ribu, ya.

Pulau besar, pulau besar, lima pulau besar.

Kalau lima pulau besar itu

Jawa, Sumatra, Kalimantan,

Sulawesi.

Jawa, Sumatra, Kalimantan, Sulawesi.

Bali dan manusat Tenggara Barat

udah, jadi belum

Papua.

Seru ya.

Berapa orang ini ya timnya?

Tim engineering-nya.

Tim engineering

berarti sama produk ya.

Sama produk itu di angka

60-an.

Gede ya.

Mantap. Lumayan sekarang.

Lumayan ya.

Oke, kita bahas web.

Kita bahas web.

Eh tunggu, satu lagi, ada satu lagi nih.

Ada produk engineer ya.

Produk engineer-nya Mas Aris Seripandi.

Halo, halo.

Halo Mas Aris.

Di Surabaya juga kah?

Di pulau mana?

Ditanya pulau.

Oh Jawa Barat.

Jawa Barat, oke.

Saya tinggal di Jawa Barat.

Oh suka bumi, kirain bekasi.

Kira-kira Mas Aris yang pengembangnya.

Bekasi juga Jawa Barat ya?

Iya.

Mas Aris boleh kenalan

singkat dong?

Boleh, boleh. Perkenalkan

nama saya Aris Seripandi, tapi

biasanya dipanggil Kang Aris sih kalau di

temen-temen Zero One Group itu.

Di ZOG,

di Zero One Group saya sebagai produk engineer.

Pasifikasinya biasanya lebih ke front end sih.

Oh, front end.

Kadang-kadang

full stack juga sih.

Oke, oke.

Ini kan Zero One Group ini

konsultan company kan ya?

Atau software house lah ya?

Bener ga sih?

Ya, kalau mau familiar di Indonesia,

pasti bilangnya software house.

Penasaran nih,

skena-nya sekarang di

software house itu gimana sih saat ini?

Kan sekarang lagi

winter kan katanya gitu.

Kalau di software house sendiri gimana ininya apa?

Projekannya lah,

terus hiringnya, atau apa

segala macem mungkin bisa dicitakan sedikit?

Sedikit sih sebenernya

yang membuat kami

thriving ya, sampai sekarang. Jadi tidak survive

thriving sampai tahun ini.

Dan tahun-tahun ke depannya adalah

klien kami itu tersebar

tidak hanya di Indonesia sebenernya.

Jadi ada di luar negeri.

Jadi ada dari

dan website kami masih

working in progress.

Ini yang lama,

jadi kalau mau share

nanti kita bakal share.

Ada staging-nya sebenernya kalau mau.

Kita ga cek

lighthouse-nya kok malam ini ga tenang aja.

Yang penting bisa menarik

kliennya kan.

Kaliannya

dalam dan luar negeri gitu kan dari US,

UK, Australia

disana. Jadi yang

membuat kami thriving

sampai dengan tim

engineering 69

dan tim keseluruhan perusahaan

110

itu adalah cukupnya diversifikasi

klien. Jadi tidak hanya enterprise dari

lokal, lebih ada dari internasional.

Kalau dari lokal sendiri

cukup banyakkah atau

dibandingkan dari apa?

Sebelum pandemi itu gimana?

Justru yang menarik adalah kami dulu sebenernya

bukan software house utuh.

Tapi kami dulu itu adalah

AI machine learning provider

solution dulu.

Udah duluan ya?

Sebelum

Sebenernya banyak

klien sebelumnya software house atau apa

terus sekarang karena

AI 5 board girl

AI. Nah ini

keren nih tadinya

specialist AI malah

meluas ya tadinya.

Long story shortnya

adalah gara-gara pandemi karena AI

machine learning atau data itu bukan sesuatu

yang utama, banyak budget yang di-cut

disana. Jadi harus

harus ini, harus improvisasi untuk

pivot cari uang lewat

mana ya.

Tapi saat ini juga kami

menerima beberapa project AI

bahkan gen AI.

Banyak kan RAG kali ya

kalau lebih tepatnya.

Enggak?

Justru malah yang

lebih ke knowledge

management untuk

embedding

model. Jadi untuk menampung

semua informasi sih.

Ya berarti RAG kan ya

retrieval

tidak ya beda?

Belum sampai sana. Kayaknya aku

belum sampai belajar

RAG-nya sih disana.

Jadi malam ini kan topiknya tentang desktop

app ya. Nah kan kebetulan

juga teman-teman dari Zero One

Group, Mas Jurni, Mas Aris itu

kemarin share tentang

pengalaman

membangun aplikasi desktop.

Kira-kira

kalau sekarang

opsi untuk bikin

aplikasi desktop itu apa aja sih

kalau zaman dulu kan ada

Delphi, ada Visual Basic,

ada Java, gitu kan.

Jawa sampai sekarang sih masih ya.

Kan pasti kalian

research kan ya. Ada Microsoft

Access.

Bisa didikin aplikasi juga.

Itu platform pertama kali ya.

Bisa dibilang gitu ya.

Saya pernah nge-maintain

itu loh, nge-maintain aplikasi

di atas Microsoft Access loh.

Tapi nggak pakai C-Shop, nggak benar-benar

pakai Microsoft Access.

Dikin form-nya langsung dari Access. Atau

kalau nggak Oracle juga ada tuh.

Oh iya, Oracle ada

yang main-main form, pakai

form gitu kan ya. Terus kalau

di Windows itu biasanya .NET pastinya ya

.NET. Kalau di macOS kan pasti ada

apa, pakai Objective-C atau

Swift ya. Objective-C.

Jadi sekarang Alex,

gimana?

Kalau sekarang pilihan

dikin aplikasi desktop

di era web

sekarang ya, saya bilang

yang motif platform.

Cukup banyak pilihan sih.

Nah yang kali ini akan kita

bahas, sesama masih dibahas

nanti mengenai pengalaman,

itu menggunakan tauri. Dan

itu taurinya based on

trust, tapi from-enion

menggunakan teknologi web

react.

Oh, web-nya react.

Jadi

ada beberapa cerita

yang bisa di-share

di sana mengenai apa sih

pros and cons-nya menggunakan kombinasi

menggunakan teknologi web di

aplikasi desktop dan lain-lain.

Tapi

saya nanti lebih

tertarik mengetahui

the reason behind

membuat web untuk jalan

sebagai desktop application tuh apa sih

secara requirement bisnisnya itu

itu yang lebih tahu, the why.

Kenapa? Kenapa

gak hanya pilih browser?

Kenapa gak pake swift gitu misalnya

native?

Oh bukan, itu kan

udah pake teknologinya.

Sekarang kebutuhan bisnis

apa sih yang sampai butuh desktop

application? Nah.

Oh, I see.

Pasti gak pake

browser aja gitu ya maksudnya ya?

Oh gitu pilihannya.

Kenapa user pengen install app gitu?

Bikin user install suatu

app di desktop.

Sebenernya bisa banyak alasan sih

tapi untuk yang kasus kemarin

itu requirement dari

client yang mana memang

di domain spesifiknya di finansial.

Kalau misalkan

menggunakan web app itu

bisa jadi

dari

performa juga

kan benar-benar harus mengandalkan

server mereka tuh. Nah.

Masalahnya client yang kemarin itu

adalah satu perusahaan lembaga

sekuritas di Indonesia. Cukup besar

juga.

Mereka perlu

develop satu desktop app yang

cukup performan

tapi juga timeline pengerjaannya

gak lama gitu. Kalo pake

C++ yang kayak

aplikasi trading kayak gitu kan

biasanya pake C++ kemudian

UI library nya pake Qt.

Qt dari Nokia kan sekarang kan.

Nah itu kan

perlu resursi engineer

yang mahal dan lama juga kan

development-nya. Susah nyaringnya ya?

Susah juga di Indonesia. Nah.

Dengan adanya opsi pilihan

menggunakan teknologi web ini

di kombinasikan dengan Rust kan

yang sekarang lagi rame juga. Itu

satu kombinasi yang

bisa dibilang lumayan

perfect combo untuk requirement-nya.

Tapi pada incrementasinya ya gak

semulus jalan di

tol jago rawi sih sebenernya.

Emang tol jago rawi yang mulus ya?

Gak begini.

Kalo lebaran macet.

Nah. Ini

temen-temen dari Zero One gue pasti

sebelum memutuskan untuk pake Taori

pasti ada explore dulu kan

beberapa opsi. Gak. Waktu itu explore-nya

apa aja sih? Boleh ceritakan gak?

Dari kami sendiri sebenernya

kapabilitas untuk membuat desktop

pastinya dari pengalaman

yang sudah ada. Yang pertama

adalah Flutter sebenernya.

Karena kami juga punya tim

Flutter.

Kami juga punya tim Flutter. Dan Flutter

itu kan bikinnya

Flutter Engine gitu kannya

sekia disana. Tapi

dicoret

agar nanti pada akhirnya ini akan

di hand over ke mereka dan mereka butuh

maintenance yang lebih gampang

mencari orangnya.

Disara teknologi. Jadi ada

oh kayaknya dicoret nih. Jadi Flutter

akhirnya dicoret. Itu yang pertama.

Yang kedua itu

kita coba untuk

mungkin eksplorasi yang

populer aja ya. Jadi mengarah

kedua langsung. Elektron

ataupun Taori.

Dan fun fact-nya

POC-nya itu

pakai elektron.

Jadi

kita membutuhkan.

Karena mungkin lebih familiar

ini ya. Lebih familiar

dan lebih banyak orang yang pakai. Bahkan Slack kan

masih pakai elektron ya. Jadi

kayaknya nggak ada masalah ini. Kayaknya

nggak ada masalah ini gitu kan. Disana.

Nah dari situ eksplorasi

kita udah buat

ada masalah-masalah tertentu yang

kita hadapi pada waktu itu. Dan

harus kan Rirat dalam waktu

memindahkan ya. Memindahkan

yang ada di elektron sampai ke Taori

dalam waktu yang cukup singkat. Nah selanjutnya

silahkan Kang Aris. Detilnya

gimana tuh? Dari elektron ke

Taorinya gimana?

Ya ini cukup menarik sih. Jadi

ceritanya migrasi dari

elektron ke Taori itu dilakukan dalam

kurang lebih 2 hari

sih. Dan benar-benar

dari POC

yang

diminta ke lainnya tuh 3 fitur

yang termasuk transaksi

juga. Nah

dari elektron yang udah jadi

80%

pindah ke Taori. Isu

utamanya adalah memory leak

di elektron itu. Jadi

pertama kan elektron dia nggak

punya standar toaster

sendiri ya. Jadi elektron benar-benar

kayak Rirak aja. Library yang kita

set up sendiri mau

kayak gitu. Dan lain-lain gitu.

Nah masalahnya disana. Ketika

tidak menggunakan komposisi yang

cocok, toolkitnya

atau tooling yang pas

pasti akan ada banyak kendala

apalagi kan dikerjakan oleh tim yang

nah tapi ini bukan

basicnya

mendevelop aplikasi desktop kan.

Nah, pada saat itu

ada kejadian

memory leaknya tuh sampai ngabisin

14 gigapiknya itu.

Padahal

padahal

untuk fiturnya sendiri nggak terlalu

berat-berat banget kan.

Jadi, oh ya, mengenai fiturnya

sendiri, di aplikasi yang

kami develop itu, itu ada dua

hal yang utamanya. Yang pertama

kita harus

bisa handle data stream yang namanya

aplikasi driving kan, real time

data kan, pakai websocket.

Waktu itu pakai Nuts tuh. Dari

mereka pakai Nuts. Kemudian

satu lagi untuk transaksinya.

Nah, yang kedua ini

ini juga salah satu alasan kenapa

menggunakan teknologi web

di Tauri dengan, atau elektron pada

waktu itu pilihannya, dibandingkan

menggunakan C++ atau

yang lainnya, Donkai dan lain-lain.

Yang pastikan untuk

untuk kemudahan, satu untuk kemudahan

development karena resources

di web development cukup banyak

kan di, sangat banyak mungkin di Indonesia

sekarang. Yang kedua nya

kemudahan integrasi.

Nah, ekosistem JavaScript yang

ya, Mbak Eka, Mas Ivan dan Mas

Rija udah pada tau kan banyak

banget kan, ekosistem JavaScript udah gede banget

kan. Nah, jadi pilihan

pada waktu itu yang paling visible

atau sensible itu ya, elektron

atau Tauri. Cuman, karena

pada waktu itu temen-temen di

Zero One, tidak terlalu

ingin ambil resiko

menggunakan Rust. Ya, Rust

sendiri kan udah ada di dunia yang berbeda

kan, akhirnya pakai elektron. Sampai pada

akhirnya ketemu case tadi, isu

memori leak, ya udah, Tauri aja

dan itu udah, udah, langsung

soft sih, disana.

Kang Aris, apakah itu

tidak skill isinya kita ya?

skill isinya kita.

Bisa jadi juga ya kan

untuk elektron kan sebenernya

ya, Slack juga kan

realtime ya, bisa bilang realtime.

Discord. Slack, Visual Studio Code,

Discord, ya, banyak yang

pakai elektron.

Banyak yang elektron.

Bisa dibilang satu laptop

kita tuh, majority

aplikasinya based on elektron

sekarang. Spotify, ya, Spotify.

Engga, bener.

Semua 3 Giga lama-lama

face-nya.

Ya, saya

baca-baca soal perbedaan

mendasar antara elektron dan Tauri.

Sebenernya Tauri itu

di belakang layar hanya binder.

Jadi dia cuma ngebinding ke

aplikasi yang sudah ada

di belakang. Jadi dia tidak membawa

browser. Sedangkan bedanya

elektron, browser-nya itu

dia bawa

Chromium. Dia bawa Chromium langsung

di dalam instalasi.

Jadi memang instalasinya langsung tertutup

langsung ada Chromium based

Chromium-nya dia, Chromium

engine-nya dia untuk ngejalanin

aplikasi kita. Sedangkan

Tauri tidak. Nah.

Berarti

secara

requirement saat

instalasi di

komputernya klien,

berarti si browser itu harus exist

sebelum bisa

diinstall. Karena tidak akan jalan

sebenarnya kalau Tauri-nya, misalnya

Tauri-nya diinstall, tapi kalau browser yang

tidak ada. Tapi misalnya OS-nya

tidak punya browser, tidak punya default

web view. Ya, mungkin browser yang kita,

saya tidak tahu bagaimana konfigurasi

default browser yang dipakai apa.

Kalau tidak ada, berarti tidak bisa.

Berarti harus instal browser-nya dulu sebenarnya.

Lebih tepatnya sih

Tauri itu

dia memanfaatkan default

web view-nya masing-masing OS.

Jadi kan setiap

OS. Pasti ada web

view ya? Pasti ada.

Pasti ada OS-nya yang tidak ada web view-nya.

Makanya dia bisa IOS dan

bisa dibundle ke IOS

dan ke Android juga kan.

Yang Tauri 2. Itu versi 2.

Langsing

banget jadinya ya. Langsung.

Tapi mungkin biar

teman-teman di sini yang belum familiar

dengan teknologi seperti Electron dan

Tauri. Jadi Electron itu

bukan hanya membungkus

aplikasi web, terus

jadi aplikasi executable ya

Xe atau apa gitu ya. Tapi ada

backend-nya juga kan ya.

Kalau Electron itu pakai NGS kan.

Kalau misalkan dia mau

tulis file, mau baca file,

mau network dan lain-lain itu kan

konteknya ke Node.js.

Kalau Tauri dia pakai Rust. Bener gak?

Betul. Kalau lebih tepatnya kalau di Electron

itu pakai V8 engine-nya.

Oh, V8 engine-nya.

Yang sama juga dipakai

di Node.js kan pakai V8.

Sorry, bukan Ban. Dino juga pakai

V8 kan? Ya.

Dino pakai V8. Kalau Ban dia pakai

webkit-nya.

Ya.

Itu V8 C++ runtime.

Ujung-ujungnya namanya

di belakang Lip-UV.

Itu yang saya ingat.

Lip-UV itu yang asingkronus

scheduler-nya?

Ya, asingkronus scheduler-nya. Yang akhirnya

juga sama Dino kan. Anyway.

Jauh kemana-mana.

Intinya adalah si Electron dan Tauri itu

dia ada front-end-nya, ada backend-nya juga.

Untuk berkomunikasi

dengan OS. OS level ya.

Jadi, kalau

ada masalah dengan

memory leak, bisa jadi antara di front-end

atau di backend-nya juga.

Karena kalau dibandingkan antara

Node.js sama RAS, ya

kayak bumi dan langit.

Tapi sebenarnya

yang menariknya itu

di temuan kami pada waktu itu

yang heavy-nya itu

adalah penanganan websocket-nya

di front-end. Karena kan

dari klien, itu

permintaannya adalah websocket

data real-time-nya itu dihandle

dari front-end aja.

Sedangkan untuk yang data transseksional

itu data pakai RAS sebenarnya. Dan dihandle

dari backend, dari RAS atau Electron

tadi. Karena untuk

beberapa alasan terutama yang paling

penting adalah security sih.

Keamanan.

Oh, berarti front-end-nya langsung connect

ke websocket-nya?

Websocket-nya ke

server VSS.

Dan saat di-load,

tapi saat di-hydrate,

client-side langsung request.

Gitu, ya.

Nah, terus

penasaran yang tadi

apa, kan dari Electron ada isu

memorily. Nah, terus

hampir semua, 80% ya

tadi. Sebagian besar di-migrate

ke Tauri. Nah, kan berarti hampir

kayak, "Udah, migrate,

dipindah, hampir

seluruh code-nya."

Kecuali yang Tauri spesifik,

habis itu nggak ada isu lagi.

Nggak ada isu

signifikan sih.

Tapi tempat

balik lagi juga di Tauri,

tapi nggak segede yang di

Electron. Kalau di Tauri,

paling besar peak-nya tuh paling cuma di 4 giga

an. Setengahnya jauh, setengahnya.

Jauh dari yang tadi kan sampai 14 giga.

Tapi berarti

migrasinya bisa dibilang, dalam

kasus ini lumayan seamless ya. Maksudnya

nggak harus kayak perspektifnya,

atau maksudnya kayak arsitektur

seluruh stack dari

back-end sampai front-end. Nggak ada yang harus

dipikir ulang, nggak ada yang harus banyak

di-migrate, nggak ada ya.

Nggak, yang heavy-nya tuh di front-end-nya.

Jadi, bisa dibilang

seamless, karena kan si

front-end aplikasinya itu dipakai

feed kan. Kita pakai feed tuh, pada

waktu itu. Front-end-nya nggak ada

masalah. Cuman yang

jadi PR-nya itu adalah

komunikasi antara front-end dengan back-end

dari electron dengan

tauri kan beda tuh.

Meskipun mereka sama-sama

menggunakan protokol IPC.

Jadi, tauri punya

protokol IPC-nya sendiri.

Sama kayak kita ini lah,

kita komunikasi dari front-end, VRS,

kalau misalkan yang di tauri,

dia ada IPC, electron

juga sama. Nah, yang-yang

di tauri ini, sebenarnya lebih enak.

Karena dokumentasi integrasinya

lebih banyak atau lebih

bagus dari electron

sebenarnya. Dan lebih muda juga.

Oke, oke.

Menarik, menarik.

Terus, teman-teman di Zero One Group

udah punya

pengalaman menggunakan

RAS sebelumnya, atau ini baru

proyek pertama yang menggunakan RAS?

Kalau RAS,

kami sebenarnya sudah nge-deploy.

Kami ngerilis satu open source,

by the way, dengan RAS.

Kami ngerilis,

karena dulu GitLab itu

berbayar ya. Yang

berbayar ya, yang di mana?

Yang di cloud. Jadi kami bikin

tools CLI untuk memindah

semua data kami dari GitLab.com

ke Selfhost. Dan itu pakai

RAS. Itu pertama. Yang kedua,

internal HR

sistem kami itu

menggunakan RAS untuk

interaksi, select GitLab

sama Google Workspace.

Dan itu RAS API-nya

pakai RAS

di sana.

Jadi sebenarnya, kami

tidak terlalu ini,

tidak terlalu asing dengan

RAS.

Jadi ini mungkin proyek

ketiga.

Jadi cukup familiar

dengan RAS, jadi cukup

pede untuk migrasi, proses

migrasinya ya.

Dan selipan, satu, ada production

elixir di kami, jadi

sedikit promo buat proses ya.

Mantap, mantap, mantap.

Oke, oke.

Boleh di-share gak sih

kelebihan dan kekurangannya

dari Electron dan juga

Tauri

untuk proyek ini?

Kang Aris, boleh langsung.

Electron, kita mulai dari

Electron mungkin ya. Electron

sendiri yang point place-nya

adalah kita ada satu,

kita hanya perlu menggunakan satu bahasa

atau satu ekosistem JavaScript

atau TypeScript, itu kelebihan utamanya.

Terus, kelebihan

lainnya, menggunakan Electron,

selain ekosistem tadi

yang udah banyak

di IJS-nya, kita bisa

integrasi dengan PH engine

atau runtime yang sama digunakan

oleh Node.js juga.

Tapi dibalik itu kan

ada kekurangan tuh, karena tadi dia

harus ngebundel PH engine-nya,

kemudian ngebundel webview-nya

juga, dijadikan satu,

digabungkan dengan front-end-nya.

Ya mana, sebenarnya front-end-nya

bisa jadi gak, gak gede-gede banget

kan. Paling ya, cuma 1 mega bisa

atau 10 mega paling besar kan.

Yang, ya

di webview kan, yang web aplikasi kan

JavaScript output-nya

gak, gak mungkin gede-gede ya, apalagi

mastipan juga di web performance

Aula.

Nah.

Kalau ditawuri, enaknya adalah

pertama bundles aja lebih kecil.

Jauh lebih kecil.

Electron itu, standarnya itu

sekitar 90 megabyte

untuk bundle di DMG-nya.

Kurang lebih sekitar 90 ke atas

tergantung dari aplikasi seberapa besar juga.

Nah.

Tawuri itu sekitar, ya paling

3 mega, 5 mega, atau 10 mega.

Yang kemarin

di, kami buat itu dengan

video yang lumayan

advanced.

Itu sekitar, kalau tidak

salah, saya ingat 11,

sekian hampir 12 mega.

Karena kan, dia

tidak membundle webview-nya kan.

Dia bener-bener memanfaatkan

webview yang ada di OS-nya.

Nah. Cuma kekurangannya,

kalau dari segi teknis,

ditawuri tentu nyari yang generas

lumayan susah untuk sekarang.

Masih lumayan susah, terutama di Indonesia.

Yang kedua,

isu yang kedua adalah,

di Tawuri itu akan sangat tergantung

pada webview OS yang dipakai.

Jadi misalnya,

betul.

Kalau misalnya...

Kalau Max-nya nggak pernah update,

dia pernah upgrade ke

apa? Next version.

Ya, itu juga jadi isu

tersendiri sih. Meskipun sebenarnya dari

Tawuri sendiri, requeran

minimum OS-nya

nggak baru-baru banget sih.

Enggak harus baru banget. So, ingat saya yang

Neko OS itu versi 11, dia udah support.

Kalau nggak salah 10 atau 11.

Nah, cuma yang masalah itu di Windows sih.

Lebih banyak di Windows. Sekarang kan

Windows sendiri,

webview-nya,

Windows 7, itu kan

bukan pakai ini ya.

Belum Edge ya?

Belum Edge.

Windows 10 juga kan? Yang 10 yang awal-awal?

Iya. Itu...

Ada ketemu banyak

problem nggak pada saat develop

di Windows dengan webview

yang mungkin

yang di bawah

requirement lah, misalkan

masih Internet Explorer, belum

Internet Explorer Edge kan, belum yang Chromium-based.

Ya, itu

problem utamanya di sana sih. Tapi

pada akhirnya, dari klien

juga sepakat untuk menanduhkan

spesifikasi atau requirement

perangkat yang minimumnya

berapa kan?

Oh, jadi bisa di drive dari klien-nya kalau minimum

requirement-nya sekian, Windows-nya

harus Windows 11

atau berapa gede?

10 masih bisa, 10 ke atas.

Oke, oke.

Wow. Nanya dong.

Soal...

Saya, karena pernah punya pengalaman

bangun aplikasi Electron dulu,

jadi ada salah satu fitur

atau

yang berkesan itu adalah

update. Nah,

karena Electron itu kan gede

sekali update itu harus dibundle

Excel-nya, sehingga saya harus bikin

auto updater.

Jadi kalau ada update di server,

nanti muncul

download, dia nggak download sendiri.

Stick to download gitu ya?

Ya, download, dan akhirnya nggak refresh.

Kalau di VS Studio kan, eh, si VS

Code kan ada logonya

tombol dong, update.

Kita sudah ada update, dia

nanti ngereload sendiri kan,

dia bisa ada auto update. Kalau kalian

gimana nih yang handle update

aplikasi? Apakah suruh minta

klien install ulang atau

install ulang, download ulang

di handle dari

aplikasinya?

Bersyukur ya tau dia punya plugender sendiri untuk

auto update ini, jadi

tanpa harus dia

install ulang lagi satu pack penuh,

jadi dia cuma ngambil

core binary-nya aja, atau

output binary dari

hasil build-nya aja.

Jadi kalian tinggal push build-nya ke server

kalian, somewhere,

nanti dia nge-fetch,

ngedownload, dan nge-replace, gitu ya?

Ya, betul.

Dan itu

yang mengejutkannya, buat Sessu

juga sih, pada waktu itu,

kita bisa customize

nasipan. Jadi, ya

by default, dia udah ada tuh

mekanisme update-nya. Dan memang

gak semua, yang didownload

tuh bukan installer-nya. Jadi, kalau

Micro S kan ada DMG, kalau di

Windows kan Exe atau MSI, kan?

Bukan itu, tapi cuman

file... Build JS-nya

aja? Enggak.

Kalau ditaburi, udah jadi binary.

Jadi satu binary.

Oke.

Yang didalamnya sebenarnya, ya itu

build JS-nya kita kan

sebenarnya, didalam itu.

Dibungkus, ya?

Kayak di golang,

kan di golang kita bisa embed

static file, kan? Nanti ketika jalan

disub, satu webserver tentu, gitu.

Oke.

Ini target

untuk user-nya,

apakah terbatas hanya di Windows

aja, atau Windows

Micro S, termasuk Linux juga, atau

gimana?

Tauri sendiri,

maaf, Mas Ritza, untuk

aplikasi yang kami buat, atau yang secara

umum di Tauri? Yang kalian buat?

Kalau yang klien

minta itu hanya dua, Micro S

sama Windows aja.

Karena dari mereka

bilang juga jarang orang yang ready

pake Linux.

Mac-nya dua,

Apple Silicon sama

yang Intel. Yang Intel, ya.

Penasaran kalau di Linux,

WebView-nya pake apa ya, by default, ya?

Kalau Vanilla, belum disulit apa-apa.

WebKit.

WebKit, ya?

Ya, WebKit.

Baik itu yang pake Gnome juga WebKit, ya?

Nah,

kalau yang di Linux

ada Gnome, Gnome pake

WebKit, kemudian yang kaya DI itu...

KDI?

WebKit itu asalnya dari KDI, kan? Sebenarnya, kan?

Iya, Chameleon, kan?

Chameleon, ya.

Berarti dua-duanya WebKit, ya?

Kalau Windows yang ARM gimana?

Atau jarang Windows yang ARM?

Kita nggak handle.

Tidak build.

Tidak build.

Kalau terlalu aneh-aneh, ya.

Tapi beneran ada, kan?

Sudah support

Windows ARM.

Cuma memang untuk requirement dari ke lainnya sendiri

belum terangkap. Hardware-nya

juga masih jarang.

Ntar aja pusingnya kalau udah ada

requirement-nya, ya.

Nah, ini

karena ini back-end-nya

Rust, kalau misalkan error,

itu error-nya error

front-end, atau error

Rust juga? Maksudnya gini, dari sudut pandang

web developer,

kalau kita mau pake Tauri, apakah kita mesti tahu

Rust cukup mendalam?

Atau cukup tahu hello world,

abis itu udah bisa bikin? Atau gimana?

Nah, yang menariknya,

engineer yang di tim

pada saat kita mengerjakan,

ada, kalau enggak salah, ada

5-6 orang, kalau enggak salah, termasuk

saya, jadi 7 orang.

Majoritas mereka front-end engineer,

tapi ada satu yang

back-end engineer juga, cuman bukan

spesifik di Rust, dia

biasanya pakai golang juga.

Nah.

Jadi, pada waktu itu,

saya dan tim melakukan analisa dulu nih.

Mana yang

harus di handle dari Rust,

mana yang aman di handle untuk

di front-end aja.

Nah, yang di front-end aja, mereka tetap

minta, ya udah, untuk nuts

web socketnya aja dulu,

enggak yang lain-lain.

Untuk data streaming, udah aman di

front-end. Tapi kalau misalkan udah nyangkut transaksi,

pembelian, penjualan,

dan lain-lain, profile,

itu di-encryption dulu.

Lalu, back-end-nya, di

Rust-nya. Nah, pada

waktu itu,

kalau error, jelas harus bisa

baca dua-duanya. Jadi,

kami dibaging itu ada di dua tempat di

console login yang punya

browser-nya, sama di

terminal juga. Terminalnya, oke.

Terminal. Tapi,

nah, enaknya tauri,

itu kita bisa integrasikan sebenernya.

Jadi, login yang ada di WebView,

itu bisa dimasukkan ke terminal juga,

enaknya di sana. Dan itu enggak

banyak

effort yang harus dibuat

untuk kesana.

Mungkin pertanyaannya

pertanyaannya, Mas Rizan, apakah

ketemu error-nya compiler-nya, Ras?

Gimana, Kang Riz?

Solusinya, pada waktu

itu, teman-teman...

Co-pilot.

Co-pilot.

Tapi, sayangnya,

enggak semua teman-teman pakai

DTPT atau

AI. Jadi,

beberapa...

Jadi, pada waktu itu, saya sama satu

pekan lagi, namanya Mas Kavi,

di Zero One juga.

Kami diskusi, gimana caranya

biar teman-teman ProNN bisa familiar

ketika nge-develop, nge-develop satu

buah fitur, itu tanpa harus mereka

benar-benar paham, Ras, akhirnya

bikin satu patron yang mereka bisa duplikasi.

Jadi, dari list-list

fitur yang diminta klien,

misalnya integrasi Ras API-nya,

ya udah, kami bikinkan satu

wrapper, ya udah, kalau mau

implementasi fitur, kasih tahu nih ke teman-teman

engineer, ini

fungsi untuk integrasi, ini fungsi untuk apa,

ini fungsi apa, nanti mereka bisa duplikasi

dari patron tersebut.

Oke.

Tapi berarti, sebetulnya, harus nulis

logic Ras, ya? Itu kan tadi

perkara dibuatin wrapper atau

passion yang biar gampang pakenya,

oke lah, tapi berarti kan harus

server side logic-nya,

kayak backend logic-nya kan

tetap diimplementasi dalam

Ras, berarti kan dimalukan satu team

harus ada yang

cukup menghasilkan

Beyond Hello World.

Ada triknya mungkin dari kami

dan itu pernah kami bahas

di tim pasar,

adalah copy everything.

Maksudnya?

Jadi nggak usah pakai borrower, udah copy

aja, nggak usah di,

udah copy, copy, copy, copy,

jadi nggak perlu kita harus nge-track, ini

kapan harus di-release, ini kapan harus

di-muted, nggak usah pakai lifetime

dan semuanya, udah deh, copy,

copy, copy, jadi kita nggak peduli

sama, itu untuk buat

mempercepat dateline.

Meskipun pada akhirnya

dioptimasi juga sih, jadi dari

teman-teman ya, implementasi

dulu, nanti dari tim seniornya

dioptimasi lagi, biar lebih

set lagi.

Koncept borrower ini lumayan

jadi momok ya, buat

belajar Ras ya.

Diguruhi sama compiler

terus. Diguruhi sama compiler.

Compiler-nya ini ya, apa,

cerewet ya.

Ya, betul.

Ya, kalo dia prinsen compile

ya udah, gitu kan.

Aman, cuma kadang-kadang kan compiler

ras itu, ada beberapa hal

yang susah untuk dimengerti juga.

Meskipun dia ngasih rinsian, tapi

kita nggak tau nih, maksudnya dimana.

Yang enaknya tuh

di Ras itu, compiler-nya kalo gagal

dia ngasih tau tuh, petaknya

sama kayak PSP. PSP kan

lain berapa-lain berapa. Di Ras juga

kurang lebih sama, ada disana.

Oh, oke.

Cukup membantu, tapi masih tetap kritik

juga kali ya, kalo orang yang nggak familiar dengan

error-nya Ras gitu ya.

Masih horror.

Oke, oke, oke.

So horror, ini nggak error

reactiv yang merah menyalah gitu.

Aduh, pengalaman

dulu tuh.

Trauma.

Makanya kami pindah ke flutter.

Apakah elektron?

Tergantung ya,

terjawabannya adalah kami cukup adaptif sekarang.

Kalo dulu mungkin timnya karena belum terlalu

besar, sekarang sudah cukup

mature. Kalo mau ada

masalah sesuatu tau-tau di kill

oleh si Empu-nya.

Saya nggak menyebutnya,

tapi kalau tiba-tiba sudah siap sih.

Udah siap.

Oke.

Udah ada fog-nya juga kan ya, jadi

harus siap.

Atau pake ini?

Tauri.

Atau pake Tauri.

Bisa, bisa. Nah, elektron atau

Tauri, ini bisa senatif

aplikasi desktop aslinya nggak sih?

Netif.

Maksudnya netif gimana?

Mungkin

user experience-nya ya,

rasanya gitu.

Accessible level functionality

atau gimana tuh?

Kalo di Tauri, jelas

bisa sih. Sekarang kan dia

udah dibantu dengan rasanya itu sendiri

kan. Jadi layer,

access to layer OS yang

lebih low-level lagi, bisa

disana.

Secara ditambilkan

di front-end-nya atau di user interface-nya

itu kan pake protokol IPC-nya

Tauri itu sendiri.

Kalau pertanyaannya

adalah UI-nya, berarti ya

harus nyesain desainnya

Windows gimana. Ada bahasa

system desainnya,

ada system desainnya

di Mac juga harus disesuaikan, jadi

bukan yang kayak react native

yang mengambil komponen gitu ya, kan?

Tetep harus

dikustom semua gitu sih, nggak bisa.

Kalo UI-nya pure web ya, berarti?

Maksudnya kodingan web yang kayak

kodingan web pada umumnya aja kan?

Ya, sama kayak kita bikin

web application aja, back office

application dan lain-lain.

Cuma misalnya button-nya nggak kita timpa

CSS reset, nggak kita style sendiri

ya button-nya sesuai

webview masing-masing OS, kan?

Jadi misalnya kalo kita nggak timpa CSS

button-nya di Mac OS

itu kayak button Safari, gitu kan?

Berarti, kalo di

Windows-nya

view-nya Edge, kayak button-nya Edge, gitu.

Kalo kita nggak tambahin

styling library tertentu, iya.

Tapi yang kami

lakukan pada saat itu, kemarin itu, kita

menggunakan Tailwind.

Jadi pakai Tailwind,

React, udah,

gitu aja.

Front-end-nya itu pakai React sama Tailwind, gitu ya?

Betul.

Berarti any web developer

pasti langsung bisa masuk situ ya?

Asal nggak harus tulis

logic-nya?

Harusnya bisa, karena

ya, emang nggak.

Apakah kalo pakai Tauri,

kalo

hanya consuming REST API itu

perlu tau REST juga?

Nggak.

Kalo REST API-nya external,

nggak ya, berarti?

Enggak, basicly nggak.

Karena si Tauri sendiri,

tapi uniknya gini,

jadi si Tauri itu menyediakan satu plugin

VATS sendiri. Jadi kan

kalo di Node.js sama browser kan ada

VATS tuh. Nah, si

VATS yang di webview-nya itu

nggak bisa dipake, pasti keblok sama issue

cost dan lain-lain.

Harus lewat server-nya juga ya?

Rapper cache-nya aja

dari Node-nya.

Oh, ada wrapper-nya.

Nice.

Kecuali kalo misalkan butuh

API-nya butuh

yang...

atau payment gateway.

Pake payment gateway kan harus ada di server kan?

Nah, itu harus ke REST juga tetep ya.

Kalo untuk security sendiri gimana?

Kan misalnya kanan ini udah

di-bundle dan bisa akses low-level

seandainya di library Node,

library Node yang

dipakai, ada ke

Tomb Miner-nya segala macem atau

something itu, dia bisa

lebih akses ke...

kalo di browser kan ada

permission-nya yang harus dilewatin,

ada layer security-nya dari call center si browser

sendiri. Kalo dari kita

MB di Tauri,

layer itu tetep masih ada

buat gimana?

Nah, baru mau tanya itu kebetulan sekali.

Handle keamanannya itu gimana sih

dari Tauri ini?

Atau apa juga diterapkan?

Diterapkan saat ini.

Nah, di Tauri versi 2

itu mekanisme

security-nya udah lebih bagus lagi.

Jadi mereka ada permission. Sama kaya

di 0 kan udah harus ada permission.

Per akses ke...

misalnya kita mau akses file nih

di system, di OS lah.

Itu kalo permission-nya tidak di allow

atau tidak di enable, itu gak bisa.

File system-nya gak kebuka?

Kamera, bluetooth, file system...

Kalo front-end lah, itu yang kaya apa, lokasi gitu?

Geolocation, blablabla?

Nah, masalahnya

untuk yang

fitur-fitur yang spesifik seperti

lokasi dan lain-lain, itu kan tergantung dari

web view tadi kan?

Oh, berarti kan dia punya-nya browser ya?

Iya, betul.

Tapi di Tauri sebenernya gak berusaha

langsung dengan dia, karena dia cuman

pinjem web view-nya

dia render,

dipake untuk ngerender aplikasi front-end-nya

tadi.

Cuman...

Jadi yang nge-handling-nya dengan logic web

kan, itu maksudnya kaya kita nulis

navigator, dot, permissions, blablabla

gitu?

Secara di kawali front-end ya?

Tapi di Tauri sendiri kita bisa

manipulasi sih, untuk yang

kalau misalnya mulai dari Tauri versi

1.7 atau 1.8

seingat saya itu, kita bisa

manipulasi permission dari

web view. Jadi misalnya

di spesifik untuk Windows

ada efek-efek

transparan, atau ada

permission yang... kalau di Chromebase

kan kita bisa set parameter

tertentu ya, kalau dari...

kalau kita akses dari CLI atau terminal

kan? Parameter apa,

yang fitur apa, yang mau dibuka kan?

Kaya di Chromeconfig gitu loh.

Chromeconfig, itu kan

bisa di... kita bisa passing

CLI atau parameter.

Tauri bisa di sana.

Tapi berarti nggak semua

kan ya? Kaya misalnya kalau yang

kaya geolocation, kamera

yang sensitif gitu kan, kalau browser,

kalau web view kan, tetap harus dari

user action kan?

Bisa di-overradate dari Tauri sebenarnya.

Bisa.

Cuman nanti yang

berurusan dengan OS-nya sih Tauri juga.

Jadi kadang-kadang, kalau misalnya

kalau di Apple

kan ada istilah notarization kan?

Jadi si aplikasi binary-nya itu

harus diidentifikasi

sebagai dari developer

yang terpercaya kan?

Di Windows juga sama

kalau misalnya nggak di notarisasi

kayak gitu, di notarisation,

biasanya kan bacanya malware nanti ya.

Dari si Mac dan si Windows Defender

biasanya ya.

Ini beneran bisa di-bypass?

Dari web API

permission?

Kalau elektron mungkin ya, tapi kalau

Tauri belum tentu sih.

Karena kayak tadi, contohnya yang

patch aja, patch harus pakai rapper-nya

Puja Tauri.

Tapi ini kan tadi

front-end-nya pakai React

ya bacanya Tauri atau

Raskan ya. Tapi denger-denger

menyesal pakai React

di Tauri, kenapa itu?

Boleh cerita.

Apakah ada yang

Bisa jadi skill issue sih.

Kenapa?

Gimana?

Jadi

pada waktu itu ada

dua pilihan sesuai antara

React atau Solid.

Cuman issue terbesar

kenapa menyesal pakai React

adalah di Stack Management sebenarnya.

Kalau di

contohlah

ketika kita mengembangkan satu

aplikasi desktop, kan

misalnya di VB, ada event

on-init atau on-window open

misalnya ketika event-nya, window-nya

pertama kali terbuka, kita

harus lakuin apa dulu nih?

Apakah mau manggil data dari

database atau apa?

Misalnya di Tauri

kita mau

mengkustomize

user interface-nya.

Jadi benar-benar frameless atau

kayak gimana itu kan harus di event on-init kan

ketika window-nya dibuka.

Masalahnya, React itu sendiri

kita bisa pakai use effect

ketika

buka aplikasinya pertama

kali dan menginjek kode

Tauri untuk memanipulasi

hal-hal tersebut.

Cuman kadang-kadang kalau engineer-nya

lelai, use effect itu

kan kalau kita masuk ke

bagasian.

Ya, kalau dikasih

array definition kan terus-terusan tuh.

Terus-terusan ya

ngerender.

Itu sempat kejadian beberapa kali

dan termasuk ketika integrasi dengan Nuts

ini yang jadi isu utamanya.

Kalau di Solid

di Solid itu ada satu event

namanya on-window-up

sama kayak di standard web kan

ada on-document reload

on-document load dan lain-lain.

On-document ready. Blah-blah-blah.

Hmm.

Jadi

semi-skill issue, bukan skill issue sih

familiarity dengan cara kerja

React Hook.

Yang opinionated.

Tapi berarti bebas ya mau pakai swell?

Mau pakai apa ya?

Manila juga bisa kan?

Bisa.

Mau pakai web component juga bisa.

Hmm.

Kalau yang multiple

Kalau yang

Kang Aris ada masalah nggak

perkara virtual dom-nya React yang perkara

rendering issue?

Ya, mostly yang masalah itu

yang tadi yang saya mention ketika

integrasi ke

nas. Jadi

kadang-kadang

apalagi kan React itu kalau

kita set ke strict mode

dia akan ngerender double

di development mode itu.

Jadi satu data

ketika di-load

datanya dua kali. Nah sedangkan yang

real-time ini, data yang real-time dari

dari websocket

mereka itu nggak boleh tuh.

Nggak boleh ada duplikasi.

Sekarang kan

datanya sensitif kan ke

uang orang lain ini kan?

Yes.

Kalau misalnya itu terjadi

datanya invalid.

Terus

memori pun bisa jadi numpuk lagi.

Jadi data-data yang banyak

dari streaming websocket

ke-render dua kali

di front-end itu yang

menjadi menyebabkan memori.

Salah satunya itu.

Oh gitu.

Wah menarik ya. Ini

pakai React dan Next. Gapain pakai

Next? Kita nggak butuh server kan.

Servernya udah ada.

Jangan overkill ya.

Ada yang

Mas ini

dia pakai

next.js, pakai

Tauri juga. Oh ya?

Berarti ada next servernya

juga. Servernya jalan

di... Nggak jalan kan?

Nggak. Next.js kan bisa

overkillnya statik kan?

Oh ya ya ya ya.

Kalau statik mah bisa aja.

Bisa bisa.

Itu makes sense juga kalau emang

statik. Kayak kan misalnya orangnya udah

ternyur jago Next.js.

Developer-nya maksanya di tim.

Ternyur ke statik aja ya.

Ternyur jalan upgrade ke React 20

atau ganti?

Belum tau.

Tergantung

tergantung ini. Cuan-nya

dari kliennya.

Dicuan rewrite.

Rewrite.

Ini kliennya apakah berkesinambungan

ada maintenance

mode-nya

atau udah jadi udah selesai

gitu. Nggak ada upgrade. Nggak ada apa.

Ada retainer aja. Nggak.

Jadi sebenernya dari

Zero One Group sendiri itu

membantu mendevelop dan ada

transisi dari timnya yang akan

dibuat sendiri in house.

Oh mereka punya tim ya?

Jadi kan itu alasan pertama

karena memakai teknologi web ya.

Supaya nanti bisa di maintain secara

mandiri di sana.

Ada

proses transisi ya. Berapa kalamannya

transisinya kita bantu

diluar yang

ini ya dari kita

persiapan deployment.

Dua sampai tiga bulan.

Itu transisi untuk

teman-teman in house-nya

bisa produktif.

Jadi kalau ditanya apakah mau diganti ya?

Tergantung kami dipanggil

ya apa nggak.

Sama-sama.

Atau ada yang lain disini

yang mau dibuatkan desktopnya, Pak?

Layak nonton developer semua.

Salah market.

Salah market ya.

Salah market.

Ada.

Pernah apa?

Pernah punya pengalaman itu

tapi pakai elektron, tapi kasusnya

kebutuhannya

karena butuh untuk buat

aplikasi yang jalan secara offline.

IOT.

Tapi nggak, di laptop.

Jadi untuk sales.

Ya sales.

Jadi dia jualan

itu loh

untuk water treatment.

Jadi barang-barang water treatment itu

kliennya US based.

Dan kebutuhannya

adalah data

datanya itu

semua soal produk, spesifikasi

harga segala macam itu adanya

di online.

Saat si sales itu keliling

itu belum tentu ada internet.

Dan jangka itu kan

2015-2017 itu

internet itu

bukan kayak 4G.

Belum ada 4G jaman itu ya.

Belum ada Starlink.

Belum ada Starlink.

Jadi untuk

bikin invoice

atau purchase order itu

si sales yang jalan itu

dari kantor ke kantor itu

ya nggak bisa kan

untuk langsung harus online terus kan.

Jadi kita buat kan

aplikasinya pakai elektron.

Masih ingat saya teknologi

stack-nya itu di belakang back bone

dan underscore.

Back bone.

Nah back bone JS.

Jadi

saat dia di kantor

dia bisa pencet facts to download

semua produk segala macam.

Udah selesai dia pergi jualan

bikin purchase order segala

macam. Nanti setelah balik kantor

dia upload, dia sync lagi.

Purchase order itu di sync ke server.

Itu gunanya.

Makanya awalnya

kenapa saya tertarik menanyakan

kenapa pakai desktop application

pengen tahu kasus

apa sih yang ada di luar sana gitu.

Kalau yang di kasus saya ya

mau nggak mau desktop application

karena nggak ada internet offline.

Offline mode.

Dan di kasus itu sebetulnya

kan jumlah kayak nggak

di open untuk public kan public

nggak bisa sembarang download aplikasi itu.

Cuma intrakompany kan.

Intra.

Hanya sales aja.

Ada sales yang premis

untuk laptop perusahaan.

Total user-nya 50.

Nggak nyampe.

Mau seberat apa juga nggak apa-apa.

Figuratively

misalnya itu juga laptop

yang penting jalan kan.

Laptop company speknya

sudah sama semua Windows 7

kalau nggak salah.

Windows 7 sudah sama semua.

Jadi mereka tinggal download

jualan, upload.

Udah selesai.

Jaman sekarang ada namanya tuh

nama gimmicknya Local First.

Local First.

Iya benar-benar.

Local First.

Local First.

Walaupun usage-nya agak beda sih

cuma secara prinsip

sama. Sekarang ada namanya

gimmicknya.

SSR, SSG ya kan.

Jaman dulu semua SSR

cuma belum ada namanya.

Sekarang ada namanya.

Gimmick. Betul.

Electric SQL tuh Local First juga.

Enak bisa sync di belakang.

Ada sync engine.

Jadi kita bikin aplikasi web.

Kalau lagi offline dia akan

tetap bisa dipakai.

Nanti begitu online dia akan sync lagi.

Tapi sekarang sudah bisa kan

pakai service worker misalnya.

Kalau misalnya dipaksa banget nih

apa harus pakai desktop application

segala macam.

Pakainya service worker

dan Chrome-nya sudah

khusus gitu ya, intranet.

Mungkin bisa.

Mungkin lebih ke pertanyaan mas Ivan itu

kenapa pakai arah desktop?

Karena nature-nya aplikasi

trading itu, most of yang

big names-nya itu pakai desktop.

So ada request

bahwa kita mau mengejar

those big names.

Untuk bikin desktop app

yang performance.

Standard industri lah ya. Maksudnya industri si client itu.

Biasanya trading kan

tidak buka ini.

Kalau misalnya ada, mungkin

perusahaan tertentu yang pakai berbasis web

gitu kan, ada.

Cuman yang kebanyakan orang pakai

untuk trading itu biasanya desktop.

Bisa.

Dan itu mungkin

nature-nya orang-orang

meta trader.

Meta trader.

Dan lucunya sebelum kami

rilis, lucunya adalah sebelum kami rilis

competitor itu juga rilis

yang sama.

Berarti ada link nih.

Ada link.

Kalo itu dibelom insider.

Insider nih.

Yang lagunya ijo.

Yang lagunya ijo.

Ijo.

Kayaknya tau nih.

Oke.

Seminggu sebelum rilis ya.

Duluan mereka.

Duluan mereka.

Wah sayang sekali.

Dilangkahin.

Dan untuk, oh ya

dan by the way setiap nambah untuk desktop

kami juga gak hanya ada project

yang pakai tower ya. Jadi

sekarang juga lagi bikin

flutter desktop.

Ada juga kebutuhannya.

Bahkan untuk manage ini.

Keuangan juga. Jadi yang sesuatu yang berhubungan

dengan keuangan ya, itu

kami menggunakan flutter.

Mintanya desktop. Dan biasanya ini, soalnya

buat toko-toko biasanya.

Toko-toko yang ada di

penjuru daerah. Nah itu

mungkin juga yang menjawab mas Ivan tadi.

Kenapa kok request-nya.

Requestnya desktop. Karena gak semua

orang bisa ngerti web.

Buka browser, ngetik alamat.

Dan literally daerah.

Dan itu untuk meng-manage tentang

budget dari perusahaannya.

Jadi dia punya perusahaan, punya

cabang itu lebih dari 100.

Di sana.

Dan setiap cabang itu

dipegangin berapa rekening.

Dan itu menggunakan flutter desktop

untuk maintain rekening-rekeningnya.

Dan memang

ada keuntungannya pakai application

desktop application begini. Karena

dari sisi

client. Maksudnya client

host, computernya

client itu bisa di-lock

hanya application itu yang berjalan.

Ada jelas bisa seperti itu.

Jadi begitu dia restart computer,

langsung terus langsung start up.

Muncul itu. Muncul application itu

gak bisa di-click mana-mana lagi. Udah

itu aja.

Istilah kerennya itu kiosk

kiosk ya kiosk.

Dan itu dikasih tahu kalau

desktop online.

Tergantung marketnya berarti.

Oh enggak, tadi yang

kalau yang di flutter itu dikasih tahu

dia lagi online apa enggak.

Oh, ada status

offline online-nya.

Status offline online-nya itu kalau mau tahu.

Kamu tetap bisa kerja.

Saingannya desktop application ini

kayak vb.net kali ya.

Kalau yang di csharp.net

yang di visual studio

yang produk basenya

visual studio.

Ya dot net.

Csharp

bisa bikin application ya.

Csharp, java, java masih kan ya.

Dan lucunya kita tuh

mengandakan java ya Kang Aris. Sebenernya.

Iya. Jadi aplikasi

mereka juga ada

mereka juga ada existing app

yang versi lamanya. Jadi

memang ngebikin

versi yang tower ini

untuk mengandakan aplikasi lama sebenernya.

Itu

peningkatan performanya sampai 500 kali

enggak?

Wah, wah, wah.

Sudah.

Nah, ini ada Mas Alif tuh.

Dia lagi bikin aplikasi desktop juga

pake Tkinter. Oh, luar biasa ya.

Uniknya.

Tkinter ini apa?

Python.

Menarik-menarik ya.

Ternyata masih banyak kebutuhan ke arah sana ya.

Tauri ke arah mobile.

Iya. Yang baru ya. Versi barunya ya.

Bakal ke mobile. Versi 2.

Versi 2.

Itu udah ditodong tuh. Untuk jadi

pembicara Rush Meetup 2025.

Eh, di Indonesia ya, Dem?

Ada ya?

Tinggal di-invite ya.

Tinggal di-invite. Itu udah siap kayaknya.

Itu buktinya ada. Udah ada ininya.

Oh, sekarang berarti Mas Rin

R-nya tuh udah ganti

Rush ya. Dulu kayaknya recent ya.

Atau reskrip?

Reskrip.

R-nya udah ras.

Itu ada katanya.

Lagi dimasak.

Lagi cooking.

Mantap.

Terus, ini ada pertanyaan bagus nih.

Webview yang digunakan itu default

browser atau built-in browser OS?

Apakah pernah mengalami styling yang tidak disuper

di Windows atau Mac?

Itu salah satunya kan ya?

Dan udah stop dengan Tailwind sih sebenarnya.

Oh,

soft dengan Tailwind ya.

Karena kan Tailwind sendiri kan ada

preset-nya dulu ya. Jadi

semua style bawaan browser itu

di standarisasi dari Tailwind.

Kalau kita pakai Tailwind versi 3 kan

ada import Tailwind-based.

Beberapa ya, Tailwind-based, komponen

utility-nya. Nah, Tailwind-based itu

kalau gak salah, saya ingat saya,

itu based on normalizer CSS.

Normalize.css.

Bukan

punya namanya depannya T sampe hafal.

Kalau katanya

semua akan drast pada waktunya,

kalau di sisi CSS semua akan Tailwind

pada waktunya.

Oh, enggak. Cuma tadi kan pertanyaannya

misalnya browser-nya gak support.

Ada apa? Syntax. Oh, iya.

Kalau apapun yang masuk Tailwind,

itu yang udah baseline ya.

Kecuali Tailwind yang ada,

bisa kita aktifin yang experimental-nya.

Ya, bisa.

Nah, cuma maksudnya kalau udah masuk.

Bukan ini desktop.

Kalau udah masuk kesitu, ya berarti kan

itu gimana? Itu skill issue

orang front-end-nya juga kan. Maksudnya CSS

kan bisa ada media query

app support-nya juga kan buat

support. Cuma kan

baling lagi, itu udah stop dengan

minimum requirement

OS-nya. Versi berapa dulu?

Oke, oke. Menarik ya.

Ada cerita-cerita menarik lagi gak

nih seputar

development pake Taury? Cerita horror.

Ada cerita horror lainnya gak?

Cerita horror.

Ada, ada

sesuatu lagi.

Yang issue

multi-monitor.

Semoga kliennya gak

monitor, ya.

Oh, i see. Gimana tuh?

Jadi

kalau klien yang kemarin itu

mereka minta ada

requirement untuk multi-monitor.

Jadi, pengen

behavior-nya itu sama kayak kita

pake Google Chrome atau Chromium-based

browser Edge dan lain-lain.

Ketika kita tarik satu tab

misalnya kita buka multi-tab nih.

Kita tarik satu tab, kita gisar ke

monitor yang lain. Bisa dibesarin.

Buka juga. Nah, sedangkan

kan yang WebView

yang ini kan cuma satu kan sebenernya.

Bisa untuk dikasih WebView.

Jadi satu tab atau satu

window baru dengan

tab yang masih sama.

Challenge-nya disana.

Tabnya harus sama.

Tabnya.

Itu dia. Challenge-nya harus

bisa sama. Jadi, kita

nge-track tab tersebut.

Kemudian

dibesarin sampai layar satunya gitu.

Sampai layar satunya, sampai layar

lain. Tabnya harus sama.

Dan bayangin itu

data real-time yang lagi jalan.

Oh, wow.

Graphic apa lagi ya?

Enggak. Kita nggak pakai

local storage.

Kita pakenya sqlite.

Oh, sqlite.

Jadi, disimpan dulu ke database

gitu, datanya yang real-time.

Jadi, untuk

state-management-nya

kita pake, kami pake

Justan waktu itu. Jadi, React, Justan

untuk state-management.

Tapi Justan ini dimodifikasi,

diintegrasikan dengan sqlite yang

binding via Tauri tadi.

Sehingga kan

karena dia ada di sqlite,

mau dia berapapun

window-nya, dia tetap satu.

Ya, sumbernya satu ya.

Ya.

Wow.

Sqlite di production, brother. Kami menggunakan sqlite

di production.

Di lokal first.

Di lokal.

Ya, lokal first. Ya, electric sql

salah satunya. Terus sqlite juga

salah satu tools yang lumayan banyak dipakai untuk

mencapai menuju kesana.

Karena bisa kecil kan ya.

Satu file kecil, nggak perlu

server.

Eh, cuma sedikit tuh

masalah sqlite itu.

Tiga orang. Tapi

close contribution sih. Nggak buta

contribution.

Dan sekarang ada yang rewrite keras ya.

Dan sekarang ada yang rewrite keras kaya sqlite-nya.

Resta Viro.

Resta Viro. Kenapa?

Semua di rewrite

semuanya. Gila.

Iya, ini developer Rust kok nggak kreatif

gitu bikin sesuatu yang baru ya.

Dia malah nyari-nyari kayak ini ya.

Kayak band itu, band cover

aja nyari yang...

Cuma beda instrument doang ya?

Iya, cuma

bedain aransemen

dan lain-lain.

Ide ini, ide yang udah ada.

Ada yang tanya tuh

Mas Riza, Tauri versus Wails.

Kita sempat explore Wails nggak, Kang Aris?

Kayak perkara majority ya?

Sempet

tapi nggak jadi pakai. Karena

Wails kan golang tuh.

Konsepnya sama dengan Tauri. Pakai WebView

Bawaan OS juga. Tapi

ekosistemnya ada namanya

Wails.

Oh, ini Wails.

Ya.

Walaupun starnya 25 ribu ya.

Tapi

komitnya

intinya lebih-lebih ini.

Lebih populer Tauri

pada waktu itu.

Yang mana yang duluan muncul? Tauri apa Wails?

Tau nggak?

Seingat saya Tauri duluan.

Tauri duluan.

Tapi kan berarti practical consideration

aja kan tuh. Kalau masih di timnya

ada yang cukup pede dengan

Rust, ya pakai Tauri.

Tapi kalau di timnya nggak ada yang pede sama Rust

lebih pede sama golang

ya berarti make sense pakai Wails.

Kalau sekarang iya kayaknya.

Kalau sekarang iya kayaknya.

Jadi kalau ada yang udah familiar

sama gue, sama JS, udah pakai Wails

aja. Cuman waktu itu

ini ya, Wails itu

tidak terlalu

kami dengar. Dan kami baru cari pada

saat itu.

Jadi nggak. Oh, ini ya Wails dah ini ya?

Jadi kayaknya nggak mau ambil

risiko. Nggak mau ambil risiko

tentang permasalahan yang nanti

dihadapkan jadinya.

Tapi for now, karena cukup populer

banget ya 25.000 star.

Oh itu ada Wails 2019 ya?

Mungkin lebih ke Rust ya.

Berarti Rustnya yang lebih populer

gara-gara itu kali.

Kalau ada yang bilang.

Tapi banyak Wails itu

lebih besar dari Tauri sih.

Oh pernah nyoba kan?

Pernah. Yang TOC itu kan

sempat saya conference juga pas ke Wails.

Oh ya, berarti

at the time ya.

Tapi nggak tahu sekarang.

Ini cara kerjanya sama. Maksudnya dia pakai

webkit yang di OS

juga gitu. Sama.

Sama dengan Tauri. Sama ya.

Cuman bedanya di back-end

land use-nya aja ya.

Lebih banyak power di Tauri.

Kalau ecosystem

kan Tauri itu ada dua

sisi. Jadi library

untuk JS-nya sama

library untuk plugin untuk

di Rust-nya. Jadi kalau kita mau pasang satu

plugin itu nggak bisa salah satu. Harus

dua-duanya ada.

Dan itu udah disediakan.

Banyak kan Tauri. A-star-nya 87.000

yang ini 25.000.

Tapi gede juga

anyway gitu kan.

Waktu itu nggak tahu berapa.

Konsiderasinya bukan

cuman star kan pastinya kan.

Harusnya nggak hanya

star.

Star kan bisa dibeli.

Cuma ada joki star.

Joki star GitHub.

Bikin second account gitu

ya.

Kita bikin ya nanti.

Jangan-jangan ada yang ternak account gitu.

Buat nge-star.

Orang lain kan

review Google Maps ya.

Toko atau apa biar rame ini jualan.

Star GitHub.

Jadi

jadi profesi baru di ini ya developer ya?

Ternak account GitHub.

Ternak account GitHub.

Ada-ada aja.

Oke-oke.

Ada banyak yang komen

Dioxus tuh. Dioxus.

Dioxus.

Dioxus.

Frameworks, pakai

web assembly kah?

Oh iya.

Iya iya.

Kemarin minggu lalu sempat liat.

Sempat ada yang kasih tahu.

Fullstack ya. Fullstack framework.

Tapi

bahasanya Rust.

Kalau ini kebalik.

Ini bikin

web pakai Rust. Jadi bikin HTML-nya

pakai Rust.

Oh ya itu target targetnya apa sih?

Developer Fullstack

atau Backend yang beneran nggak mau

JavaScript kan?

Iya. Ini buat anak Backend.

Wah.

Oke. Menarik-menarik.

Rust semakin jaya ya.

Semakin banyak ya.

Rin aja tuh udah

ini ya. R nya itu react, recent sama

Rust. Oke mal. Nya kemana?

Oke mal.

Kan bukan R.

Ya bukan R.

Udah terwakilkan sama

R ya. R nya rewrite.

R nya rewrite. Oh.

Bukan. R nya itu

rm-rf.

-rm-rf

-rm-rf. Nah.

Tadi sih udah sempat

dibahas ya.

Mas Arya. Udah sempat dibahas

selama pakai Taori berapa banyak kode

Rust-nya. Tergantung aplikasinya

kalau frontend

apa? Yang fokusnya

ke frontend nggak terlalu banyak ya.

Tapi kalau fokusnya ada backendnya

ya mau nggak mau harus Rust ya.

Ya. Terutama yang dari sisi

security sih. Kalau di kasus kami ya.

Hmm.

Yang bagian-bagian

yang berhubungan dengan apa tadi datanya

di encode ya? Di

enkripsi dulu. Ya enkripsi.

Dan. Dari sisi Rust ya.

Dari sisi Rust. Dari sisi Rust.

Eskilatnya pun di kami

enkripsi sih. Jadi data yang ada di eskilat

itu di kami enkripsi dulu untuk

data-data yang sensitif. Kecuali data

trading view ya. Gak harus.

Yang itu sifatnya publik ya.

Exist aja biar ya. Boleh dispil keynya?

Private keynya?

Kayaknya udah diganti klien sih.

Yakin.

Yakin.

Secret-nya secret.

Secret-nya adalah? Secret adalah

Admit-admit.

Iya.

Banyak ini sekarang ya. Tools-tools

di S juga banyak yang ditulis dengan

Rust ya. Ada roll, kemarin roll down ya.

Roll down.

Terus di S juga

buat tanya si apa?

Buat tanya si apa?

Fit. Keluarga besar fit.

Ya. By dance pakai

RSPAC.

RSPAC. Oh iya RSPAC juga.

Itu-itu ya aku

pernah ketemu sama pembuatnya

dulu waktu di CTJS tahun lalu

di Singapura dan

itu sebenernya project internal mereka

untuk mempercepat itu

yang namanya compiling-compiling

bundling dan kawan-kawan.

Bundling.

Tapi res compilingnya

masih...

Wah itu gimana kang Aris pengalamannya.

Walaupun incremental ya.

Kita-kita tetap ya.

Gimana?

Subrasingly di versi semenjak

Rust compiler versi 1.8 itu

udah gak terlalu lama kayak dulu sih.

Oh. Sudah lebih cepat ya?

Sudah

lumayan lebih cepat. Gak setir lama yang

1.7 ke bawah.

Oke.

Tapi waktu itu, nah ini juga ada issue horror nih

di

dilemanya tuh mau cepet

compile tapi

paribilitas Tauri-nya masih bermasalah.

Jadi ada satu library, satu dependensi di Tauri

yang dia masih maksimalnya

Rust 177.

Sorry, Rust 175. Sedangkan

waktu itu kebanyakan

dependensi yang lain itu

membutuhkan Rust 177.

Hmm.

Ada dan ada breaking

changes di sana.

Oke.

Terus Solve-nya gimana?

Ya Aris mengorbankan

salah satu

merpaniin salah satu yang

yang kecil, yang dependensi

175 itu

di take out, diganti dengan yang lain.

Oh.

Oke. Dan itu sekarang masalahnya

client.

Kecalanya dibayar lagi.

Kecalanya dibayar lagi.

Masalah zero-one lagi.

Kalau disuruh naikin

ke 1.8, bisa

dibayar lagi.

Oh, hi.

Itu jadi etrogen horse ya.

Zero-one group was here.

Oke, oke, oke.

Iya.

Ada pertanyaan-pertanyaan

menarik lagi. Tauri kapan

pakai Deno?

Nggak. Aduh.

Deno

cuma bisa JS,

saya setuju.

Ya, dibikin pakai apaan, bebas.

Ya. Oh.

Mungkin nanti ada itu, ada compiler

dari JS ke Rush.

Jadi bisa tetap pakai yang bisa pakai Tauri.

Nah, udah yang gampang, mah. Ada yang namanya AI.

Code Assistant.

Eh, tapi ngomong-ngomong Deno sama

Rush sama Tauri itu ada yang

menarik juga sih.

Karena core VHS-nya

si Deno itu ditulis

dengan rahas.

Jadi mereka tuh ada, namanya

corelib, Deno itu. Corelibnya Deno.

Kita bisa embed tuh di Tauri.

Istilah di Tauri itu sidekick.

Jadi kalau misalkan kita mau jalanin script

TypeScript, kode TypeScript atau JavaScript,

itu bisa langsung.

Misalnya mau bikin aplikasi kayak

nggak perlu di-transfile.

Mau bikin editor

atau misalkan buat

playground JavaScript TypeScript,

di dalamnya udah ada VHS engine-nya,

itu bisa banget tuh di Tauri,

kombinasi Tauri dengan corelibnya

punya Deno.

Oh, menarik ya.

Jadi kayak ada server gitu ya.

Kayak ini, mas.

Ada aplikasi namanya

runjs.app domainnya tuh.

Cuma kalau

runjs.app itu, dia

pakai elektron.

Wah, unik.

JavaScript playground for your desktop.

Ini maksudnya apa nih?

Oh, buat aplikasi desktop

buat jalanin JavaScript gitu.

Runtime JavaScript bisa

diinstall di desktop.

Jadi satu aplikasi yang

buat ini aja, kayak...

Runtime JS aja kan itu?

Kayak apa?

Interface UI

buat runtime JS.

UI buat runtime JS.

Oh iya, buat eksekusi

aplikasi

kode JS di desktop

kan ya.

Ya, kalau bikin snippet atau mau coba-coba

dulu tanpa harus bikin file baru.

Tanpa harus pakai browser.

Kalau PHP-nya,

kalau PHP-nya, saya suka pakai

3v4l.

3v4l.

3v4l.

3v4l.org.

3v4l.org.

Jupyter Notebook, tapi JS.

Ini bukan, kalau Jupyter Notebook kan dia web

kan ya. Apa?

Coba, bisa...

3v4l.org.

Tapi ini online ya.

PHP itu.

Jadi

saya suka pakai ini untuk...

Oh iya, ini kayak Jupyter Notebook ya.

Bisa support,

check, misalnya PHP versi

berapa, gitu.

Bisa di-check di sini.

Jupyter Notebook.

Tapi, apa?

Ngomongin Jupyter Notebook, katanya

Jupyter Notebook udah support deno ya.

Runtimenya, wow.

Jadi bisa pakai

itu, Jupyter Notebook

untuk javascript ya.

Oh iya.

Bisa, bisa, bisa.

Baru ditulis beberapa hari lalu.

Oh, baru?

Oh, baru banget.

Menarik.

Lagi nungguin ini nih,

"Apa tau ada yang bikin

transpile javascript atau typescript

jadi RAS script?"

Ya kan, yang tadi kan?

Ya itu tadi, tanya AI.

AI ini kan?

Bukan.

Nggak, jadi

kita nulisnya di javascript atau typescript

jadi RAS script.

Dikompile menjadi RAS.

Transpile jadi RAS, terus tinggal dijalani.

Oke.

Ah, itu.

Lakan, kan ada yang nulis ini kan?

Yang bisa

nulis, eh, ada yang bikin

bubble php kan? Jadi

JS di buat, eh, salah.

Nulis php tapi jalannya

di JS.

Nulis php tapi jalannya di JS?

Iya kan, di transpile.

Oh, oke.

Kan ada bubble php?

Iya, iya, iya.

Bubble RAS.

Bubble RAS.

Iya, ini, ini contohnya nih.

Kalau mau jalanin

Jupyter Notebook

tapi menggunakan rantainya

di javascript apa ini?

Deno mengurus dunia, dunia javascript ya.

Hebat ini, Deno.

Sebelumnya Note.

Sekarang

Deno.

Kebalikannya, recent.

Memang recent dikompile ke

oh iya

benar, dari javascript ke OKML ya.

Benar, benar, benar. Kebalik ya.

Oke.

Kalau gitu, terima kasih banyak

buat Mas Donny dan Mas Aris

buat cerita-ceritanya.

Terima kasih.

Sangat mengapresiasi pengalaman-pengalaman

di production seperti ini.

Semoga kliennya sama banyak.

Oh iya, lupa.

Saya juga sanggur. Sanggur.

Terima kasih. Mudah-mudahan nanti

kalau ada proyek-proyek yang menarik lagi

saya akan share-share lagi.

Amin.

Proyeknya tambah banyak bervariasi

jadi bisa sharing juga

berbagai teknologi yang menarik-menarik ya.

Oke, mungkin untuk malam ini

segitu dulu. Kita ketemu lagi minggu depan.

Ada pesan-pesan dari

Mas Donny dan Mas Aris.

Mas pesan sponsor hiring atau apa?

Siapa tahu?

Terserah. Hiring gak sih?

Sayangnya kami belum hiring ya

di waktu dekat ini.

Kebanyakan hiring kami itu adalah

selalu menyusup ke sosial media.

Jadi kebanyakan close hiring.

Jadi kalau teman-teman

saranku adalah tolong

walaupun lagi belajar, coba untuk

stand out, berdiskusi

atau berbagi di sosial media.

Karena dua hiring terakhir kami

itu langsung dari

sosial media. Jadi dari linkin

satu, sebenarnya

dua-duanya anak twitter ya, anak ex

disana. Jadi approach-nya

langsung.

Kayaknya tahu ya.

Kayaknya tahu siapa yang ini.

Kami mulai mencari influencer-influencer

untuk bersiap

dengan zero one.

Tapi lebih terlepas dari itu

gak apa-apa, saling share

aja di internet. Jangan takut

kalau misalkan ada yang usil

ada yang usil di internet.

Ada yang netizen ya.

Itu udah biasa lah ya.

Tapi kalau misalkan

teman-teman disini

lagi belajar teknologi

atau sebagainya,

sosial media itu jadi salah satu

tempat untuk belajar dan

kalian bisa berbagi juga disana.

Jadi jangan takut. Dan itu adalah salah satu

cara untuk di-recognize

sama

aku Kang Aris.

Nah, calon employer.

Mas Aris gimana?

Ada yang mau ditambahkan atau disampaikan?

Gak ada sih. Paling buat teman-teman yang

mau diketahui, jangan

bosan di guru

kelas compiler aja.

Oke, cukup ya.

Segitu aja untuk malam ini. Terima kasih banyak

sekali lagi buat Mas Joni, Mas Aris

dan teman-teman yang udah ikutan

diskusi.

Bisa lagi.

Belum update ya.

Belum ada sekoya.

Sama atas kita, Mas Joni.

Gak bisa.

Udah gak bisa.

Gak bisa. Ini juga gak bisa.

Ini pakai kamera external ya.

Oke, segitu aja. Terima kasih

buat semuanya. Kita ketemu lagi

lain waktu. Selamat malam.

Selamat sihat. Bye bye.

Deskripsi asli dari YouTube

Yuk mari kita diskusi dan ngobrol ngalor-ngidul tentang dunia web. Agar tetap up-to-date dengan teknologi web terkini. Topik, tautan dan pertanyaan menarik bisa dilayangkan ke https://ksana.in/ngobrolinweb Kunjungi https://ngobrol.in untuk catatan, tautan dan informasi topik lainnya.

Episode Terkait

Bagikan:

Suka episode ini?

Episode baru setiap Selasa malam. Dengarkan lewat YouTube, Spotify, atau feed podcast favoritmu.

Pilih Cara Langganan

Memuat komentar dari GitHub Discussions...

Jika komentar tidak muncul karena ekstensi privasi / adblocker, kamu bisa berdiskusi langsung di GitHub Discussions .