post-image

Pengalaman Saya Waktu Pindah Framework Dari Angular ke React

23 Oktober 2022

Explicit

Read in English
Share on Twitter

Table of contents

Disclaimer

Seperti artikel saya sebelumnya, artikel ini dibuat berdasarkan pengalaman saya pribadi sebagai frontend engineer. Mungkin teman-teman pembaca memiliki konteks atau testimoni berbeda, tetapi setidaknya semoga ini bisa menjadi referensi baru bagi teman-teman pembaca sekalian.

Pendahuluan

Cerita dimulai ketika saya bekerja sebagai frontend engineer di tempat kerja saya yang pertama. Saat itu saya masih harus menggunakan Angular. Awalnya, sebagai fresh graduate saat itu biasa saja, tetapi semua berubah ketika menjelang pertengahan tahun 2021 lalu saya melihat kebanyakan lowongan pekerjaan menuntut kandidat untuk menguasai React sebagai tech stack utama. Saya yang awalnya saat itu ingin resign dan pindah kantor harus urung niat terlebih dahulu dan manuver ke React.

Tidak hanya itu yang menjadi alasan utama saya untuk pindah ke React. Ketika melakukan troubleshooting atau debugging, tentunya seringkali saya harus berlama-lama googling untuk menemukan jawaban yang saya butuhkan ketika saya menggunakan Angular. Berbeda ketika saya menggunakan React, entah kenapa setiap kali mengalami issue, dengan mudah dan cepatnya saya bisa menemukan jawaban lewat Stackoverflow atau forum Github.

Sebenarnya, kebanyakan frontend framework masih menggunakan Javascript (atau Typescript) di dalam codebase mereka. Perbedaan utama dari setiap framework sebenarnya adalah approach yang diimplementasikan di framework tersebut.

Kurang lebih, inilah yang saya lakukan untuk tetap bisa beradaptasi dengan perkembangan dan perubahan framework yang ada. Tentunya saya pribadi masih melakukan ini karena banyak hal yang perlu saya dalami lebih lanjut, bahkan ada yang masih saya belum mengerti walaupun cukup sering menggunakannya, hahaha. Semoga ini bisa membantu.

Kembali ke Fundamental

React, Angular, Vue, dan Svelte sebenarnya masih menggunakan Javascript sebagai bahasa pemrograman yang membentuk framework itu semua. Seperti yang pernah saya sebutkan di bagian sebelumnya, sebenarnya perbedaan mencoloknya hanya masalah pendekatan yang dilakukan. Tentunya, akan lebih baik jika sudah memiliki fundamental yang baik sebelum mempelajari suatu framework.

Framework berubah sangat cepat, bahkan dalam hitungan bulan bisa ada framework atau update baru, tak jarang saya juga harus belajar ulang kalau ada perubahan yang sifatnya mayor. Nah bahayanya apabila melewatkan hal fundamental, akan kesulitan sendiri ketika belajar suatu framework. Berbeda apabila sudah menguasai dasar-dasar Javascript lalu belajar React misalnya, tentunya akan lebih mudah dan cepat paham karena React kebanyakan menggunakan syntax dasar Javascript.

Kalau pengalaman saya pribadi ketika pindah ke React, saya belajar ulang Javascript karena React sendiri masih menggunakan syntax dan logic Javascript. Berbeda sekali ketika saya menggunakan Angular, hampir semua page, component, atau service bisa dengan mudah di-generate dengan CLI. Nah di React, rupanya tidak ada aturan baku yang membuat saya harus membuat config dan arsitektur project secara custom.

Beruntung ada situs freecodecamp.org dan hackerrank.com yang menurut saya cukup membantu. Saya bisa kembali mempelajari kembali dasar-dasar syntax Javascript dan mengasah kemampuan problem-solving saya.

Learn The Framework Philosophy

Ini menurut saya yang sangat penting setelah belajar dasar-dasarnya. Sebelum terjun ke sebuah framework, pelajari dahulu approach dan filosofi di balik framework tersebut. Kalau perlu, follow akun twitter dari pembuat framework tersebut. Kenapa? Kamu harus tahu bagaimana framework itu bekerja, kenapa penciptanya mau membuat framework itu, dan apa masalah yang ingin diselesaikan lewat framework yang ia buat.

