Skip to main content

Posts

Showing posts from January, 2021

Jumping to Flutter's wagon while it's still young

Setelah merasakan learning curve yang cukup nyaman dalam belajar coding di React Native, sore ini saya memutuskan untuk melompat ke gerobak Flutter, khususnya mengingat usia Flutter yang masih sangat muda: 2 tahun. OK, sebelum mencoba Flutter, saya harus melakukan instalasi beberapa program terlebih dahulu. Android Studio + Android SDK (yang sudah terinstall, jadi aman dan bisa di skip) Flutter SDK (ukurannya sekitar 138.4 MB saat saya install ini) Flutter dan Dart Plugin di dalam Android Studio (nah, ini yang akan saya bahas kali ini karena meskipun sudah diinstall, flutter doctor menganggap bahwa saya belum install dua plugin ini) Flutter dan Dart extension di VSCode (yang saat ini jadi code editor favorit. Btw, saya jauh lebih suka develop di VSCode dibandingkan develop langsung di Android Studio lebih karena: a. saya tidak bisa Java, b. Android Studio sangat berat dijalankan dibandingkan VSCode di MBP saya yg jadul, mid-2009, sy belinya pun second haha.. laptop 11 tahun jan

TouchableOpacity tidak bisa diklik saat didalamnya hanya berisi Icon

Kali ini saya dibikin pusing oleh bug ini dalam kode saya. Biasanya tak pernah ada masalah saat membuat button dengan TouchableOpacity , namun kali ini saat membuat button untuk menampilkan Modal yang didalamnya berisi komponen {RNCamera} untuk mengakses fitur kamera secara native, saya tidak berhasil. Lama saya mengutak-atik dengan mengubah width dan height pada style-nya, namun tidak membuahkan hasil. Setelah lewat beberapa hari, barulah terpikirkan untuk mencoba melakukan setting state berupa "true" pada variable "isVisible" , sehingga Modal langsung visible/terlihat saat screen/halaman atau komponen yang bermasalah tersebut diakses. Ternyata, saat initial state disetting menjadi true, Modal yang di dalamnya berisi komponen camera dapat tampil tanpa masalah. Berarti masalahnya bukan pada elemen Modal-nya, namun pada tombolnya. Barulah setelah saya mencoba comment out baris kode <Icon /> dan mencoba menggantinya dengan <Text> komponen, saya menjad

Cara menggunakan useState atau Hooks untuk update data di dalam React Native Function Component

Nah, ini juga salah satu konsep sangat penting di dalam React Native world yang mau tidak mau wajib dikuasai. Saya sempat bingung dan kesulitan memahami konsep dan prinsip kerja useState atau Hooks ini pada awalnya. Meskipun demikian sedikit demi sedikit sepertinya saya mulai sedikit memahami prinsip dan cara kerjanya. Hooks hanya akan kita temukan di dalam versi React yang baru. Tadinya denger-denger component lifecycle (perubahan state / kondisi data) hanya bisa dilakukan di dalam class Component .  Sedangkan functional component pada awalnya hanya bersifat statis dan dibuat untuk keperluan mengatur tampilan saja. Namun pada perkembangannya dibuatlah " hooks " yang membuat functional component yang tadinya stateless component (komponen yang tidak bisa digunakan untuk mengatur state / kondisi data seperti updating data dsb) menjadi komponen yang bisa memiliki kemampuan mengatur state data. Ini dimungkinkan dengan penggunaan {useState} yang terdapat di dalam library Rea

Bagaimana cara passing/oper data antarkomponen dalam React Native

Sebagai seorang pemula ( novice ) dalam Javascript dan React khususnya React Native, satu hal yang cukup membingungkan bagi saya saat belajar React Native muncul dari bagaimana sih cara passing atau mengoper data dari satu komponen ke komponen lain? Flow atau aliran data dari satu komponen ke komponen lain ini salah satu hal yang sangat penting di dalam React Native. Pasalnya dengan karakteristik framework (atau developer React menyebutnya library) ini adalah bahwa building blocks -nya / unit pembentuknya adalah komponen, artinya data yang diinput user dan data yang ditampilkan semua diolah melalui suatu komponen. Jadi pemahaman aliran data dan keterampilan penerapannya di dalam komponen ini jadi penting jika ingin menguasai React Native. Nah, sebagai pemula yang datang dari dunia Python (masih ada kemiripan dengan Javascript, jadi ini memudahkan saya) dan Flask yang pendekatannya berbasis MVC, belajar menangkap data dan mengalirkannya dari satu komponen ke komponen lain menjadi sa

Urutan Komponen di React Native mempengaruhi posisi ("urutan layer") nya pada saat rendering

Hal ini sangat simple sebenarnya.  Saat mengerjakan project latihan untuk kelas project React Native Indonesia Mengoding Intensive online coding Bootcamp yang diadakan Sanbercode, saya menemui kendala yaitu overlay tab tertutup oleh Flatlist/Carousel meskipun sudah diset elevationnya.     Usut punya usut, ternyata masalahnya sepele. Setelah membaca artikel ini , ternyata jika kita membuat part dari komponen itu diposisikan secara absolute , maka meskipun elevation dan zIndex kita setting di dalam stylenya, tetap yang akan mempengaruhi posisi komponen pada layer adalah urutan kita meletakkan kodenya. Jika kode ditulis lebih dahulu, maka di dalam layer dia akan dianggap behind/dibawah komponen lain yang dituliskan setelahnya. Ok.. semoga bermanfaat!

Unprintable Interface Error object pada flask-sqlalchemy

Ini adalah salah satu error yang membuat saya cukup stuck . Frustasi menjelajahi StackOverflow tapi lama tidak menemukan jawaban yang pas (atau mungkin saya yang tidak paham bahwa jawaban itu sudah ada di depan mata). Untung saya punya strategi. Kalau saya stuck di satu project, saya pindah mengerjakan project lain, sambil menunggu barangkali ada ilham berupa solusi untuk bug di kode saya. Ini jadi semacam refreshing untuk saya karena tema dan problem solving -nya berbeda. Saya ketemu bug ini di kode saya saat mengembangkan aplikasi web untuk gamifikasi salah satu mata kuliah di kampus. Pandemi yang kayak gini mau nggak mau memaksa kita berinovasi, toh? Pas lagi semangat-semangatnya, malah terbentur bug ini. Gara-gara ini pula saya libur mengerjakan project itu lebih dari seminggu. Tapi tentu saja saya ganti mengerjakan project lain sambil sibuk intensive coding bootcamp juga di salah satu tempat kursus pemrograman favorit (udah murah, belajarnya sebulan, ilmunya daging, khususnya

Make it rough, make it works, and start fast

Tahun 2020 adalah tahun yang berat. Selain karena dunia dilanda pandemi dan ekonomi melambat, tahun ini adalah tahun dimana saya mulai kembali menekuni belajar coding. Berat, karena saya tidak memiliki latar belakang formal pendidikan IT. Tapi ringan, karena entah kenapa saya punya passion untuk itu. Kalau ditilik ke belakang, mungkin banyak sekali kekeliruan dalam cara saya mempelajari skill ini. Tak heran, butuh waktu sekian tahun (kalau tidak boleh dibilang 20-an tahun) belajar, namun gelas saya rasanya masih lebih sering kosong. Selain kesalahan prinsipil dalam urutan belajar (memilih apa yang dipelajari lebih dulu) seringkali pengetahuan saya akhirnya terbentuk dari kekeliruan-kekeliruan lebih kecil yang melibatkan kesalahan kode (bug). Untuk itu saya memutuskan membuat blog ini, sekedar untuk mwndokumentasikan kekeliruan-kekeliruan tersebut dan bagaimana saya menemukan solusinya dari berbagai artikel di internet. Selain ini berguna untuk saya sendiri karena menjadi kumpulan snipp