Choosing the right tool for the job, saran bijak yang baik untuk kita ikuti di industri pengembangan perangkat lunak, terlebih lagi begitu banyaknya tech stack yang bisa kita pilih untuk digunakan dalam pekerjaan kita.
Apabila kita persempit lingkupnya, yakni tech stack untuk mengembangkan aplikasi web SPA, opsi tech stack yang digunakan masih sangat beragam. Misalnya:
- Frontend: ada Javascript dengan opsi Angular, React, Vue yang paling populer, atau Svelte dan Elm yang mulai dikenal
- Backend: ada Nodejs, go, Django, Laravel, Asp.net core dan lain-lain
Dengan begitu banyaknya opsi tech stack yang bisa kita gunakan, alangkah baiknya jika kita bisa memilih suatu tech stack karena mengetahui mana paling cocok digunakan, dibandingkan dengan memilih karena tech stack tersebut satu-satunya yang kita kuasai. Dan untuk bisa memilih yang paling cocok, kita perlu menguasai berbagai tech stack. Disinilah manfaat utama dari RealWorld, untuk memudahkan kita mempelajari berbagai tech stack .
RealWorld
RealWorld adalah aplikasi web blogging semacam medium.com namun lebih sederhana dan minimalis. Sebagai aplikasi web SPA, RealWorld terdiri dari aplikasi web Frontend dan aplikasi web Backend. RealWorld dibangun agar pengembang berlatih menggunakan suatu teknologi untuk membuat aplikasi web yang bertaraf production-ready, karena tutorial yang umumnya ada, seperti membuat Hello, World! atau TO-DO app dianggap kurang memberikan pengetahuan dan perspektif untuk itu.
Sudah banyak kontribusi dari komunitas open-source seluruh dunia untuk mengimplementasikan RealWorld dengan berbagai macam teknologi. Hampir semua teknologi populer sudah ada implementasinya atau work in progress.
Belajar dengan RealWorld
RealWorld sendiri sudah menyiapkan dokumentasi untuk pengembang jika ingin membuat dari nol, bisa dilihat di link ini. Tidak masalah jika Frontend atau Backend yang kita bangun sudah ada, justru bagus sebagai referensi kita jika menemui kendala. Kalo belum ada, menjadi kesempatan kita untuk berkontribusi juga dengan mengirimkan hasil pekerjaan kita untuk ditambahkan di README.md-nya RealWorld.
Untuk mempelajari berbagai tech stack dengan cara yang relatif lebih mudah dan cepat, pertama dimulai dengan implementasi RealWorld dengan tech stack yang sudah biasa digunakan, agar memiliki pemahaman atas logika bisnis aplikasinya. Selanjutnya barulah mencoba teknologi lain atau bahasa lain, dan akan lebih mudah karena logika bisnis dan struktur datanya sudah kita pahami karena pernah membuat hal yang sama sebelumnya. Kita tinggal mempelajari bagaimana karakteristik framework atau bahasa lain untuk mendapatkan hasil yang sama.
Penutup
Seiring semakin banyaknya tech stack yang dikuasai dan bertambahnya bahasa pemrograman yang dikuasai, sebagai pengembangan kita bisa menerapkan choosing the right tool for the job, dan itu adalah hal yang bijak dan profesional. Selamat mencoba!
Discussion