Sebenarnya, saya pribadi sempat melewatkan ini bahkan selama 3 bulan lebih ketika terjun ke React, hahaha. Alhasil ketika menghadapi issue tertentu, saya harus berlama-lama googling untuk menemukan jawabannya. Seringkali saya juga tidak sadar membuat kode yang “kotor” karena saya saat itu tidak tahu apa best practice dan yang semestinya dilakukan.

Beruntung saya follow akun twitter dari Theodorus Clarence yang meskipun masih mahasiswa, tetapi sangat luar biasa dia bisa membuat arikel dan tweet yang memuat dasar-dasar React (dan Next.js). Bahkan tak jarang saya juga baru memahami dasar-dasar React ketika membaca artikel miliknya, hahaha. Kenapa gak dari dulu ya, haduh....

Saran saya, gunakan media sosial seperti Twitter untuk follow akun-akun seperti dia. Tentunya kamu juga akan bisa mendapatkan insight baru lewat artikel atau bahkan tweet singkat mereka.

Seorang teman saya juga memberikan sebuah Github repository yang memuat penjelasan lengkap terkait filosofi React. Bisa diakses di React Philosophies. Saya pun belum memahami semuanya, masih banyak yang belum saya mengerti, tetapi setidaknya ini cukup membantu saya mengimplementasikan best practice yang bisa saya terapkan sendiri.

Buat Project

Perlu diingat, programming itu adalah problem-solving. Kamu tidak bisa belajar programming hanya dengan menonton tutorial di Youtube. Kamu harus coba sendiri.

Seperti yang pernah saya katakan di artikel sebelumnya, tidak perlu harus sampai membuat project yang complex. Cukup buat yang simpel dan bahkan bisa kamu gunakan sendiri.

Sebagai contoh, saya pernah membuat simple food app using React + Line Frontend Framework (LIFF) app. Sebenarnya web itu hanya mengirimkan makanan yang telah dipilih lewat LINE Chat saja, hahaha. Tetapi justru karena project ini saya jadi sedikit tahu bagaimana cara LIFF bekerja dan penggunaannya secara umum.

Ada sebuah istilah yang bernama “Tutorial Hell”. Nah ini seringkali terjadi ketika seseorang mempelajari sesuatu lalu merasa paham dengan apa yang dipelajarinya. Namun ketika ingin mengimplementasikannya, malah kebingungan sendiri. Saya pernah mengalami ini, tetapi saya bisa mengatasinya dengan cara langsung membuat mini personal project menggunakan framework yang saya ingin kuasai.

Dibandingkan belajar [sesuatu], lebih baik buatlah sesuatu dengan hal yang ingin kamu kuasai. Sebagai contoh, dibandingkan belajar React saja, lebih baik coba buat project menggunakan React. Seringkali dengan praktek langsung, pemahaman yang terbentuk bisa lebih dalam dibandingkan hanya sekedar melihat saja.

Code Reviews

Nah selesai buat project nih, jangan berhenti di sana saja. Review kembali sendiri atau minta temanmu untuk review kode yang telah kamu buat. Perlu diingat bahwa setiap programmer memiliki blindspot masing-masing, sehingga pasti ada saja hal-hal yang terlewatkan ketika membangun suatu project.

Saya ingat sekali ketika saya mengerjakan project freelance pertama menggunakan React, saya selalu meminta rekan setim saya untuk review kodingan milik saya sebelum merge ke Gitlab Repository. Waktu itu, kode saya sebenarnya biasa saja dan berfungsi dengan baik. Tetapi, seringkali teman saja bisa-bisanya menemukan bagian-bagian yang harusnya bisa di-improve atau dibuat lebih readable.

Mungkin sebagian ada yang bertanya-tanya, gimana caranya sih untuk bikin kodingan yang berkualitas (clean code)? Menurut saya, dengan rutin melakukan code review itu akan sangat membantu. Pengalaman tidak pernah bohong, seringkali seseorang baru mengetahui hal yang semestinya dilakukan ketika melihat atau mengalami yang salah terlebih dahulu.

Penutup

Ya inilah pengalaman saya ketika saya hijrah ke React. Mungkin ada teman-teman pembaca yang mempunyai konteks atau testimoni berbeda, tetapi setidaknya ini bisa menginspirasi bahkan membantu teman-teman ketika mau hijrah ke bahasa pemrograman atau framework lain. Apabila ada yang ingin didiskusikan lebih lanjut, boleh tuliskan di kolom komentar ya.

Back To Articles Page
Home
Projects
Articles
About Me