Ngobrolin Android - Ngobrolin WEB Ep9
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://bit.ly/ngobrolinweb Kunjungi https://ngobrol.in untuk catatan, tautan dan informasi topik lainnya.
0:11Halo, selamat malam, selamat hari selasa, dan selasa malam adalah waktunya kumpulin web.
0:20Yes, masih bersama saya Rija dan juga ada Eka.
0:24Dan kita kehilangan satu teman kita lagi.
0:27Satu orang.
0:29Ivan paling sering ya, paling sering absen ya.
0:31Wah, luar biasa.
0:32Kali ini dia absen lagi tapi nggak usah khawatir.
0:36Karena sebagai gantinya kita menyiapkan, nggak cuma satu, tapi dua orang GDE.
0:42Bintang tamu.
0:43Iya, bintang tamu yang spesial malam hari ini ya.
0:46Suka developer expert di bidang?
0:48Android.
0:49Android.
0:50Iya kan kemarin beberapa episode kemarin kan banyak mulai ada yang nanya tentang Java,
0:57ada yang nanya tentang Kotlin, gitu masa depan Java juga ada yang nanya Java versus Kotlin.
1:04Nah ini kita langsung datangin nara sumber terpercaya ya.
1:08Yang pertama ada Mas Andrew, halo Mas.
1:11Salam, selamat malam.
1:13Oke, mungkin kenalan, kenalan sedikit lah ya, kita kenalan sedikit.
1:19Mas Andrew ini siapa dan join GDE waktu itu ceritanya gimana kok bisa sampai join GDE itu gimana jalan ceritanya?
1:29Oke, halo semua, thank you ya om Riza udah dikenalin.
1:35Jadi saya join GDE program itu tahun 2015 kalau nggak salah.
1:44Oh wow, 7 tahun.
1:46Pokoknya sekitar itu, jadi waktu itu sih saat itu hanya ada Yohan Toting ya yang jadi GDE web.
1:55Jadi yang GDE Android itu sama sekali belum ada dan belum ada GDE yang lain-lain juga.
2:03Jadi untuk tau kenapa saya bisa jadi GDE juga saya agak-agak bingung juga sih.
2:09Karena saya kayaknya cuma ikut acara Google for Indonesia ya waktu itu di Museum Fatah Ila.
2:16Museum Gajah itu, terus udah cuma register aja kan ditanya app-nya di Play Store waktu itu saya punya app project, side project itu namanya Mata-Mata.
2:26Apa itu?
2:28Bukan project styling ya, bukan app buat style orang ya, tapi ini jadi kayak buat supaya lebih, kan dulu jaman dulu kalau menonton itu kan di 21 kan webnya kan agak-agak ya susah dibaca gitu ya.
Lihat transkrip lengkap
2:44Sama ada CGV dan lain-lain, jadi waktu itu kita bikin scraping platform itu untuk nampilin movie schedule yang lebih enak dibiak lah gitu.
2:55Nah terus waktu itu ya jadi populer juga, nggak secara organik lah, nggak dipasarin, nggak ada apa-apa juga karena itu kan free app juga ya.
3:03Ya mungkin dari situ juga sih, jadi saya diundang waktu itu interview buat GDE.
3:11Terus ketemu Om Sidik sama yang lain-lain juga, ada tiga belas orang dan akhirnya yang dipilih tiga, saya, Om Sidik, sama Mas Ibun, jadi kita bertiga.
3:24Oh sangkatan ya sama Om Sidik.
3:26Ya sangkatan, jadi kita bertiga sangkatan nih jadinya.
3:29Senior-senior ya.
3:30Karena waktu itu isalnya belum ada GDE dan belum banyak yang tahu juga kan program ini gitu kan.
3:38Belum-belum waktu itu belum tahu.
3:41Ya kan, dulu taunya Microsoft ya, kalau program MVP.
3:45MVP, oh iya iya iya, berarti awal-awal banget ya.
3:48Iya benar.
3:50Berarti udah berapa tahun tuh?
3:52Berarti udah sekarang tahun ke tujuh tahun, iya udah tujuh tahun, tahun ke tujuh.
3:59Tahun ke tujuh.
4:00Kalau kegiatan atau kerjaan seharianya, ngapain ini Andrew?
4:04Jadi sekarang sih saya adalah salah satu founder yang jadi CEO di lumio.id.
4:13Lumio.id itu jadi suatu platform buat digital signage.
4:18Kan sekarang iklan kan kebanyakan di OH, di luar, di gedung-gedung, atau di dalam gedung juga.
4:26Semua udah mulai digital ya.
4:27Jadi kita ada salah satu bagian dari platform itu ya CMS-nya, Content Management System-nya.
4:35Dan sudah dipakai di mana-mana hampir.
4:38Ya di Jakarta lumayan lah kalau ke Sudirman gitu.
4:41Mungkin di belakangnya ada lumio.id-nya, ada lumio.victaernya gitu di sana.
4:46Itu teknologi yang dipakainya Android juga atau campur?
4:49Android, ya kan pasti ada cloud ya, ini kita apalagi ngomong di GDE Web ya sama GDE Web.
4:54Ada backend-nya, tapi di ujungnya itu kita hardware sendiri pakai custom Android.
5:04Oh custom Android sendiri, wow.
5:07Iya, maksudnya kalau GDE Android tapi nggak pakai produk Android, agak-agak aneh.
5:11Nggak ada latihan, tapi ya itu, jadi kita di ujungnya Android, jadi nggak pakai PC.
5:18Kan biasanya kalau kebanyakan kan dulu digital signage itu kan kebanyakan pakai PC di belakang ya.
5:23Kadang kalau mati tiba-tiba blue screen of death.
5:26Ya, atau pop-up, pop-up dialog anti-virus gitu ya, atau belum keregister gitu kan, belum diaktifkan.
5:34Jadi makanya pikir kita pakai custom Android karena kan memang bisa jadi intinya dedicated hardware lah ya jadinya untuk jalanin.
5:46Cuma nggak ada Google Play Service, jadi jangan mungkin kalau nanti ada pertanyaan tentang Android,
5:51tentang Google Play Service, mungkin nggak ada ya, karena ini kan sebenarnya fokusnya ke web ya.
5:56Tapi ya mungkin tahu, cuma maksudnya mungkin kurang up to date gitu.
6:02Oke, oke, mantap, terima kasih.
6:05Kita undang satu lagi ya, kita ada dua nih malam hari ini, satu lagi nih yang tidak kalah seru, ada Mas Budi, halo.
6:12Halo semuanya.
6:15Ini GDE baru nih, harus dipanggil.
6:18Anak baru muka lama, Alhamdulillah masih dibilang muda, terima kasih lho.
6:27It's been an honor lho diundang kesini lho, iya, suatu kehormatan dan dedekan juga sebenarnya sih.
6:34Dedekan kenapa?
6:35Kenapa gitu?
6:36Bener nih, nggak apa-apa.
6:38Nggak apa-apa, oh ya boleh dong cerita dong cerita, prosesnya EO INGDE itu gimana?
6:45Ini kayaknya masih baru, jadi mungkin relate sama temen-temen GDE.
6:50Ya oke, jadi anyway, kenalin nama gue Budi Octavian, dan gue baru jadi GDE itu kurang lebih satu tahun.
7:00Dan selama pandemi, jadi prosesnya cukup komplikated ya ketika pandemi, karena interview-nya tuh nggak live gitu lho, nggak langsung.
7:10Mungkin kalau temen-temen GDE yang join sebelum pandemi kan kayaknya prosesnya cukup panjang, dan interview-nya juga offline gitu ya.
7:20Dan gue tuh semuanya dilakukan, oh nggak, nggak juga ya?
7:23Oh berarti memang dari dulu aja kayak gitu.
7:26Kayak cuma yang paling lama banget gitu ya, 2015.
7:29Ya lama banget ya, ada krubulernya di Indonesia mungkin ya.
7:33Iya bener, kantornya juga masih diselayan.
7:36Oh belum pindah ya, belum pindah ke Indonesia ya.
7:41Oke, jadi gue resmi join tuh sekitar Juli tahun lalu sebagai Android, dan kenapa gue join sebagai Android?
7:51Sebenernya pertanyaannya menarik sih, to be honest gue join sebagai Android tuh ketika gue tidak full megang Android gitu.
8:00Waktu itu megang iOS ya?
8:03Iya, jadi gue jadi sebagai GDE tapi kibelatnya udah beda.
8:10Jadi kayak gimana ya, ya nggak apa-apa, tapi Android masih menarik sih, jadi, agnostik itu enak gitu loh, bisa kemana-mana gitu kan.
8:34Oh, sudah ada pertanyaan aja nih, apa lah.
8:41Barusan kan, barusan, jadi prosesnya juga ada prosesnya.
8:44Tapi nggak apa-apa, gue berusaha juga dulu, iOS juga pas lagi masih itu juga ada, nge-develop on iOS juga, jadi ya nggak apa-apa lah.
8:51Iya, jadi nggak apa-apa lah, jadi kalau misalnya kan bosan yang satu itu bisa selingkuh sama yang lain gitu kan.
8:59Iya, makanya malah jadi orang, nggak apa-apa malah jadi ini.
9:07Tolong jangan dipotong bagian itu ya, jangan dipotong, jangan dipastikan.
9:14Dijadikan Youtube short boleh nih Youtube short ya?
9:19Konteksnya tuh selingkuh sama bahasa, jadi kan kayak bosan nih, lagi bosan Android gitu-gitu aja, ya udah main kayak yang lain,
9:28main ke Flutter kek, atau main ke Swift, sorry ke iOS gitu kan, atau nanti kan ada Fuzia, Fuzia juga kan teknologinya Google gitu kan.
9:37Nah, seru itu.
9:39Seru kan?
9:40Seru itu, seru berarti ya.
9:42Eh, ceritain dulu dong ini apa prosesnya gimana, proses GDA-nya, apakah apply atau direferensikan?
9:52Oke, jadi sebenernya proses jadi GD itu nggak ada kayak apply harus masukin CP ke mana gitu sih.
10:00Jadi kebetulan gue jadi GD itu karena direkomendasikan oleh salah satu teman kita juga, yaitu Sidik Permanak.
10:09Karena dia mungkin ngeliat, apa ya, sepak terjang apa bahasanya nih, kayak ya beberapa kali ngisi event lah gitu kan.
10:20Dua tahun sebelum pandemi, dan akhirnya di situ Sidik nawarin, "Lo mau nggak join GD?" gitu.
10:30Dan di situ prosesnya sebenernya off gini, jadi gue sebenernya ada dua kali proses gitu, ini-ini unik sih.
10:39Jadi sebenernya awalnya tuh gue di promote untuk jadi GD eCode-lin, jadi spesifik ke bahasa gitu.
10:47Oke, oh ada juga ya?
10:49Ada, ada, ternyata ada, GD eCode-lin tuh ada gitu.
10:53Cuman di Indonesia belum ada ya?
10:55Belum ada, belum ada, belum tahu, kayaknya belum ada ya, belum buka lagi, isi seri gitu.
11:05Jadi sebagai GD eCode-lin udah ngelakuin interview sama ini ya, assesment kita kan harus ngisi beberapa assesment home ya gitu ya.
11:15Terus ada beberapa talk yang harus kita isi ya sebagai bagian dari apa namanya proses gitu.
11:21Nah ternyata setelah di asses, topi code-lin yang gue bawakan tuh lebih ke Android-nya gitu.
11:30Nah yang di sini uniknya nih, oh yaudah berarti gue berpikir yaudah berarti emang bukan GD aja jadi GD gitu.
11:37Nah tapi akhirnya setelah itu gue ditawarin lagi, yaudah kalau Android aja boleh nggak? Gitu.
11:43Oh yaudah kita proses lagi gitu.
11:45Jadi lumayan panjang sih proses gue itu nggak selama pandemi kemarin itu nggak 2021, jadi mulai dari 2019 gitu.
11:56Itu berapa kali interview prosesnya?
11:59Berapa kali interview kalau nggak salah, 3 ya, sama community itu 2 kali, apa sih namanya community lead ya atau GD e-nya juga gitu.
12:12Terus sama Googlernya 1 kali gitu.
12:15Oh sama GDI, GDI yang sudah ada, ya GDI yang sudah ada, interview kita, itu kalau nggak salah gue 2 kali, ya terus sama Googlernya.
12:28Googlernya yang sesuai sama yang kita ini kan bagiannya kan misalkan Android, web atau yang lainnya.
12:36Oh ya ada sedikit cerita unik nih ketika gue jadi GDI, mungkin boleh gue ceritain ya.
12:40Jadi waktu itu masa-masa lagi Covid lagi tinggi ya, dan kebetulan gue juga kena gitu, jadi gue kelas kelulusan S1 nya Covid lagi.
12:49Hahahaha, lucu banget ini.
12:53Yang kemarin dari Bali yang kemarin nyebarin gitu ya.
12:56Oh iya kemarin dari Bali juga, hahaha.
13:00Ya jadi gue ketika itu harusnya interview dengan, ini nggak boleh sebut nama ya, dengan si X lah gitu ya.
13:10Jadi gue udah di jadwal nih, gue interview dengan si X, ini oleh Googlernya, jadi itu akhir, tapi pas waktu itu gue kena Covid.
13:22Jadi jadwalnya tuh udah kayak sebulan sebelumnya, mundur, ya jadi mundur nih, mundur, terus akhirnya mereka nawarin lagi tuh menjelang, Julie lah menjelang ya lebaran haji ya kalau nggak salah.
13:38Kebetulan yang si X ini itu terkenal di kalangan GDI itu galak gitu, dan banyak yang gagal sama dia gitu.
13:46Mau siapa nih? Javan ya? Tapi sekarang gue berteman baik kok, berteman baik, karena dia juga membantuin gue untuk memindahin aplikasi di kantor gue ini ke rumah baru gitu lah.
13:58Nah akhirnya gue interview sama orang namanya Ye, jadi yang si X ini ada di Singapura, yang Ye ini ada di Jepang, nah gue spesifik ke negaranya aja ya, silahkan cari tahu namanya siapa.
14:11Nah ketika sama si ini, gue nanya sama si Dik, si X gimana si Ye gimana, jadi kan gue dapet referensi dua-duanya nih gitu ya, karena si Dik yang referensi, referensiin gue.
14:22Nah si Dik bilang wah beruntung banget lo dapet si Ye, ini mah lolos, tembus lo, ah serius gitu. Masa sih? Iya lo diem aja juga pasti tembus gitu.
14:32Waduh. Kalo sama si Ye sih lo kayaknya gagal sih kata dia sama si X, sorry. Eh emang yang ditanya apa aja? Kenapa?
14:44Yang ditanyain apa aja pada saat lo gitu. Waduh itu kayak teknis atau apa?
14:49Ya sebenernya gini kan kalo sama GDI kita ditanya keinginan lo untuk jadi GDI apa gitu kan, keinginan untuk jadi GDI itu kan salah satunya adalah build community gitu kan.
15:06Dan gue cerita lah bagaimana gue build community sejak tahun 2017 gitu, terus interview sama Google tuh lain, yang ditanya bukan community nya lagi,
15:16tapi ditanya spesifik ke produk, ya produk yang lo puasain gitu. Terus lo ada feedback gak sama produk ini gitu.
15:25Bahkan kayaknya gue pernah denger salah satu pengalaman dari temen-temen GDI kita ya, yang waktu itu proses jadi GDI itu sampai ada yang dikasih kayak semacam resis atau apa gitu makalah ya.
15:39Waduh ini konteksnya bukan yang itu, aplikasinya bukan, kalo itu kan saya yang pindah ke rumah baru, bukan aplikasi nya.
15:58Jadi, oke ini gue cerita ya yang tadi ke rumah baru itu maksudnya gini, jadi kan kantor gue yang sekarang itu banyak mengakuisisi beberapa startup ya di 2 tahun 3 tahun ke belakang lah gitu.
16:14Nah salah satunya startup namanya Kudo kan dulu gitu. Nah play store nya si Kudo ini itu ada salah satu aplikasinya yang gue pegang ketika gue join gitu.
16:25Terus kita harus rebranding aplikasi ini karena bakal dipake oleh regional, artinya dipake oleh 8 negara asia dan garah-garah gitu.
16:37Nah akhirnya bos gue tuh minta bisa gak, gue gak pengen ini dipublish rebranding dari aplikasi ini dipublish play store yang lama, lo bisa gak mindahin ini ke play store nya Grab gitu ya.
16:55Nah singkat cerita gue coba kirim email biasa lah gitu kan bagaimana cara mindahinnya segala macem, terus gue inget gue pernah kenal sampe akhirnya, eh lo bisa tolongin gue gak connectin sama orang-orang di dalam gitu buat.
17:11Kayak update databasenya dari sini ke sini gitu. Akhirnya yaudah berhasil lah aplikasi itu pindah sekarang dan udah dipake oleh, sebenernya gak dipake external ya, dipake oleh internal sales team sih.
17:28Di aplikasi kecil sih. Oke, sip kalau gitu. Terima kasih ceritanya temen-temen. Interview nya banyak interview nya, ganti topik. Udah kan tadi interview nya, sama Google itu ya teknis, jadi seputar produk karena gue di android ya, jadi produk android yang lo puasain apa, terus lo ada feedback nya sama produk itu apa yang bisa kita improve gitu.
17:57Yaudah gue bilang aja, gue sembel sama ini nih compact, kenapa gini-gini dulu dari dulu gitu. Ya contohnya kayak gitulah.
18:05Gara-gara rumah baru jadi gak gue bahas ya. Ya jadi kalau sama Google biasanya ditanyain teknis ya.
18:14Oh ini pernah aja lah, ini udah dibawah ya. Imre juga pernah di tes, tes nya lebih gila lagi deh ya di tes nya ya. Nah itu ya, seru baca paper ya.
18:28Okay, kita kembali ke topik nih. Topik kita malam hari ini adalah mengenai android, ya dan teman-teman nya termasuk Kotlin, Java dan lain-lain kan, beberapa episode yang lalu kita ada cukup banyak pertanyaan berkaitan dengan ini gitu.
18:53Pertanyaan pertama, masa depan Java. Masa Andrew mungkin bisa bantu jawab. Seperti apa masa depan Java?
19:02Tau aja kasih aja ke Andrew duluan, baru gue mau aja. Yang senior, yang udah lama pegang Java, dari kotlin belum ada udah pegang android kan.
19:11Benar, benar. Ya benar, ya berarti kan emang masih pejahla ya. Masih pakai Eclipse lagi dulu tuh. Oh iya benar. Kalau saya, menurut saya ya ini kayaknya gak ada salah yang benar ya, kotok Java itu saya bilang sih bakal masih bertahan.
19:28Masih dipakai di banyak tempat juga ya, gak hanya di android ya. Dan itu bahasa juga udah mateng, dan juga sekarang udah Java berapa ya terakhir ya? Java 17, 17, 18.
19:42Nah RTS yang, pokoknya ada juga yang itu kan ya, yang tersupportnya ya. Jadi tetap masih disupport sama Oracle juga ya kan secara language. Juga sebetulnya yang pengguna nya saya bilang juga masih banyak ya di mana-mana.
20:00Tapi ya memang kalau kotlin ini terus berkembang juga, biarpun mereka, maksudnya kotlin ini kan masih bahasa yang baru dan masih muda ya. Tapi progress perkembangannya itu sangat cepat juga gitu.
20:16Jadi kalau saya bilang sih tetap, dua-duanya bisa tetap exist lah, co-exist gitu kan. Selama ini juga di project, gue di Lumio, juga ya karena masih ada kan codebase-nya udah gede juga ya, masih ada yang apa?
20:33Legacy code ya. Masih ada ya yang pakai Java, ada yang masih pakai kotlin. Ya enaknya itu Java sama kotlin bisa dipakai bersama gitu kan.
20:42Berbalangan di satu project. Jadi apalagi kan kita start-up kecil ya, orangnya juga nggak banyak. Jadi ya itu. Jadi tetap masih pakai dua-duanya, tapi itu works gitu.
20:58- Oke. Kan kalau di Lumio sendiri kan konteksnya ada, tadi sempat sebut ada back-end, ada CMS-nya kan. Kalau itu pakai teknologi apa untuk web-nya?
21:09- Kalau di back-end-nya ya. Masih di bagian web default-nya lah gitu ya. - Iya, di cloud-nya.
21:16- Kita, jadi beda-beda sih. Jadi kita masih ada pakai PHP buat back-end dan lain-lain. Benar-benar tanya waduh, kok masih pakai PHP? Jadul banget gitu ya.
21:28Tapi kan kadang-kadang juga kita pikir secara basis point of view juga orang-orang yang bisa PHP lebih banyak. Tapi juga kita nggak cuma hanya satu bahasa itu juga sih.
21:39Kita kayak ada kode CDN yang saya juga co-develop juga buat jadi, buat content delivery, buat optimize gambar dan lain-lain itu kita pakai Golang.
21:50- Oke. - Jadi ada berbagai macam sih. Tergantung kebutuhan aja. Jadi kita microservice, beda-beda itu bisa beda bahasa.
22:03- Ada yang pakai Java nggak back-end-nya? - Nggak, nggak ada. - Oh, nggak ada. Oke.
22:12- Oh iya sebentar, sebentar. Ini ada tambahan satu lagi nih. - Oh, tambahan satu lagi. - Nah. - Oh, wah. - Akhirnya udah benar-benar waktu buat meeting-nya.
22:23- Iya. - GDI Agnostik. - GDI Agnostik. - Agnostik gemar selingkuh nih. - Kok gemar selingkuh? - Halo-halo. - Waduh, gemar selingkuh. - Bukan bahasa.
22:34- Waduh. - Iya. Jadi ini GDI Android malam ini hadir semua ya? - Hadir semua. Kita takut dikeroyok, saya tadi takut dikeroyok jadi kita ngajak temen jadi akhirnya kita bertiga jadinya ya.
22:50- Nggak boleh dong, meskipun... - Lebih ke ngajak pasukan ya. - Iya, ngajak pasukan. - Iya. - Loh, ilang kan dia. - Oh, malah ilang. - Oh, malah ilang, kayaknya dia... - Cuma, cuma apa? - Intermezzo aja ya. - Yang penting kakinya. - Aksen aja ya, aksen. - Aksen aja. - Oke, oke, menarik. Jadi untuk back-end nggak ada yang pakai Java, kemudian pakai microservice dan teknologinya dipakai bermacam-macam ya.
23:19- Untuk koneksi ke device-nya sendiri itu pakai protocol apa? Recepti AI atau apa? - Oh, jadi itu ada Recepti AI sama ada Websocket juga. - Websocket, oke, oke. Dan, apa namanya? Kalau, Mas Budi, punya apa ini nggak? - Oke, ini pertanyaannya sama ya berarti ya? - Sama, sama. - Masa dengan Java ya? - Oke, sebelum gue jawab itu gue mau menagapi pertanyaannya dulu. Ini menagapi sama Java ya.
23:49- Ya, ya. Emangnya masa depan basa lain gimana? Masa depan THP gimana masa depannya? - Masa depan THP, Lamborghini, Lamborghini. - Aduh, aduh, aduh, aduh. - Gini kan, sudut pandangnya gini kan, Java itu beberapa tahun terakhir banyak, apa ya, banyak mengalami apa ya, kayak masalahnya, apa ya.
24:18- Masalah dalam tangan kutip ya, ada masalah antara Google sama Oracle. - Itu dari segi politiknya ya? - Dari segi politiknya, maksudnya ini kan si Google udah memutuskan untuk memasukkan Java ke dalam Android.
24:32Jadi selama Android masih ada, ya Javanya masih tetap ada kan, Java, GPM, dan lain-lain gitu kan. Tapi ada problem disitu juga kan, ada masalah lisensi atau masalah apalah gitu politiknya sama Oracle gitu. Kira-kira gimana gitu kan, ada, ini kan pasti ada impactnya gitu kan.
24:49Jadi gini, sebenernya Java itu kan sekarang kayak semacam udah binek atung galika gitu loh, jadi udah kayak banyak versinya gitu. Salah satunya gara-gara kelakuan Oracle juga sih, gitu.
25:05Yang pertama berantem sama Google, ya, pertama berantem sama Google. Karena mereka ngerasa, "Gua udah beli sun microsystem nih", gitu kan. Ngerasa gua gak bisa menguasai sepenuhnya ekosistemnya Java gitu kan.
25:19Akhirnya mereka kayak bener-bener menguasai satu produk end-to-end itu, Java itu pokoknya harus dibanbling sama database-nya mereka gitu kan. Sedangkan di luar sana sebelum diakusisi Oracle ya, kalau kita tahu sejarahnya, Java itu kan banyak versinya, ada yang versinya si IBM, ada versinya si sun microsystem sendiri.
25:43Nah, ada beberapa gerakan-gerakan separatif di luar sana yang akhirnya, bahasa gua kayaknya terlalu ini ya. Jadi yang sebenernya seperti memberontak gitu akan kehadiran Oracle saat ini.
25:57- Ya, selain si... - Java perjuangan ya? - Ya, jadi kan ada Java biasa sama Java perjuangan. Java perjuangan ini, ini banyak versinya loh Java perjuangan ini. Jadi kayak, mungkin pernah dengar Zulu. - Zulu? - Zulu ini, ya, Zulu, Zulu, Zulu System.
26:14Nah, Zulu System ini sekarang diklaim menjadi satu-satunya Java Virtual Machine tercepat di antara versi OpenJDK yang lain. Jadi kan, karena tadi banyak Java-Java perjuangan ini yang tidak mau terasosiasi dengan Oracle ya.
26:29Mereka akhirnya bikin versinya masing-masing. Jadi ada versinya si, gua lupa, semuanya OpenJDK gitu. Jadi OpenJDK itu yang perjuangan tadi nih. Jadi ada... - Open Source gitu ya? - Ya, mereka mengembalikan kepada marwahnya gitu sebagai Open Source.
26:47Nah, jadi ada OpenJDK, ada, ya, si Zulunya juga bagian dari OpenJDK gitu. Dan si Android ini kan, eh, sorry, Android. Si Google ini kan, dia mau masukin Java pada awalnya karena ingin membuat Virtual Machine yang lebih baik daripada GVM kan.
27:03Karena GVM-nya versi Oracle itu udah dibanding sama beberapa produknya mereka gitu. Dan Google ga suka dibagian itu kan. Karena kayak lu mau ngomong, terpaksa harus type sama Oracle kan. Sedangkan dulu ada versi IBM, ada versi RedFed, ada versi Centos dan sebagainya lah gitu.
27:22Nah, jadi kalau dibilang masa depan ya, balik lagi pertanyaan ya masa depan. Masa depan Java sebenarnya ga ada masalah selama kita masih pengen bikin web application ya, web application atau back-end application menggunakan Java sebagai microservice-nya atau sebagai web application-nya.
27:44Sampe saat ini juga Vifotal yang punya Spring itu juga sama mengembangkan si Spring itu sendiri kan. Jadi ada Spring Boot, versi berapa ya? 2 ya. Eh, sorry, 1, 2, 5 apa 2 gitu.
27:58Nah, gue udah lupa juga sih. Nah, dengan hadirnya Kotlin sebenarnya itu kayak alternatif aja. Sebenernya kan basah-basah turunan GVM ya, ini gue ga ngomongin spesifnya Java, tapi GVM. GVM itu kan dari dulu turunannya banyak. Karena banyak yang rotakan tadi itu.
28:14Dengan kekakuannya si Java ini lah yang dikit-dikit kena nolpointer, versi lambda nih lambat banget nih akhirnya keluar Kotlin, keluar Scala. Dulu ada Groovy juga kan.
28:28Oh ya, Groovy. Dynamis ya, bahasa dinamis. Ya, bahasa dinamis banyak lah, bahasa static itu kan. Ada Java campur Python, ada Java campur Ruby, ya, Clojure gitu. Cuma Kotlin ini hadir karena dia salah satu keunggulannya ya itu tadi mengobati masalah utamanya Sejava.
28:50Gue ga bilang bahasa yang lain lebih bagus sih. Maksudnya gue ga bilang bahasa turunannya GVM itu jelek ya. Kayak Clojure juga punya keistimewaan sendiri. Dengan kurung-buka-kurung tutup terlalu banyak gitu kan. Itu istimewa juga kan.
29:04Wah, oke. Skala dengan SBT-nya yang lumayan bisa bikin kita order kopi Starbucks 50 kali kan. Eh jangan sebut barek. Ini tidak di sebut barek.
29:20Waduh, waduh. Waduh, one more, one more. Mungkin di sensor, di sensor bagian itu. Ya, order kopi Starling. Ya, dan yang, ya, si Kotlin ini, balik lagi, Kotlin ini hadir karena dia mengobatin masalah utamanya bahasa si Java ini sendiri.
29:39Karena kalau kita pakai Java itu selalu kena yang namanya nullpointer. Dan berbagai macam cara lah. Sebelum adanya Kotlin itu berbagai macam cara kita bikin pre-condition untuk cek nullpointer itu dengan segala macam annotation processing dan segala macem apa ya.
29:56Tujuan utamanya adalah untuk itu ya menyelesaikan masalah itu. Tapi kan lebih ke ini juga kan, Kotlin ini untuk supaya Java lebih modern gitu kan.
30:12Ya, lebih modern. Sebenernya Java 89 itu juga udah bisa dibilang modern. Karena lambda, lambda udah. Ya, functional programming juga di Java, gue lupa aja, gue karena nggak terlalu ngikutin sih.
30:31Java 12 atau 17 gitu, itu udah ada functional programming juga. Biar mirip-mirip kayak Swift kali. Ya, cuma kan telat ya. Ya, Swift juga hampir sama ya. Jadi dari...
30:45Ya, mirip-mirip lah. Jadi Swift gitu kan. Tapi, lanjutannya ke Kotlin ini, Kotlin ini juga kena masalah politik juga nih. Yang masalah perang antara...
30:56Ini yang mana nih politiknya nih? Perang antara Rusia sama Ukraina kan? Oh, dulu, dulu, dulu. Memang, gitu. Bukan ini ya? Gak ada nggak sih?
31:04Seingat gue, yang nggak harus cuma... Rusia kan? Bukan? Iya, betul, betul. Kotlinnya Rusia sih. Yang utanya Ukraina ya, bukan Rusianya. Kena nggak? Nggak kena ya?
31:16Masih belum ada... Oh, maksudnya jadi lambat gitu. Melambat atau gimana. Tapi ini open source kan kalau Kotlin ini ya? Open source. Yang gue inget tuh yang lambat adalah berang lambat sih ya.
31:30Gue soalnya makin salah satu timing Zcell gitu. Gue lupa namanya siapa. Kalau nggak salah Starfish ya, atau Starlight ya. Itu yang kena impact banget sih. Beliau yang bikin itu sih.
31:48Oh, oke, oke. Jadi bisa dibilang hampir nggak ada pengaruh ya dari masalah politik-politik Rusia dan lain-lain itu ya? Dengan Kotlin. Kayaknya cuma minyak doang yang terpengaruh.
32:00Minyak doang. Inflasi. Inflasi. Gandum, gandum. Gandum, bener, bener.
32:08Ya, dan Kotlin ini juga bukan hanya digunakan di Android aja kan, tapi bisa digunakan untuk backend juga kan. Bahkan multi platform kan. Multi platform.
32:20Ya, sempel ke JavaScript ya, Kotlin? Iya kan? Bisa kan? Iya, betul-betul. Kotlin multi platform itu banyak jenisnya sih. Jadi bisa jadi aplikasi web tanpa JavaScript ya. Atau bisa jadi Kotlin JS-nya. Kotlin web juga ada gitu.
32:38Tapi kayaknya perkembangannya nggak terlalu di praktikan ya belakangan ini. Karena fokusnya lebih ke... Belum matang lah, belum bisa. Iya, belum matang. Fokusnya masih ke multi platform, mobile-nya dulu gitu. Android dan iOS.
32:52Android dan iOS. Oh bisa ya, iOS ya, pakai Kotlin? Bisa. Bisa. Bisa banget. Bisa banget.
33:00Jadi itunya tuh. Nah itu... Iya, Bapak yang satu itu belum join, jadi nanti... Iya ya, bisa ini pengalaman ya. Supporter. Menggunakan... Yang nge-pompong terus tuh dia kemana-mana, mengangguannya.
33:15Dia pakai di real project ya? Di real project dia pakai. Padahal dulu ada doktornya juga. Wah menarik ya kalau ini. Kalau bisa kita dapat insight-nya. Tapi ya, ok lah. Berarti kan, ya ini kan, ya dimanapun Java bisa jalan, Kotlin bisa dipakai gitu kan. Intinya gitu kan.
33:38Ya, jadi... Iya, jadi sebenarnya Kotlin itu... Iya, rata-rata bahasa turunannya JVM kan harus ada Java Virtual Machine-nya, ya.
33:50Kotlin ini dia spesial, bisa dengan atau... Kalau pakai JVM berarti jadi Kotlin bisa si Java Virtual Machine. Tapi kalau nggak pakai JVM, dia akan menggunakan Virtual Machine di OS masing-masing. Kayak misalkan ta iOS berarti lewat LLV ya gitu.
34:09Oh, ok. Oh iya, ada satu lagi yang berhubungan sama JVM juga kalau nggak salah ya. Nggak tahu bener atau salah. GraalVM itu termasuk bagian dari ekosistemnya Java atau nggak?
34:21Kayaknya nggak ya. Mungkin ada yang tahu. Itu kayaknya Oracle punya ya, GraalVM. Iya nggak sih? Kayaknya nggak dengar deh. Kayaknya gue pernah dengar... Ya, GraalVM itu kalau nggak salah Oracle. Oh iya, Oracle ya.
34:39Ini apanya JVM lagi nih? Nah, Sidik muncul lagi. Bagian dari politik. Bagian dari politik. Mari kita lihat sebentar ya. Kita ini aja belajar bareng-bareng. Ini GraalVM.
34:59Itu ada yang seru tuh pertanyaan yang paling bawah. Oh iya, bentar ya. High Performance Cloud Native Polyglot. Java, JavaScript, Python, Ruby, R, Wasm.
35:10Oh iya, dia pengen nyayangin virtual mesinnya apa ya. Jadi si Kotlin itu kalau balik lagi ke ceritanya Kotlin ya, Kotlin itu sekarang dia bisa tanpa si JVM kan. Jadi kita bisa bikin multi platform rotation dan juga kita bisa bikin WebAssembly pakai Kotlin nantinya.
35:30Oke, oke. Jadi dia bisa nggak pakai JVM gitu ya? Betul, bener-bener nggak perlu pakai JVM dan WebAssembly itu kan juga dia engine-nya beda sendiri kalau nggak salah ya.
35:42Bukan engine-nya segi web kan. Yang pada umumnya kan pakai C8, Chrome gitu ya. Kayak Gecko ya. Kayaknya dia mau nyayangin itu. Oke, coba kita cek lagi bagaimana Bapak Sidik sudah aman koneksi?
36:01Udah, udah, udah. Cuman 20% kayaknya nggak lama juga should be long. Oke. Ini tadi ada yang apa, kita lagi ngobrolin tentang Kotlin terus ada pembahasan tentang multi platform bisa iOS.
36:19Cek-cek-cek, sedikit-sedikit. Kasih piser-piser gitu. Ya, kalau multi platform sebetulnya saat ini pakai Kotlin native ya. Jadi kayak sepert Kotlin yang emang bisa ketika dikompil itu bisa running di iOS maupun di Android dengan the same code gitu.
36:40Kalau di Android, Android itu yaudahlah ya dengan cara yang sama kayak yang sekarang kalau di iOS itu jadi LLVM. Yang enaknya sih sebetulnya kita moding-moding switch tapi pakai Kotlin gitu.
36:52Dan kalau term staff multi platform saat ini sejauh ini mereka udah masuk beta. Jadi harusnya struggling-struggling yang pernah dia yang udah pernah nyoba kayak NBS di alpha itu udah terminimalisir jauh banget lah perubahannya di versi beta gitu ya.
37:11Terutama ketika kita dealing sama konkurensi, sama trading, ada sedikit perbedaan terutama di handling misalnya mutability object di across the street gitu ya.
37:22Itu di alpha sangat-sangat painful banget. Terus kalau di beta kita gak ngeliat itu gitu dan so far kita transisi ke beta itu juga lebih enak.
37:31Dan yang paling mengesankan sebetulnya dari Kotlin multi platform for mobile itu dari experience kita sebetulnya kita bisa bikin kayak core module yang di atasnya itu masih bisa native gitu.
37:48Jadi kalau yang pendekatan cross platform adalah all the things itu disiapin sama si platformnya gitu ya. Berjalan di atas satu layer di atas dan native. Sejauh yang kami tahu kalau Kotlin multi platform itu kita gak centralize business logic.
38:03Simularitas antara dua platform tapi accessibility terhadap core main platformnya itu tetap bisa dengan mudah gitu ya karena di atasnya itu stay native gitu. Terus itu yang menghindari kita kayak bikin channel atau bikin bridge gitu ya di pendekatan cross platform.
38:24Cuman ya trend ofnya kalau yang sejauh ini sejauh ini sebetulnya di learning curve nya sih. Di awal-awal pasti bakalan painful banget dan kita udah ngelaluin itu.
38:36Jadi pas ketika kita udah sekarang udah udah udah udah 4 project kita handling dari alpha. Sekarang kita lagi jalan 4 project. 2 udah selesai 2 udah udah selesai 1 udah selesai udah mau release 1 udah selesai UIT barusan. Terus 2 lagi itu lagi ongoing kita pakai KMM 1 aplikasi perbankan 1 aplikasi bola gitu.
39:02Oke oke wah mantap. Oke kita ganti sedikit pertanyaannya ya lebih ke web sedikit. Nah temen-temen kan familiar ya dengan progressi web app atau PWA.
39:15Jadi itu ada yang punya pengalaman mengembangkan aplikasi web terus kemudian dibundling dan direpping di masukkan ke play store. Ada yang punya pengalaman boleh share mungkin.
39:33Boleh Mas Budi boleh silahkan. Oke seingat gue PWA itu sempat hadir di play store ya sebelum akhirnya muncul app instant. Oh ya sorry kebalik instant app itu maksudnya gue merse antara instant app dengan app clip nya ayos.
39:56PWA ini pertanyaan apa trend kedepannya ya tadi ya?
40:08Ya ya pertanyaan pertama tadi pernah bikin. Pernah bikin engga tapi pernah nonton ya youtube-youtube orang ya cara bikin PWA. Kayaknya lumayan ribet ya kalau menurut gue ya harus bikin service worker ya namanya.
40:30Service worker ya service worker segala macem gitu lah. Nah itu terus abis itu kan nanti kita publish di web gitu kan.
40:48Terus tapi harus pake chrome setelah gue harus pake chrome gitu sih baru dia bisa jadi kayak model app ala-ala kan kayak apa ya dulu Zeflin pernah bikin gitu juga tuh.
41:00Jadi Zeflin lo install langsung add to home screen gitu kan. Tapi ya experience-nya kalau menurut gue tetap web sih bagaimana kan juga walaupun apa window nya dibuang segala macem gitu udah disisain aplikasinya doang ya.
41:15Tetep kayak berasa kaku sih dong. Ya berasa web banget sih.
41:21Permission-nya juga web soalnya. Kebetulan gue pernah sih malah ada pengalaman bikin PWA yang kayak gitu.
41:29Nah kalau ini use case-nya karena emang main-nya itu main product-nya harus di web dan emang resource-nya kurang.
41:37Karena enggak ada resource buat bikin khusus Android buat mobile. Jadi udah di-wrapping doang itu cepet sih. Cepet dan relatif gampang.
41:46Cuma nambahin satu manifest khusus ya udah publish. Tapi ya mungkin kalau dari perspective native dev ya itu emang bukan.
41:56Performa-nya nggak bagus. Tergantung aplikasinya sih. Performa-nya sih ya sama aja kayak performa web-nya normal-normal aja. Tapi lebih ke permission sih. Semua permission-nya ya alurnya sama kayak web.
42:08Jadi nggak kayak permission-nya. Kan beda ya permission-nya apa Android native app. Kalo pengalaman pribadi gue cuman mentok di itu aja. Permission-nya web banget.
42:20Kalo performa ya normal. Ya tergantung isinya apa sih. Kalo cuma buat konten ya kayak artikel baik-baik aja.
42:28Ya kalau sekedar kayak satu text doang tanpa ada navigasi sih sebenernya PWA masih oke-oke aja kalau menurut gue ya.
42:35Tapi lucunya kan Google meluarin tandingannya juga kan. Di tempat yang sama yaitu instant app tadi.
42:41Instant app.
42:43Instant app tuh apa tuh? Belum pernah.
42:45Bukannya kita baru tau nih coba kita lihat ya. Instant app. Gini ya.
42:50Jadi kalau kasus di space-nya gitu kayak dulu, kayak salah satu contohnya kalau mau bayar parkir di Amerika tinggal tab NFC langsung daripada buka web.
42:59Tapi dia jadinya ya nge-launch native app. Maksudnya instant app itu ya sebenernya part of it ya native app gitu.
43:08Cuma kita download-nya cuma yang diperlukan aja.
43:13Ya download specific, specific screen aja gitu sebenernya.
43:16Ya specific screen aja.
43:18Android Instant App ini ya namanya Android Instant App.
43:21Iya Android Instant App.
43:23Oke. Coba kita ini ya share screen ya.
43:27Android Instant App.
43:29Kalo yang platform sebelah namanya App Clip.
43:34Apa? App?
43:36App Clip. Sama.
43:41Oke. Ini cara kerjanya gimana tadi? Boleh diulangi?
43:44Itu diinstall kan tuh.
43:46Oh oke.
43:47Sama-sama pake link.
43:49Sama-sama pake link.
43:50Oh pake link.
43:51Nah tapi link-nya ini kita punya protokol khusus ya.
43:54Kalau PWA kan protokolnya HMV ya kan?
43:57Iya.
43:58Kalau ini deep link sih. Jadi kita bisa dibebas bikin custom protokol gitu.
44:03Wah menarik.
44:05Seru ya.
44:08Jadi nanti download modul yang dibutuhkan aja.
44:11Sebetulnya keinstall.
44:13Sebetulnya keinstall. Oh oke.
44:16Oke oke.
44:18Nah ini udah mulai banyak pertanyaan-pertanyaan ini ya.
44:21Menarik ya. Ada pertanyaan tentang ini apa?
44:24JPEG Compose.
44:26Compose?
44:28Bagaimana dengan cara pembuatan seperti biasanya tanpa JPEG Compose.
44:33Apakah sekarang sudah saatnya beralih ke JPEG Compose?
44:38Coba siapa yang boleh jawab?
44:40Oh oke deh.
44:42Di kantor kita udah ngejalanin 2 project pakai JPEG Compose.
44:49Oke. Maaf, kepotong sedikit.
44:52Buat teman-teman yang belum familiar, JPEG Compose itu apa?
44:56JPEG Compose itu metode pengembangan IWA yang baru.
45:01Yang lebih modern dibandingkan.
45:03Penekatannya premok-premok baru.
45:05Yang kalau kita 12 tahun lebih ya menggunakan XML.
45:13XML ya masih jaman.
45:15Terus akhirnya pendekatan sekarang itu udah mirip-mirip semua.
45:21Sudah deklaratif gitu ya.
45:23Terus of survival base.
45:25Dan harusnya JPEG Compose itu udah selama kita adopsi di 2 project itu
45:33banyak-banyak berubah dari cara berpikir kita
45:37yang simpata imperatif jadi deklaratif.
45:40Terus yang handling state management yang
45:45kalau kita pakai si system kan kita kayak nggak terkontrol gitu ya.
45:53Nggak terkontrol itu perubahan state-nya.
45:55Kalau kita ada satu yang harus terubah,
45:57state-nya titik mana aja kayak terlalu banyak yang kita kontrol gitu.
46:01Dan kalau di JPEG Compose tuh kita so far kita ngedapetin lebih enak gitu.
46:06Karena single source of data dari inner layer
46:10terus kita hinggalin dan ngerubah state-nya.
46:12Terus semua orang yang semua...
46:15Semua yang substrate.
46:17Semua composable yang listen kesitu tuh kayak itu ngelakuin
46:21process updating recomposition sendiri gitu ya.
46:24Terus apa namanya so far so good sih.
46:30Jadi kita udah 2 project.
46:34Kita nggak cuman JPEG Compose tapi kita juga di IOS
46:38kita udah implementasi safe UI.
46:40Jadi udah imbang dua-dua.
46:42Dan kenapa alasannya ini sebetulnya udah suka-nggak suka.
46:47Pasti soon or later itu sama kayak dulu
46:50kita di-encourage suruh pindah dari Java ke Kotlin gitu ya.
46:53Walaupun Java juga masih di-support tapi
46:55pelan-pelan itu kita di suruh pindah.
46:57Dan kita ngambil momentum-nya aja sih sebetulnya.
47:00Jadi masa depannya itu JPEG Compose ya berarti ya?
47:03Ya, kedepannya kayak bakalan...
47:07Investasinya Google pasti kayak sekarang gitu.
47:09Investasinya udah lah ke Kotlin gitu ya.
47:12Instead of dia harus maintaining yang Java gitu.
47:15Dan akhirnya ya udah kalau mau bikin ini
47:17ya udah langsung aja semua di-Kotlinin gitu ya.
47:19Sampai level UI-nya juga udah Kotlin aja.
47:22Dan yang kedua anak-anak juga bosan sih di internal udah.
47:25Ya udahlah kayak ngelakuin.
47:27Udah kayak punya skeleton yang udah ngelakuin 4 years gitu ya.
47:33Bikin aplikasi yang base-nya itu pakai P-System ya.
47:36Akhirnya kita ada challenge baru...
47:39Bosan liat XML terus ya sama XI.
47:42XML terus, baru kekode gitu ya.
47:45Gua sebenernya punya jawaban lain sih.
47:47Boleh, boleh, boleh.
47:49Ya, jadi kalau tadi ada bener aja juga menurut Sidik ya.
47:53Java Compose itu apa.
47:55Tapi sebenernya...
47:57Gua sebelumnya sangat berterima kasih kepada para developer web ya.
48:01Akhirnya developer web lah yang membuka mata developer mobile.
48:05Untuk beralih dari...
48:09Beralih dari impratif skeleton UI.
48:15UI skeleton menjadi deklaratif UI skeleton gitu.
48:18Karena kan deklaratif UI itu udah dari zaman dulu.
48:21HTML deklaratif.
48:23SQL deklaratif.
48:26Ya, SQL deklaratif.
48:29Terus akhirnya kesini-sini tuh kayak developer mobile juga sadar.
48:35Bikin XML atau apalagi SID ya.
48:38Yang sebelah kan itu cuma drag-and-drop, salah drag ganti story ID gitu kan.
48:43Jadi ribet gitu, rusuh gitu.
48:45Nah, yang di Android ini sendiri juga sama.
48:49Gimana bikin XML?
48:51Lebih enak nge-picknya daripada drag-and-drop malah kan kebalikan gitu kan.
48:55Terus akhirnya...
48:57Ya, di satu sisi juga renderingnya lambat.
49:01Karena kan XML mau nggak mau ditransform lagi ke natifnya gitu kan.
49:07Untuk dirender ke...
49:09Kenapa nggak langsung aja bikin yang versi view-nya di bahasanya itu sendiri.
49:14Sebenernya dari zaman dulu bikin aplikasi mobile...
49:17...juga bisa pakai view dari bahasa itu sendiri kayak...
49:20...bikin J2ME gitu ya, Java M-A.
49:24Jadul banget ya.
49:25Terus bikin Blackberry, Blackberry juga kan kita bikin view beneran pakai Java gitu kan.
49:30Nah, dulu Android sebenarnya ada kayak pilihan juga sih.
49:33Kalau nggak salah sekitar 2010 atau 2011 gitu.
49:37Antara mau pakai XML atau stay pakai cara Blackberry.
49:42Jadi kita bikin custom view, tempelnya satu-satu gitu.
49:45Ternyata ribet nih, pakai kayak gitu kan.
49:47Ya udah, taruhin XML-nya malah lemot gitu kan.
49:49Terus pas lihat web, ya pas lihat web...
49:53...Declarative ini kayaknya udah paling benar gitu kan dengan adanya HTML, JavaScript.
49:59Direct Native sebenarnya sih.
50:01Direct Native ya.
50:02Ya, breakpoint-nya sebenarnya Direct Native gitu.
50:05Nah, ketika Direct Native ini muncul...
50:07...akhirnya Flutter muncul dan lain sebagainya.
50:10Ya, gitu.
50:12Jadi udah mulai membuka mata kepada developer-developer-anatist.
50:16Ternyata bikin UI itu yang akan ngoding di bahasanya sendiri...
50:20...depada pakai bahasa lain kan.
50:22XML itu bahasa lain kan.
50:23Kok nggak mau kan XML kan?
50:25Gible dari ininya.
50:26Bahasa asing.
50:28Ini kayaknya XML ini terpengaruh oleh Java.
50:31Java kan amat sangat dekat dengan...
50:34Oh iya, iya.
50:36Betul sekali.
50:39Sebenernya kalau baca di bukunya si Android yang...
50:44...ditulis sama chatnya, "Saya mau pilihan kenapa pakai XML"...
50:48...saat itu tuh yang penasaran gue tuh...
50:51...yang penting bagaimana caranya biar bisa cepat aja dan mudah developer.
50:55Karena Android itu dibangun saat itu kondisinya adalah lebih banyak web developer.
51:00Dan web developer itu familiar dengan HTML.
51:02Jadi bagaimana ngebuat antarmuka itu penulisannya nggak berbeda jauh dengan HTML.
51:07Akhirnya dibikinlah tuh, XML, View System yang basisnya adalah...
51:12...kalau menunggu compile sebetulnya itu ada measure layout sama render gitu kan.
51:17Dan itu udah sangat-sangat kompleks lah.
51:21Cuma poinnya di sini sebetulnya kalau in terms of state management...
51:26...kita tuh udah pernah punya kalau di Android pakai data binding.
51:31Data binding kan sebetulnya of survival object gitu kan.
51:33Jadi once that objectnya dirubah, value yang...
51:37...by state itu bakalan berubah.
51:39Cuman kayaknya data binding itu tidak populer gitu di Android.
51:43Bukan cuma tidak populer sih, Big.
51:45Itu salah satu kesalahan terbesarnya Google sih.
51:47Kenapa harus bikin data binding?
51:49Kayaknya di...
51:53...sama I/O.
51:55Kayaknya...
51:57...menurut gue...
51:59...ya, menurut gue kayaknya salah satu platform yang...
52:02...satu function untuk definisiin objek...
52:05...tapi kita bisa controlling objek itu kayaknya cuma Android ya.
52:07Karena kita punya Find V by ID itu variasinya banyak banget gitu.
52:11Sampai sekarang gitu ya.
52:13Itu kalau pendekatan lama emang challengingnya lah di sana sih.
52:18Oke.
52:20Pertanyaan tambahan sedikit.
52:22Jetpack Compose ini...
52:24...tadi kan Sidiq udah sempet cerita...
52:27...apa, seru banget gitu kan, develop dengan deklaratif dan lain-lain.
52:31Apakah dia hanya meningkatkan developer experience...
52:34...atau juga meningkatkan dari segi performa juga meningkat?
52:38Oke.
53:01Sesuatu kita bilangnya adalah...
53:03...progressive pragmatic gitu ya.
53:05Progressive pragmatic itu artian...
53:07...kita pragmatic secara continue...
53:09...tapi setiap kita belajar dapat knowledge baru...
53:11...kita melakukan improvement dari apa yang udah kita lakukan sebelumnya.
53:14Dan...
53:16...sejauh ini kalau terms of...
53:18...terkait namanya apakah bikin happy developer?
53:21Iya.
53:22Jetpack Compose itu untuk...
53:23...iya, bikin happy developer secara experience, gue akuin.
53:26Kalau, asalnya gini contohnya deh.
53:28Di Android itu kalau kita bikin namanya...
53:30...rounded...
53:32...rounded view gitu ya.
53:34Itu at least kita harus bikin...
53:36...custom di view nya gitu ya.
53:39Kita bikin custom view nya, lalu kita hitung segala macem.
53:42Di...
53:43...Jetpack Compose itu kita udah tinggal manfaatin namanya...
53:46...object namanya modifier gitu.
53:47Itu udah kayak god object lah.
53:49All the things you can do it gitu ya.
53:50Itu tinggal kita sedangin namanya rounded...
53:53...dia udah bisa bikin tuh...
53:54...sebuah UI component bentuknya rounded gitu.
53:57Tinggal kita tentukan aja dia yang apa...
53:59...sudutnya berapa gitu.
54:01Sama juga kayak kita misalkan bikin...
54:04...di Android itu kita terkenal banget kalau bikin list...
54:06...itu sesuatu yang kompleks gitu ya.
54:09Kenapa kompleks? Karena kalau bikin list itu...
54:11...berarti lu harus punya recycle view, lu harus punya...
54:13...adapter nya, harus punya view holder nya...
54:15...lu harus punya view nya gitu ya.
54:18Lalu lu nge-orchestrasi ini tuh gitu ya.
54:20Lalu di Jetpack Compose lu juga punya...
54:22Lazy list.
54:24Lazy column gitu ya.
54:25Lazy column, terus lu buat item nya...
54:27...dari track disitu udah.
54:29Itu sangat-sangat membahagiakan gitu ya.
54:31Membahagiakan.
54:33Dan banyak lah, banyak kelebihan-kelebihan yang...
54:35...gue sama anak DnBest tuh...
54:39...tadi gue bilang progressive technetik gitu.
54:41Kadang-kadang kita yang udah agak maju...
54:43...kita mundurin lagi.
54:44Kayak di Jetpack Compose kita dosinya...
54:46...gimana caranya bikin single UI gitu ya.
54:49Single activity UI nya bisa dipindah-pindahin gitu ya...
54:51...pakai Jetpack Compose.
54:52Itu kita udah pakai navigasinya...
54:54...oh dah ini lagi.
54:55Tapi akhirnya gue balikin lagi ke bawah.
54:57Sekarang bagaimana caranya...
54:58...kita di project start dunia lagi...
55:00...Jetpack Compose sebagai pengganti dari...
55:02...XML.
55:03Ratingnya seperti itu.
55:05Akhirnya ya kita lakuin...
55:07...kita bikin yang...
55:08...literally menggantikan XML...
55:10...kita buang XML...
55:11...kita ganti Jetpack Compose gitu.
55:13Dan akhirnya ya jalan, bisa.
55:15Dan disitu gue selalu bilang sama anak-anak gue...
55:17...kenapa gue bilang ngarahin kesini-kesini...
55:19...tujuan yang berapa?
55:20Kita tuh ada perbandingan...
55:21...bahwa kita mau menuju sesuatu yang major...
55:24...sesuatu yang mungkin kita sepakatin bersama...
55:26...dalam jangka waktu yang panjang.
55:27Tidak, kita udah pernah mencoba...
55:28...beberapa patent ini.
55:30Begitu juga ketika kita implementasi AIP.
55:32Oke.
55:34Wow, seru ya.
55:36Nah, ini ada pertanyaan menarik lagi nih.
55:38Kira-kira alasan Google ngeluarin...
55:40...Kodlin Multiplatform apa ya?
55:42Kayaknya pertanyaan ini...
55:44Benar, benar.
55:46Bukan Google yang ngeluarin kan?
55:48Bukan, bukan.
55:49Bukan, bukan.
55:51KMM itu...
55:54KMM itu dirilis oleh JetBrains...
55:56...si pembuat Kodlin, bukan Google.
55:58Bukan Google.
55:59Yang dari rilisinya tadi ya, Pong?
56:01Yang dari rilisinya tadi.
56:03Sedangkan punya Google adalah Flutter.
56:05Flutter kan.
56:07Iya.
56:08Nah.
56:09Mungkin kalau pertanyaannya...
56:10Bisa kita undang juga GDN-nya.
56:12Iya, GDN-nya coba diundang ya.
56:14Silahkan diundang.
56:16Iya.
56:17Mungkin episode-episode mendatang lah ya...
56:19...kita undang.
56:20Web versus Flutter.
56:22Web versus...
56:23Kodlin versus Flutter.
56:24Terus kitanya nggak ada...
56:25...yang web-nya nggak ada.
56:26Lonton, lonton makan popo.
56:29Kita nonton aja.
56:32Kodlin Multiplatform apakah performanya...
56:35...bisa disamakan dengan Flutter?
56:37Oke, ini kayaknya...
56:38...kayaknya gue jawab yang sebelumnya dulu deh.
56:41Jadi tadi kan kurang tepat ya.
56:43Kodlin Multiplatform itu...
56:45...dikeluarin oleh Google...
56:46...kenal hal sana.
56:47Atau nggak, sebenarnya nggak.
56:48JetBrains ya.
56:49Ya, gitu.
56:50Tapi mungkin pertanyaan lebih tepat gini.
56:52Ketika Google mengeluarkan JT Compost...
56:55...kenapa Google juga masih memperkenalkan Flutter?
56:57Nah, sebenarnya Flutter ini...
57:01...ya sebenarnya kayak salah satu alternatif aja gitu ya...
57:04...sebelum adanya JT Compost.
57:07Jadi semacam tempat latihan kita...
57:11...sebelum beralih ke JT Compost gitu.
57:13Batu lengketan gitu ya.
57:17Iya, nah.
57:19Roda tren.
57:20Iya, iya.
57:22Tapi maksudnya jangan panas dulu ya.
57:26Panas, panas.
57:28Nanti JT Flutter malah panas nih.
57:30Oh iya.
57:32Jadi dia mentor doang dong gitu kan.
57:34Gak, nggak gitu.
57:36Gak star mentor, tetap dipake kok Flutter.
57:38Ada tempatnya masing-masing.
57:39Nah, itu yang pertanyaan kedua.
57:40Kodlin Multiplatform performanya...
57:42...bisa disamakan dengan Flutter.
57:46Ngomongin performa antara crossplatform...
57:50...dengan multiplatform...
57:54...itu dari katanya aja sudah dua hal yang berbeda ya.
57:58Terus itu kayak kita bikin aplikasi pakai satu bahasa.
58:03Terus ujung ke ujungnya bahasanya sama ya.
58:07Jadi kayak misalkan kita bikin aplikasi web JavaScript gitu ya.
58:11PWA apa segala macam.
58:13Itu kan ujung-ujung bahasanya sama.
58:15Dari servicenya, data source, local database dan lain sebagainya...
58:22...sampai ke presentation layer ya.
58:24Kalau kita ngomongin kelihatan struktur...
58:26...itu ujung-ujung pokoknya intinya sama.
58:27Itu namanya crossplatform.
58:28Tapi kalau multiplatform itu sebenarnya bahasa yang sama...
58:35...itu cuma di spesifik area.
58:38Jadi untuk selesaikan salah satu isu yang ada khususnya di mobile ya.
58:46Kalau konteksnya mobile.
58:47Jadi sebagai mobile developer itu kan kita selalu berhadapan...
58:51...dengan masalah kontrak API gitu.
58:55Jadi biasanya gini nih.
58:57Biasanya kalau teman-teman ya di kantornya ada QA nih.
59:01"Gua tes di iOS kok nggak kejadian ya?"
59:05Login screen-nya sukses nih, tapi kalau di Android gagal ya.
59:10Nah, masalah-masalah seperti itu sebenarnya...
59:13...yang pengen di-sock oleh si multiplatform.
59:17Jadi kalau balik lagi ke performa...
59:21...yang namanya multiplatform itu tetap ujung-ujungnya...
59:24...didevelop secara native di presentation layer-nya.
59:28Yang didevelop secara satu bahasa itu cuma area spesifik.
59:33Biasanya itu business model-nya, business logic-nya...
59:36...atau domain layer-nya.
59:40Kalau performa, agak susah sih komparasinya ya.
59:45Karena yang satu itu dari segi building the system-nya...
59:51...jadi satu aplikasi ya, itu lumayan complicated.
59:56Karena kan lo harus menggabungin...
59:58...ini kalau kita ngomongin di mobile ya, ada iOS, ada Android gitu.
1:00:01Kita harus menggabungin dua engine itu jadi satu...
1:00:04...dikompel untuk menghasilkan dua aplikasi ya.
1:00:09Apk dengan IPA gitu.
1:00:11Tapi memang dia nggak ngebuild pakai satu engine.
1:00:14Dibuildnya di engine masing-masing nih.
1:00:16Android dibuild pakai NVM, balik lagi iOS dibuild pakai LLVM.
1:00:21Tapi kalau yang si cross-platform...
1:00:26...itu ujung-ujung ngebuildnya semuanya di situ.
1:00:29Nah, sebenarnya sih secara performance dari segi build system...
1:00:35...gue, to be honest ya, gue mendukung cross-platform sih...
1:00:39...dari segi build system.
1:00:40Karena kencang banget build-nya gitu.
1:00:43Tapi dari segi sizing dari si aplikasi...
1:00:47...udah jelas, pemeriksaan ini natif.
1:00:51Oke. Sekarang pertanyaannya...
1:00:53Nah, mau ngomong tanya lagi dong.
1:00:55Untuk bahas performance, kalau di web kan ada tuh...
1:00:59...misalnya Core Web Vitals bisa pakai Lighthouse...
1:01:02...bisa langsung dapet instant feedback tentang performa.
1:01:07Tentang hal apa aja yang lambat di bagian mana...
1:01:10...mana yang bisa dibenerin.
1:01:11Nah, kalau di Android gimana tuh caranya?
1:01:14Ada di IDE-nya. Buat profiling-nya.
1:01:18Kita ada profiling juga.
1:01:20Kalau ampe kadang-kadang ya sering buat gimana optimize start-up time ya.
1:01:25Start-up epic tuh secepat-cepatnya.
1:01:28Sebetulnya, kalau gue ngelihat mandang performance ya...
1:01:33...tadi gue belum pernah, gue pakai dua-duanya...
1:01:36...Clutter dan KMM di Endless.
1:01:39Endless itu terlalu generic banget gitu ya.
1:01:41Clutter hayo, KMM hayo, KMM hayo, terus...
1:01:44...Native 100 AS juga hayo gitu.
1:01:46Karena kita nge-encourage engineering di sini juga nggak cuma spesifik...
1:01:50...ke satu framework gitu.
1:01:52Dan kita nggak pernah bilang bahwa...
1:01:56...kita pernah komparasi.
1:01:57Cuman kalau dari segi...
1:01:59...dari apa namanya, dari segi...
1:02:01...lihat dari sudut pandangnya...
1:02:03...cross platform dengan Native Scanner Experience kita...
1:02:07...adalah kalau KMM kita pakai karena kita berharap...
1:02:09...buat kita hanya bisa mengisolate...
1:02:12...modul-modul similaritiesnya itu, kita bilang sih yang modulnya...
1:02:16...kayak itu data layer atau domain layer...
1:02:18...or similarities modulnya.
1:02:20Itu jadi satu, satu tempat yang kita bisa serve...
1:02:22...buat dua sisi gitu.
1:02:24Sedangkan sisi atasnya itu kita masih bisa menggunakan sih...
1:02:26...Native Experience-nya gitu, Native SDK-nya.
1:02:29Jadi ketika dikompilasi itu harusnya...
1:02:32...itu mereka mau benar-benar jadi native gitu.
1:02:35Kalau Clutter kan setahu gue ada...
1:02:37...kompilasinya yang dia harus ada emulasinya...
1:02:39...karena di jalan dari emulasinya.
1:02:41Itu ada...
1:02:43Ada engine-nya ya?
1:02:45Ada engine-nya.
1:02:47Ya.
1:02:49Dari situ juga...
1:02:51...kalau gue ngeliatnya gini, dari segi...
1:02:53...experience development...
1:02:55...kalau buat...
1:02:57...pengalaman kita kalau bisa bikin aplikasi yang...
1:02:59...ini mostly ya, ini kayak tadi yang...
1:03:01...dihadapkan sama NBS.
1:03:03Kita ngelihat kalau misalkan buat...
1:03:06...produk yang masih sifatnya kayak menemukan...
1:03:08...produk market pick dan untuk butuh speed up...
1:03:10...gak peduli masalah performance...
1:03:13...gak peduli masalah stability...
1:03:15...atau gak peduli masalah...
1:03:17...hal-hal level...
1:03:19...yang penting bisa delivering value...
1:03:21...close platform itu cepet banget.
1:03:24Itu kita experience...
1:03:26...ada 2 aplikasi yang sampai sekarang jalan...
1:03:28...bahkan salah satu aplikasinya dapat scan besar banget.
1:03:31Cuma ketika...
1:03:33...case-nya native, biasanya berasa dari...
1:03:35...organisasi-organisasi yang mereka aku...
1:03:37...dapat ensuring bahwa...
1:03:39...mereka terjamin...
1:03:41...masalah scalability-nya...
1:03:43...terjamin masalah...
1:03:45...sustainability dari SDK-nya...
1:03:47...terus ada jaminan...
1:03:49...dari platform owner-nya...
1:03:51...terus...
1:03:53...mereka berinvest untuk jangka panjang...
1:03:55...gitu ya...
1:03:57...dan mereka sudah selesai terkait masalah...
1:03:59...nanti gue harus...
1:04:01...produk market pick seperti apa tuh udah gak gitu...
1:04:03...jadi biasanya kayak golongan enterprise...
1:04:05...di tengok kita tuh biasanya gitu...
1:04:07...mereka udah langsung...
1:04:09...langsung go to native gitu ya...
1:04:11...dan...
1:04:13...itu yang kita dapetin...
1:04:15...sama kita development dari Flutter...
1:04:17...dan point kedua sebetulnya gini...
1:04:19...at the end ketika...
1:04:21...kalau kita nge-gen cause platform tuh...
1:04:23...kita pernah dapet case dimana...
1:04:25...sampai kita bisa konklusi...
1:04:27...wa kalau lo punya aplikasi...
1:04:29...yang sifatnya hardware kompetitif...
1:04:31...daripada lo bikin...
1:04:33...pakai Flutter...
1:04:35...at the end lo harus bikin...
1:04:37...channel atau bridge-nya...
1:04:39...untuk bisa-bisa...
1:04:41...bisa komunikasi ke low level SDK-nya...
1:04:43...gitu ya...
1:04:45...ya lebih baik lo liat di sekalian gitu...
1:04:47...kalo case yang kemarin tuh akhirnya...
1:04:49...kita ada satu case kita pake machine learning...
1:04:51...buat deteksi muka...
1:04:53...gitu ya...
1:04:55...itu di Android jalan lancar...
1:04:57...cuma kendala banget di iOS...
1:04:59...sama juga aplikasi kita ya mas Andrew ya...
1:05:01...di Android kita ada satu komponen buat...
1:05:03...dengan QR code itu...
1:05:05...akhirnya kita ujung-ujungnya bikin...
1:05:07...channel, bikin bridge...
1:05:09...gitu ya...
1:05:11...yang buat komunikasi ke native-nya gitu kan...
1:05:13...at the end...
1:05:15...menguasai satu klatform aja...
1:05:17...gitu gak cukup...
1:05:19...ketika lo berhadapan dengan...
1:05:21...dealing dengan namanya hardware...
1:05:23...competitif ya apa...
1:05:25...hardware excessive gitu ya...
1:05:27...ya spesifik ya...
1:05:29...at least lo harus bisa...
1:05:31...iya lo bisa paham di IOC juga...
1:05:33...lo harus bisa paham ini...
1:05:35...dan lo harus ngerti juga bahwa...
1:05:37...flutter adgen order day dia adanya...
1:05:39...adalah UI toolkit...
1:05:41...dan pada akhirnya ya...
1:05:43...bisa jadi, bisa jadi, bisa jadi...
1:05:45...nanti atasnya flutter bawanya Kotlin...
1:05:47...kita gak ada yang tau...
1:05:49...ya jadinya makin gede...
1:05:51...app size-nya atasnya Flutter...
1:05:53...bawanya Kotlin...
1:05:55...tapi itu...
1:05:57...itu udah jadi satu pipeline...
1:05:59...nanti itu kayak...
1:06:01...BnBs kita sering ada pet project...
1:06:03...jadi kita kalau nyoba-nyoba...
1:06:05...excessive teknologi baru itu gak cuman...
1:06:07...serta merta kita langsung jemplung...
1:06:09...oh kita teknologi baru kita cobain...
1:06:11...gak se-hustle itu...
1:06:13...kita ada exercise-nya...
1:06:15...menarik...
1:06:17Andrew tadi mau menyapaikan sesuatu...
1:06:19...maksudnya biasanya memang...
1:06:21...itu pertanyaan paling sering ditanya sih...
1:06:23...kalau lagi di Android Gathering ya...
1:06:25...pasti tanya...
1:06:27...kalo bisa Flutter...
1:06:29...meri Flutter aja dong...
1:06:31...cuma akhir-akhirnya memang...
1:06:33...ujung-ujungnya tadi kayak seperti Sidik bilang...
1:06:35...maksudnya mau kita...
1:06:37...kuasa Flutter juga kalau misalnya...
1:06:39...mungkin kalau base...
1:06:41...use case yang kita...
1:06:43...buat app-nya itu...
1:06:45...memang udah ada...
1:06:47...udah ada itunya semua...
1:06:49...komponen-komponennya ya...harusnya bisa pakai semua...
1:06:51...pakai Dart aja udah...
1:06:53...moberes kan...tapi kalau...
1:06:55...kita butuh sesuatu ya...
1:06:57...kayak tadi contoh...kayak misalnya...
1:06:59...Axis Camera... misalnya kita butuh...
1:07:01...suatu yang agak native-specific ya...
1:07:03...kita harus tau juga native-nya juga...
1:07:05...akhirnya yang harus belajar juga gitu...
1:07:07...ya sebenernya Flutter ini...
1:07:09...agak unik sih...
1:07:11...mungkin gue nambahin dikit ya... Flutter ini agak unik sih...
1:07:13...ya kebetulan kantor gue kan juga...
1:07:15...ini ya...
1:07:17...berlakon agnostik juga ya gitu ya...
1:07:19...jadi kita punya Flutter-nya juga...
1:07:21...oh bahkan ada Flutter-nya...
1:07:23...dalam native...
1:07:25...gitu...
1:07:27...ya bikin...
1:07:29...ad module dia...
1:07:31...on top of native gitu...
1:07:33...flutter module on top of native ya...
1:07:35...itu bisa dilakukan oleh Flutter...
1:07:37...ya sebenernya...tadi...
1:07:41...ada cross dan cons-nya sih...menggunakan cross platform...
1:07:43...tadi ya...
1:07:45...salah satu cross-nya...
1:07:47...cons-nya itu sebenernya ya...
1:07:49...lebih ke app size...app sizing...kalo dari...
1:07:51...segi performance...
1:07:53...gue sejauh ini sih...
1:07:55...belom pernah melihat...
1:07:57...ada lack of...
1:07:59...performance issue di Flutter juga...
1:08:01...gitu...
1:08:03...dan mirip lah dengan Android...tapi...
1:08:05...ketika dicampur...gitu ya...
1:08:07...jadi...lu udah punya aplikasi native...
1:08:09...tapi ada beberapa screen mau diflutterkan...gitu...
1:08:11...nah disitu masalahnya...
1:08:13...muncul...karena...
1:08:15...flutter engine itu kayak harus di...
1:08:17...apa ya...dipanasin gitu loh...
1:08:19pasangin dulu sebelum ini kayak lu manasin mobil baru bisa lancar. Sebenernya sekarang udah ada beberapa improvement sih di platernya jadi apa ada yang bikin catch engine segala macem lah gitu tapi ya tetep ada sepersekian millisecond tuh yang bikin lu lag gitu untuk masuk ke screen tersebut gitu sih.
1:08:40Oke, diluar performance katakanlah native sama flutter dalam hal ini, itu gimana dengan developer experience?
1:08:56Dari segala masalah developer experience itu ini menyangkut juga pertanyaan waktu gue jadi pembicara di Droidcon kemarin di Singapura ya. Jadi pas satu sesi panel itu pertanyaannya kena banget gitu.
1:09:20Buat lu sebagai developer lu nanti betting kemana nih apakah ke native ke cost perform gitu ya atau ke BWA gitu kan. Terus kalau gue jawabnya sebetulnya langsung ya gue mau posisikan diri gue berasal dari perusahaan consulting yang kita ngeliatnya lebih depends on gitu ya kan.
1:09:40Karena kalau lu berbicara masalah software engineering is about trade off gitu kan. Dan gue balikin lagi gue ke fitrahnya gitu. Ketika lu menhadapkan dengan case gak semua tools itu bisa jadi silver bullet.
1:09:53Tergantung lu punya waktu seberapa banyak, scalability test aplikasi yang lu deliver seperti apa dan trade off dan konsekuensi apa yang lu mau minimize gitu kan secara resiko.
1:10:09Nah kemarin gue bilang bahwa kalau gue buat sebagai software consulting company kita mau posisikan semuanya kita siapkan. Itu kita ngebalikin lagi bahwa mereka tools yang kita mau berperang itu kita banyak senjatanya gitu ya.
1:10:25Bila musuhnya pake ini gitu ya customer minta ini oh kita ada nih gitu ya oke siap. Tapi balik lagi ketika kita nentukan ngasih solution ke customer kita walaupun kita sangat-sangat opportunity kita bisa semua gitu.
1:10:39Depend on your risk case apa. Kalau misalkan kita kasih pertimbangan X kita sudah punya takaran yang kenapa harus X itu. Dan pada akhirnya balik lagi bahwa gak sesederhana kita bilang oh ini pakai platter, oh ini pakai native, oh ini pakai RN, oh ini pakai KNM gitu.
1:10:55Gak sesederhana kita nyebut ini tapi ada pertimbangan-pertimbangan yang sampai akhirnya kita punya konkursi oh ini kayaknya bagusnya buat ini buat perusahaan ini.
1:11:02Oke. Case by case basis ya? Ya case by case basis ya. Makannya kalau misalnya kalau misalnya mau pakai JPEG Compost wah keren ya tapi itu tadi ada satu hardware yang gak support maksudnya itu gimana sih Android nya masih awal sama.
1:11:19Kalau banyak perusahaan sama hardware itu makin udah ratusan device yang susah juga.
1:11:24Iya itu ya jangan pernah bikin receiver banget. Nanti ya software engineering bisa buat track off, time kita gak bisa ini. Bagus sih kita punya banyak opsi lah intinya kita harus bersyukur kita punya banyak opsi.
1:11:37Mau ada platter, mau ada KNM, ada native programming ya itu. Berarti balik lagi ke target user nya ya berarti ya. Target user dan kebutuhan.
1:11:48Kebutuhan mau bikin apa lah gitu. Ya kebutuhan dari siapa yang ngasih lu. Harus pake hardware yang khusus berarti harus mengikuti yang bisa di hardware itu apa gitu kan.
1:11:59Kalau misalkan nanti target user nya misalkan iPhone 14 ke atas ya pake flutter mau pake react native aman-aman aja kayaknya gitu kan.
1:12:08Iya. Tapi kalau misalkan iPhone middle, middle end ke bawah kita harus menyesuaikan juga gitu kan.
1:12:19User gak bakal ngeliat lo, lo makin apa gitu ya. User gak bakal ngeliat lo aplikasi lo makin apa.
1:12:26Gini user Indonesia tuh paling simple bus, selama aplikasi lo stabil, selama aplikasi lo bisa fulfill kebutuhan mereka, selama aplikasi lo bisa deliver for you mereka udah happy.
1:12:39Mereka bukan titik user yang harus oh kasih UI yang catchy, kasih animasi yang luar biasa. Kurang satu dik.
1:12:45Kurang satu dik. Dan selama tidak ngabisin storage lo. Nah gini balik lagi deh kenapa gue bisa bilang kayak gitu, gue merujuk aja dari aplikasi BC ya, lo liat aplikasi BC.
1:12:59Oh iya. Gak perlu lo ngenampilin sesuatu yang cantik, cemek, animasi bagus, delivery experience nya bagus, tapi lo liat disitu, semuanya fulfill sama mereka.
1:13:11Funksional, functional, functional, functional, functional. Very pragmatic, but delivered.
1:13:16Gitu dan stabil, delivered Indonesia itu. Ok guys gue harus berapap, terima kasih.
1:13:23Dan yang paling penting, thank you, thank you Siddy. Dan yang paling penting tadi storage sih. Kenapa storage? Karena beberapa orang, gue pernah interview beberapa orang gitu ya.
1:13:34Mereka tuh kadang-kadang sebel Indonesia tuh apa-apa dikit-dikit aplikasi. Mau beli bensin pakai aplikasi.
1:13:42Iya bener. Mau perpanyakan paspor pakai aplikasi. Masih masing-masing badan merita punya aplikasi sendiri.
1:13:49Punya. Sekarang aja ya bang, banyaknya yang udah tutup web. Maksudnya udah rencana mau tutup web aksesnya ya.
1:13:55Iya, dan arahnya mau ke super F semua gitu kan. Sebenernya di satu sisi bagus, tapi di sisi lain tuh ada beberapa user yang mengeluhkan,
1:14:06ya device-device WoN itu kan storage-nya kan kecil ya. Iya, 32GB diisi foto video. Video sama video TikToknya mereka ya abis dong.
1:14:19Abis ya. Iya. Padahal kita perpanjang paspor cuma 5 tahun sekali ya harus install aplikasi gitu ya.
1:14:27Kenapa? Itu abisnya PWA. Maksudnya make sense, yang lebih make sense. Iya.
1:14:32Jadi sebenernya use the right tool on the right decision atau on the right, apa ya, business use case lah gitu.
1:14:40Jadi kalau misalkan yang butuhnya cuma sekali tahun muncul atau 10 tahun sekali muncul ya mendingan PWA.
1:14:46Google Form doang. Iya, mendingan Insta-App aja gitu kan. Mendingan Google Form aja. Iya.
1:14:54Lebih campan lagi. Iya, kadang-kadang suka mempersulit diri sendiri sih ya. Iya.
1:15:04Oke, oke, oke. Nah ini ada pertanyaan menarik juga nih dari Dewang Poro, tapi kita nggak bisa jawab.
1:15:10Tapi nanti kedepan ini. Iya ini harus jadi Flutter. Kita undang lagi ya. Betul, betul, betul.
1:15:18Soalnya kita agak-agak buta dia, apalagi yang back-end ya. Iya.
1:15:24Iya. Oke. Nah ini ada pertanyaan yang menyulut nih.
1:15:30Flutter udah kena pick-like. Pernah itu. Kamu bisa dong jawab.
1:15:40Ini susah re, ini antar-antar. Iya. Cuma nggak mau berkomentar.
1:15:47Mungkin Andrew mau komentar. Ya itu, gue selalu jawabannya diplomatis saja lah.
1:15:52Tadi kita udah kayaknya udah, kalau ditanya komparasi gini kita bilang tergantung use case,
1:15:56tergantung skill ya. Kalau udah punya, memang udah, udah background-nya reaktif ya.
1:16:02Dan merasanya lebih oke ya. Betul, betul. Mendingan kesana gitu kan.
1:16:06Iya, kalau si Dick tadi kan dia menyelesaikan sama klien juga kan. Sama resource yang kita punya di kantor.
1:16:13Resource bener. Iya. What works daripada nanti tim itu suruh satu tim, suruh belajar Flutter.
1:16:18Terus akhirnya, padahal projeknya cuma buat bikin sesuatu yang agak sih. Tapi gue pernah punya pengalaman sedikit nih ya.
1:16:26Gue cerita sedikit pengalaman ada developer web yang beralih ke mobile.
1:16:30Nah terkadang tuh mindset-nya sih sebenarnya harus dibentuk pertama mindset.
1:16:34Jadi lu mau pake Flutter kek, mau pake React Native, kan ujung-ujungnya lu bikin aplikasi untuk mobile.
1:16:40Nah dari segi navigasi antara mobile dengan web itu udah jelas-jelas beda.
1:16:45Tergantung platformnya ya. Kalau Android ada back, home, dan task manager.
1:16:51Kalau si iOS cuma home doang gitu kan.
1:16:55Nah sedangkan yang web kan cuma ada tombol back, forward, sama tambahan close doang ya.
1:17:00Kalau nge-close web gitu kan. Ya. Dan dari segi...
1:17:05Ya, dan dari segi apa, routing ya. Routing navigasi antar menu gitu.
1:17:12Itu juga sebenarnya mindset-nya beda. Jadi sebenarnya gini sih, yang paling penting adalah lu mau pake Flutter atau React Native.
1:17:18Itu mindset untuk menge-develop aplikasi mobile harus pake mindset mobile.
1:17:22Jadi kalau misalkan open screen gitu ya, dari sini larinya kemana.
1:17:26Terus misalkan ada list gitu list of menu jangan didesain pakai table.
1:17:31Kan aneh dong. Table beneran. Kalau di web kan table beneran ya.
1:17:35Oke lah gitu. Masa jadinya table juga gitu di Native kan aneh.
1:17:40Terus misalkan navigasi ini routing antara dari home kemana gitu.
1:17:44Nah itu dulu ada pengalaman lucu di situ. Jadi dia pakai Flutter atau React Native, gue lupa.
1:17:50Tapi cara routingnya itu routing yang web gitu. Jadi pakai di-cling, di-slash, slash, slash gitu.
1:17:56Ya itu aneh sih kalau tiba-tiba masuk ke mobile.
1:18:01Ya kalau yang pengguna apa, yang mau menggunakan Flutter atau React Native.
1:18:04Bahkan antara iOS sama Android aja itu UI/UX-nya berbeda kan.
1:18:09Itu harus masing-masing, harus diperhatikan juga desain guideline-nya kan, kalau nggak salah ya.
1:18:14Betul, desain guideline-nya.
1:18:15Karena ada icon-nya di bawah lah, icon-nya di atas, di sebelah sini.
1:18:18Ada nodes-nya.
1:18:19Iya. Walaupun codebase-nya mungkin ya dibilang start-up vision sama nggak ya.
1:18:26Mungkin ada kondisi, ada perbedaan sedikit lah gitu.
1:18:30Dan itu harus menggunakan masing-masing platform gitu ya.
1:18:33Termasuk juga web gitu. Jadi kalau misalkan desain aplikasi web,
1:18:38ya dipikirin juga apakah perlu ada back button-nya atau gimana.
1:18:42Karena di browser, ya ada back button gitu, jadi kita nggak perlu bikin lagi gitu kan.
1:18:46Walaupun multi platform ataupun cross platform, masing-masing platform harus kita perhatikan secara mendetail juga.
1:18:55Oke berikutnya, nah ini panjang juga nih.
1:18:59Misalkan sudah dihadapkan dengan Android Native, terus dari tim product minta develop iOS.
1:19:06Apakah keflutter atau crime m? Kalau sudah ada Android Native, mendingan crime m kan?
1:19:12Waduh jawabannya diplomatis lagi nih jatuhnya nih.
1:19:18-It's depends. -Siapa dulu nih?
1:19:19-It's depends ya. -Always depends.
1:19:21Oke-oke. Kalau gua gini, depends-nya ini benar konteksnya mungkin agak sedikit real ya.
1:19:28Jadi kalau aplikasi native lu yang di Android ini fiturnya sudah terlalu banyak gitu ya.
1:19:34Ya jangan di rewrite ke flutter juga sih, karena kan mau nggak mau lu harus melakukan dari awal lagi.
1:19:41Iya kalau misalkan dokumentasi lu lengkap.
1:19:44Kalau engineering spek lu mencar-mencar kemana-mana, pusing dong gitu kan, lu rewrite lagi ke flutter gitu kan.
1:19:51Mendingan nulis langsung nulis swift aja.
1:19:54Iya mendingan langsung nulis swiftnya aja gitu kan.
1:19:57Kalau mau jadiin KMM ya paling pindahin dikit-dikit bisnis logicnya ke kotlinbase gitu kan.
1:20:04Dan si sign, si presentation layer-nya tetap pakai native-nya, Android pakai jtcompose-nya, si iOS ya pakai swift UI-nya gitu kan.
1:20:14Gitu sih, tapi kalau misalkan aplikasi lu itu scope-nya masih kecil ya, let's say aplikasi curut gitu ya.
1:20:22Update-relate doang gitu kan, bikin foam, iya baru 1-2 screen gitu.
1:20:28Ya udah lu rewrite aja ke flutter gitu kan, berarti kan baru 10% matem lah ke market kan gitu.
1:20:37Masih coba apa sih namanya kalau di startup itu, misalnya tahap MVP ya, atau validasi, masih tahap validasi gitu.
1:20:47-Product market fit? -Ya product market fit atau validasi market gitu kan.
1:20:52Ya udah, kalau masih ditahap itu ya lu rewrite aja ke flutter gitu, nggak ada salahnya sih.
1:20:57Masih relate dengan KMM juga ini, banyak yang tertarik sama KMM. Apakah akan mengadakan swift?
1:21:06-Mau jawab dulu, silahkan. -Oh iya, silahkan.
1:21:09Nggak, sama sih. Maksudnya kan tadi gue kenapa bilang KMM juga atau mungkin ya tergantung ya, karena kan kalau tadi skenario aja berarti udah ada Android app yang jalan.
1:21:19Nggak ada Android app ya.
1:21:20Tadi kalau kepikiran misalnya Android app yang udah gede banget, udah feature-feature udah banyak, tiba-tiba harus rewrite ulang ya sama kayak tadi si Budi bilang.
1:21:30Gitu kan, bakal waste of time gitu kan. Mendingan bikin satu lagi udah iOS aja udah bikin kan. Atau pelan-pelan ya memang business logic atau...
1:21:40-Factor belakangan. -Ya memang itu bisa kita mulai bikin jadi satu, tapi presentation layer-nya beda gitu kan.
1:21:47Ya jadi sih, gitu sih. Jadi Flutter ya tergantung tadi kalau masih kecil ya bener ya kalau mau memang, tapi dan nggak butuh terlalu scalable, karena memang udah pasti kita pengen udah sampai sini aja dulu ya udah Flutter.
1:22:00-Yaudah, Flutter. -Ya, oke.
1:22:03-Kalau ini? -KMM apa?
1:22:05-Apakah ada... -Tadi kayaknya udah ada jawab, jadi kayaknya masih datang.
1:22:09-Nggak jawabannya tidak. -Nggak sih, nggak sih, nggak, nggak, nggak ganti.
1:22:13Ya bener, karena presentation layer-nya tetap pakai masing-masing.
1:22:17Ya kecuali, sebenarnya ada satu sih, ada satu mungkin om Rizan nanti boleh googling, ada namanya Jetpack Compose for Desktop atau Jetrace Compose gitu.
1:22:30Nah itu sebenarnya kayak Jetpack Compose perjuangan versinya Jetrace. Bener nggak sih?
1:22:36Ya, jadi memang Jetrace juga lagi pelan-pelan bikin UI Framework yang bisa jalan di multi-platform.
1:22:44Tapi gue nggak tahu masa depannya gimana, karena kayaknya antara serius-jak serius gitu ya, gue ngeliatnya kayak belum ada perkembangan ke arah sana.
1:22:55-Ini ya? -Si.
1:22:57-Yes, gitu. -Oh, buat bikin aplikasi desktop ya?
1:23:04Ya, goals-nya sebenarnya mau jadi kayak UI Framework per multi-platform.
1:23:10-I see. -Jadi bisa desktop, bisa web, bisa macem-macem lah, bisa mobile juga.
1:23:15Bisa ke mana aja nanti ya, tergantung itunya ya, tergantung...
1:23:18Tergantung tujuan platform-nya ke mana ya.
1:23:21Ya, tujuan platform-nya, kalau ini diseriusin ya mungkin tadi bener pertanyaannya, bisa digantiin seriusnya nanti, gitu.
1:23:28Oke, oke, oke, siap. Pertanyaan berikutnya, kita masih ada beberapa pertanyaan.
1:23:37Pertanyaan general, generalis atau spesialis, ayo.
1:23:44Agnostik atau beriman sama satu bahasa, gitu.
1:23:51Kalau kita ngomong dari pengalaman ya, mendingan di awal-awal mungkin kalau masih belajar, mendingan jadi generalis gak apa-apa.
1:23:59-Karena kita bisa belajar sebanyak-banyaknya, gitu ya. -Betul.
1:24:02Kayak dulu ya kita develop ya, apa aja kita develop.
1:24:05Maksudnya pas belajar, gue pertama kali di college ya dulu dot-net lah, ya kan.
1:24:13Terus akhirnya kayak C# sih, lebih seriknya misalnya kan.
1:24:18Terus abis itu IOS ke Java, ya ini kalau kita ngomong language ya.
1:24:25Maksudnya ini banyak sih spesialis, generalis kan bisa macem-macem ya.
1:24:28Tapi ya anggapnya kalau kita belajar platform aja lah.
1:24:31Kalau misalnya kita mau belajar banyak hal, kalau masih memang masih muda ya.
1:24:36Masih, kalau udah tua jangan, kalau bisa jadi spesialis sih.
1:24:40-Tapi kalau masih itu... -Masi muda. -Masi muda, masih punya tenaga, jadi generalis boleh aja gitu.
1:24:48Karena kita bisa minimal, bisa tau wawasan kita, jadi luas juga kan.
1:24:52Peluang juga lebih banyak kan.
1:24:56Kalau misalkan kita terlalu mengotak-otakan, "Wah saya anak Android."
1:25:00Tiba-tiba ada keluhungan IOS, kita gak bisa gitu.
1:25:03Jadi kalau kita bisa semua, ya udahlah ambil aja dulu gitu kan, belajar sambil jalan.
1:25:07Tapi kalau terlalu generalis terus, gak pernah jadi spesialis juga...
1:25:11Kayak gue jadinya.
1:25:13Resume kita semua bisa ya, dari Photoshop semua bisa ya.
1:25:17Photoshop, Word semua bisa.
1:25:20Oh jangan sampe ke situ lah.
1:25:23Bisa itu perbaiki AC.
1:25:25Kita masukin aja, Adobe Premiere bisa juga.
1:25:29Kalau di luar skop, jadi software engineer bagi jadinya generalisnya jadinya.
1:25:35Bisa bersih-bersih juga kantor, boleh poh.
1:25:39Mau masak.
1:25:41Gimana Mas Wood?
1:25:43Ya kalau gue sih sebenernya kebalikannya Andrew kali ya.
1:25:47Jadi tadi kalau Andrew ceritanya, pertama jadi generalis gitu kan.
1:25:51Apa aja di palugada.
1:25:54Kalau gue kayaknya dulu waktu karir tuh spesialis, jadi spesialis ke backend doang.
1:26:03Terus habis itu bosan baru ke ini, mobile dan lain sebagainya.
1:26:08Malah kebalikannya gue dari spesialis ke generalis.
1:26:12Ya gak salah juga, bener.
1:26:15Harus tahu semua ya.
1:26:17Tergantung target, goalnya mau jadi apa.
1:26:21Kalau generalis kan sebagai MC anggap jadi CTO ya kan.
1:26:25Ya harus tahu.
1:26:27Ya itu jadi platform agnostik.
1:26:35Ya gitu bisa juga.
1:26:37Karena jadi kayak platform agnostik kan.
1:26:41Sebenernya tadi gue pengen bahas satu hal sih.
1:26:43Banyak orang tuh yang kayak, ya ini kan pembahasan kita apa versus apa gitu kan.
1:26:49Selalu kayak ada yang fanatik di satu hal gitu.
1:26:52Kenapa lu gak jadi agnostik aja belajar semuanya gitu.
1:26:55Kenapa, pertama keuntungan jadi agnostik itu adalah
1:26:58Lu bisa menikmati semuanya.
1:27:00Dan lu bisa tahu kelemahan, kekurangan dari masing-masing tools.
1:27:03Dari masing-masing language.
1:27:05Jadi lu bisa pakai, tadi kalau kata Sidip gak ada silver bullet gitu ya.
1:27:11Jadi lu bisa pakai tools untuk berbagai kebutuhan.
1:27:17Terus yang kedua, being agnostik itu enaknya adalah
1:27:21Kalau misalkan lu lagi kesel sama satu platform.
1:27:27Lu bisa ngecegin aja sih.
1:27:29Jadi keuntungannya tuh jadi kayak
1:27:39Daripada lu harus nyari cross platform atau multi platform yang paling baik.
1:27:45Kenapa gak belajar dua-duanya supaya diri lu lah yang menjadi multi platformnya gitu.
1:27:50Atau seorang pelaku agnostik gitu.
1:27:54Tapi intinya jadi gak ada salah bener spesialis generalis yang mana dulu.
1:28:00Yang penting jangan jadi ekstrim ya.
1:28:02Jadi ekstrim generalis sama ekstrim generalis.
1:28:04Nah, ekstrim itu.
1:28:06Itu kan yang penting ya.
1:28:08Maksudnya kita sudah experience pasti sama.
1:28:10T-shape gak sih?
1:28:12T-shape kan ada istilah bentuk skill kita tuh kudu kayak huruf T.
1:28:16Jadi satu bagian yang mendalam di satu area ya makin lebar makin bagus kan yang lurusnya.
1:28:24Nah yang kesampingnya itu kita harus bisa connect sama apply skill kita ke bidang-bidang lain.
1:28:32Atau minimal kita bisa kerja bareng.
1:28:34Kita cukup tahu buat kerja bareng sama orang-orang yang di bidang-bidang lain.
1:28:39Itu harus se-lebar mungkin.
1:28:43Makanya kita ada gd-web dan gd-android kan.
1:28:47Kita jadi biarpun kelihatan.
1:28:49Tapi kita harus gabung tetap kan.
1:28:51Kita bisa komunikasi, kita tentu disusing.
1:28:54Walaupun kelihatannya kita berantam, di luar kita berantam beneran.
1:28:57Enggak ya.
1:28:59Waduh, waduh, waduh.
1:29:01Gak, gak, gak.
1:29:02Ketauan deh.
1:29:04Bahkan kita juga, ini di luar teknis ya.
1:29:08Maksudnya kita belajar backend, front-end dan lain-lain itu kan generalis spesialis.
1:29:12Kadang-kadang kita sebagai orang teknis juga di inkurasi untuk belajar bisnis kan.
1:29:16Karena, misalkan, kita mau jadi entrepreneur, misalkan.
1:29:21Kita harus tahu gimana cara bisnis bekerja, gimana cara marketing, gimana cara ini, cara itu.
1:29:26Pitching sama calon klien ngomongin API, kliennya ngantuk.
1:29:30Betul banget.
1:29:33Betul banget itu. True story.
1:29:35True story.
1:29:37Oke, oke, oke.
1:29:39Nah, ini yang tadi ya.
1:29:41Oh, ternyata ini beneran ya.
1:29:43Aduh, ini mana yang dibawa adik?
1:29:45Oh, ini tadi ya tadi. KMM, KMM.
1:29:47Oh, waduh.
1:29:49Ini real case ya.
1:29:51Kata Andrew.
1:29:53Kata, jadi Android begini loh.
1:29:55Mana panggil sih ini?
1:30:00Waduh, gak dipanggil.
1:30:02Tolong nanti hasil akhirnya, tolong nanti di comment lagi ya di episode berikutnya.
1:30:05Saya pengen tahu tadi gimana.
1:30:07Berhasil atau gagal.
1:30:11Oke.
1:30:13Ini ada pertanyaan yang jawabannya singkat.
1:30:15Apakah performanya sama seperti develop native?
1:30:17Tidak.
1:30:19Permungkinan berbeda.
1:30:21Waduh, waduh.
1:30:23Waduh, waduh, waduh.
1:30:25Ini nenek moyangnya dari
1:30:27Roast Flutter.
1:30:29Maka tadi itu udah mau bahas-bahas sedikit sih tadi.
1:30:31Maka tadi itu udah mau bahas-bahas sedikit sih tadi.
1:30:33Kan udah tadi ngomong performa Flutter itu.
1:30:35Kan kalau Flutter udah gak terlihat lah ya.
1:30:37Udah kayak ini.
1:30:39Ya.
1:30:41Hybrid kita lewati gak hybridnya?
1:30:43Ya.
1:30:45Ya.
1:30:47Ya kalau bikin ini dipake
1:30:49di HP yang low-end seperti Xiaomi
1:30:51sih sebenernya bisa jalan.
1:30:53Splash screennya doang maksudnya.
1:30:57Bisa jalan.
1:30:59Yang lain force close.
1:31:05Iya.
1:31:07Memang support-support masih ada.
1:31:09Masih masih ada.
1:31:11Ionic pun masih ada.
1:31:13Bahkan beberapa bank
1:31:15lokal kita masih ada yang pakai Ionic.
1:31:17Oh iya.
1:31:19Saya paham sekali bang.
1:31:21Saya paham sekali.
1:31:25Mungkin bisa disebutkan
1:31:27initialnya. Oh jangan-jangan.
1:31:29Jangan soalnya saya kaper di sana.
1:31:57Wah jelas bingung ini.
1:32:05Wah ini menarik nih.
1:32:07Harusnya kita tanya Sidik tadi ya.
1:32:09Tapi
1:32:11gue kayaknya bisa bantu jawab.
1:32:13Oh boleh, silahkan.
1:32:15Tapi ini nanti bisa dikoreksi langsung ke Sidik ya.
1:32:17Jadi
1:32:19dia tuh ada kayak tim yang
1:32:21ngurusin core experience-nya.
1:32:23Halusnya core experience ya.
1:32:25Jadi bagian core itu yang kayak business logic-nya
1:32:27itu tim sendiri.
1:32:29Nah tapi core ini end-to-end.
1:32:31Jadi back-end yang
1:32:33microservice-nya,
1:32:35terus back-end yang si
1:32:37mobile-nya itu jenis satu
1:32:39tim core experience-nya dia.
1:32:41Terus yang
1:32:43tim, apa ya namanya?
1:32:45Gue lupa namanya tim Sidik itu
1:32:47yang depan itu. Pokoknya kayak
1:32:49front-liner gitu.
1:32:51Nah dia bagi dua gitu.
1:32:53Jadi ada yang core, core experience
1:32:55sama yang front-liner-nya.
1:32:57Frontier gitu lah.
1:32:59Ya, bisa kayak gitu sih.
1:33:01Tapi nanti ikon firmasi lagi aja.
1:33:03Oh, berarti formasi tim-nya
1:33:05agak berubah berarti ya?
1:33:07Berubah, berubah.
1:33:09Jadi yang tadinya Android
1:33:11itu ujung-ujung gitu kan.
1:33:13IOS ujung-ujung. Ini Android
1:33:15yang bagian depan sama IOS bagian depan itu
1:33:17ada. Terus yang share
1:33:19module tadi nih.
1:33:21Iya, itu yang
1:33:23yang megang share module itu
1:33:25tim-nya beda sendiri.
1:33:27Apakah dengan
1:33:29mengadopsi KMM ini
1:33:33kita bisa
1:33:35apa ya,
1:33:37membuat tim yang lebih lean,
1:33:39lebih ajar, maksudnya lebih sedikit
1:33:41jumlah ini-nya,
1:33:43anggotanya, atau
1:33:45sebenarnya sama-sama aja.
1:33:47Tambah tapi reshuffle atau gimana?
1:33:49Iya, tambah tapi reshuffle atau
1:33:51bisa, bisa. Atau sama-sama.
1:33:53Sampai mengurangi gitu.
1:33:55Maksudnya lebih efisien lah, gitu.
1:33:57Lebih efisien kan ya?
1:33:59Iya. Gimana ya?
1:34:01Terus jalan sih, abis itu bisa ya. Kayak kan
1:34:03BluTone-nya udah sharing kan.
1:34:05Tinggal presentation akhirnya ya
1:34:07sendiri-sendiri.
1:34:09Sama ada...
1:34:11Kalau bisa ada execution dengan baik ya, harusnya bisa
1:34:13lebih efisien.
1:34:15Dan kalau nggak sangat
1:34:17di NBS ini,
1:34:19Sini pernah cerita, dia itu bagi
1:34:21tiga repo gitu. Mirip sih
1:34:23sebenarnya dengan di kantor gua.
1:34:25Jadi ada repo untuk
1:34:27dua main app gitu,
1:34:29antara Android sama iOS, dan repo
1:34:31untuk si mono repo-nya.
1:34:33Mono repo ini yang send module-nya tadi.
1:34:35Gitu.
1:34:37Oke, oke.
1:34:39Ya, kalau komposisi tim ya,
1:34:41lebih lean apa nggak,
1:34:43mungkin jadinya gini sih,
1:34:45yang tadinya cuma megah Android
1:34:47doang, dia bisa belajar
1:34:49iOS dan Android
1:34:51dalam satu waktu gitu ya.
1:34:53Jadi bisa di...
1:34:55bukan merikas juga ya
1:34:57bahasanya.
1:34:59Merikas.
1:35:01Kalau merikas, bahasanya agak sensitif
1:35:03belakangan ini soalnya ya kan.
1:35:05Jadi, mengesploitasi,
1:35:07mengesploitasi,
1:35:09mengesploitasi...
1:35:11Serba salah.
1:35:13Oke, oke, oke.
1:35:15Oke, oke, oke.
1:35:17Ya, harusnya...
1:35:19Ngerti lah ya.
1:35:21Oke.
1:35:23Oke, pertanyaan terakhir, karena kita udah satu sejam setengah.
1:35:25Pertanyaan terakhir, pendapat
1:35:27teman-teman tentang tampilan mobil
1:35:29yang makin aneh-aneh.
1:35:31Layar lipat, Dynamic Island,
1:35:33gimana tuh?
1:35:35Kalau di Android,
1:35:37bakal ada
1:35:39antisipasi untuk layar lipat nggak?
1:35:41Udah.
1:35:43Udah ada.
1:35:45Super portable udah ada.
1:35:47Kita yang di web, kesusahan.
1:35:49Di web malah belum ya.
1:35:51Kita belum.
1:35:53Yang nasinya mana, ngadep mana. Mana atas, mana bawah.
1:35:55Kalau lagi dilipet.
1:35:57Yang tergantung lipetnya juga ya.
1:35:59Soalnya flip.
1:36:01Kayak anggapnya kayak flip.
1:36:03Itu kan dia dari...
1:36:05Atas bawah.
1:36:07Setengah gitu.
1:36:09Ada kalau yang fold, yang itu kan dia
1:36:11jadi kebuka.
1:36:13Jadi masih banyak banget sih, maksudnya.
1:36:15Secara jenis
1:36:17fold aja banyak tuh dia.
1:36:19Sebenernya dasarnya flip itu dulu
1:36:23ini nggak sih? Dasarnya itu dari RTL nggak sih?
1:36:25Right to left. Kan dulu
1:36:27awalnya right to left kan web
1:36:29juga udah ada si RTL kan.
1:36:31RTL support kan.
1:36:33Bisa dikembangin dari situ sih. Tapi nggak tahu sih
1:36:37di web udah ada atau belum.
1:36:39Cuma di Android udah ada ya.
1:36:41Support foldable, namanya
1:36:43foldable API
1:36:45gitu sih.
1:36:47Itu nambah kekerjaan seberapa besar?
1:36:49Kalau mau support itu.
1:36:51Secara logik gitu-gitu
1:36:53udah support itu belum?
1:36:55Belum sih. Gue belum ngalamin sih.
1:36:57Apalagi yang istilah
1:36:59Dynamic Island ini baru banget kan.
1:37:01Dan itu harus. Kalau yang ini
1:37:03Dynamic Island setelah gue harus pakai
1:37:05Xcode bener-bener yang latest.
1:37:07Versi 14.
1:37:09Masih jarang yang adopsi itu.
1:37:11Di bekerja.
1:37:13Iya. Mau beli
1:37:15barangnya aja masih belum banyak di Indonesia ya.
1:37:17Masih reorder.
1:37:19Ketua.
1:37:21Oke.
1:37:23Semakin aneh-aneh ya.
1:37:25Kalau web lebih susah lagi ya.
1:37:27Gimana caranya ya? Ya nantilah.
1:37:29Pasti ada.
1:37:31To web browser harus support API-nya
1:37:35dulu ya. Kasih tau dulu.
1:37:37Kalau multi-screen udah ada. Cuma
1:37:39kalau flip kan gak tau tuh.
1:37:41Diitung 2 screen atau bukan.
1:37:43Oh iya. Pas lagi bisa setengah.
1:37:45Jadi 2 screen atau pas bukan
1:37:47betul.
1:37:49Atau dianggap 1 malah nyambung.
1:37:51Nah sebenernya kalau web kan
1:37:53kayak kalau kita google slides ya.
1:37:55Presentasi, present view kan
1:37:57bisa 2 macam view kan.
1:37:59Misalnya yang 1 ditembak
1:38:01ke apa?
1:38:03Tembak ke projector.
1:38:05Itu yang cuma slide-nya.
1:38:07Tapi kalau di presenter view
1:38:09bisa ada speaker note sama timer-nya
1:38:11udah bisa kayak gitu.
1:38:13Cuma kan itu belum bisa
1:38:15specifically handle display yang
1:38:17aneh-aneh itu.
1:38:19Oke deh. Kalau gitu
1:38:23pertanyaannya juga sudah habis.
1:38:25Yang lain, ada pertanyaan-pertanyaan
1:38:27yang lain mungkin kita jawab
1:38:29ke lain waktu. Iya.
1:38:31Karena waktunya juga sudah
1:38:33overtime. Sudah lewat.
1:38:35Jadi, terima kasih banyak
1:38:37buat Andrew, buat Budi.
1:38:39Terima kasih.
1:38:41Monas,
1:38:43kalau ada kesalahan kata ya.
1:38:45Kali-kali ke depannya
1:38:47harus ada sensor cepat.
1:38:49Kayaknya harus ada sensor cepat.
1:38:51Harus ada tombol merah
1:38:53kalau saya dikit.
1:38:55Kali-kali kayaknya kita
1:38:57recorded aja ya.
1:38:59Seru lah.
1:39:03Seru lah ya.
1:39:05Aduh lucu banget.
1:39:07Mungkin nanti kapan-kapan mampir-mampir lagi ya.
1:39:11Di IG.
1:39:13Terima kasih.
1:39:15Terima kasih semuanya.
1:39:17Terima kasih juga teman-teman yang sudah
1:39:19bertanya.
1:39:21Jadi, buat
1:39:23teman-teman yang mau follow-follow
1:39:25bisa ke mana? Andrew atau Budi?
1:39:31Akurni.
1:39:33Akurni.
1:39:35Akurni.
1:39:37Oke, all social media
1:39:39gue semuanya sama.
1:39:41Pake nama lengkap yang ini ya.
1:39:43Ditambah huruf S
1:39:45atau tanpa huruf S, silahkan cari aja.
1:39:47Ada di Instagram, ada di Twitter.
1:39:49Tapi sekarang udah pada hebat lah.
1:39:51Bisa Google, misalnya nama kita juga keluar.
1:39:53Iya.
1:39:55Waduh, orang lain namanya sama.
1:39:57Waduh.
1:39:59Cari aja.
1:40:01Budi, Octavian, GDE, Android.
1:40:03Ya, gitu.
1:40:05Oke deh, kalau gitu
1:40:09saya Riza dan Eka, pamit.
1:40:11Kita ketemu lagi minggu depan.
1:40:13InsyaAllah. Sampai jumpa.
1:40:15Bye.
Suka episode ini?
Langganan untuk update episode terbaru setiap Selasa malam!
Episode Terkait
19 Mei 2026
Alat Desain AI - Ngobrolin WEB
🕸️ Selasa malam waktunya #ngobrolinweb Semenjak era AI, developer yang tadinya punya desiign skill issue mendadak bis...
12 Mei 2026
Bedah Web - Ngobrolin WEB
Berhubung banyak yang submit, malam ini kita akan kembali membedah beberapa situs. Penasaran gimana pendapat para pakar ...
5 Mei 2026
Zona Waktu - Ngobrolin WEB
Salah satu topik yang sebagian besar dari kita banyak tergocek nih. Pernah tergocek dengan urusan timezone, dan daylight...