Ketika membahas peran pada pengembangan suatu aplikasi, sering kali kita mendengar peran Frontend Developer dan Backend Developer. Namun, ada satu lagi peran yang masih relevan dengan kedua hal tersebut, yaitu Full Stack Developer yang bertanggung jawab atas kedua hal tersebut. Menarik, bukan? Mari kita coba bahas tugas seorang Full Stack Developer.
Membangun UI
Sebagai full stack developer ada baiknya memiliki kemampuan untuk bisa membuat UI atau user interface dari aplikasi yang akan dibangun. Biasanya tahapan ini bersifat opsional karena pada beberapa kasus tertentu sudah ada tim lain yang menyediakannya, tetapi tidak jarang juga full stack developer yang membuatnya.
Membangun UI menjadi tahapan pertama karena tahapan ini menjadi gambaran awal dari aplikasi yang akan dibangun. Berangkat dari kebutuhan pengguna dan mengubahnya menjadi interface yang dapat digunakan oleh pengguna.
💻 Mulai Belajar Pemrograman
Belajar pemrograman di Dicoding Academy dan mulai perjalanan Anda sebagai developer profesional.
Daftar SekarangDi sisi lain, membangun UI terlebih dahulu dapat membantu ketika melakukan tahap pembangunan Frontend dan Backend. Pada tahap pembangunan Frontend kita tidak perlu memikirkan lagi terkait UI yang akan dibangun, cukup mengikuti UI yang sudah disusun sebelumnya. Lalu, pada tahap Backend, desain UI membantu kita untuk menentukan desain database dan skema API yang akan dikonsumsi oleh Frontend.
Pada tahapan ini, kita akan mulai dari menganalisis target pengguna, lalu membuat storyboard atau alur yang akan dilalui oleh pengguna hingga akhirnya akan menjadi desain yang bersifat high fidelity. Nah, kita dapat melakukan itu semua dengan mudah karena sudah ada kelas Dicoding yang membahas hal tersebut, yaitu kelas Belajar Dasar UX Design.
Membangun Backend
Setelah kita memiliki gambaran umum terkait aplikasi yang akan dibangun, saatnya kita membangun Backend. Mengapa Backend terlebih dahulu? Ada beberapa pendapat terkait ini, tetapi salah satunya adalah agar tidak mengerjakan dua kali ketika membangun Frontend. Maksudnya, jika Frontend terlebih dahulu dikerjakan, kita perlu melakukan integrasi kembali pada Frontend yang sudah dibangun sebelumnya setelah membangun Backend.
Ketika membangun backend, ada dua bagian besar, yaitu menyusun database dan membangun API yang nantinya akan dikonsumsi oleh Frontend. Untuk mempelajari ini semua, Dicoding sudah memiliki learning path khusus loh, kamu dapat mengaksesnya pada laman learning path backend.
Menyusun Database
Pada tahapan ini, kita akan membangun skema database yang nantinya akan digunakan untuk menyimpan data. Dalam menyusun database, kita dapat memanfaatkan 2 jenis database yang sering digunakan secara umum yaitu relational database (SQL) atau non-relational database (NoSQL).
Umumnya pada kebanyakan kasus, database jenis relational-lah yang banyak digunakan sehingga setiap tabel dapat memiliki relasi satu sama lain dan setiap kolom harus jelas tipe datanya. Berbeda dengan non-relational yang biasanya tidak memiliki relasi antar tabel seperti pada jenis relational dan tipe data yang digunakan jauh lebih dinamis.
Membangun API
Database sudah kita bangun, sekarang saatnya membuat agar data yang disimpan pada database bisa diakses oleh frontend, yaitu dengan membuat API sebagai penghubung antara frontend dengan database.
Ada beberapa jenis API, tetapi yang umumnya dibangun adalah jenis REST API. Nantinya, API akan berbentuk endpoint yang biasanya direpresentasikan seperti domain dan bisa di akses menggunakan keempat metode yaitu GET, POST, PUT dan DELETE.
Lalu, bahasa pemrograman apa yang harus digunakan? Ada banyak bahasa pemrograman yang bisa kita gunakan untuk membangun API, tetapi disarankan untuk awal menggunakan bahasa pemrograman JavaScript. Mengapa demikian? Agar bahasa pemrograman yang digunakan tidak berbeda jauh dengan bahasa pemrograman yang digunakan pada frontend.
Membangun Frontend
Sekarang saatnya membangun frontend, tahapan ini idealnya menjadi tahap terakhir karena hanya mengimplementasi desain UI yang sudah ada serta melakukan integrasi terhadap backend yang sudah dibangun.
Secara umum, ketika membangun frontend ada 2 tahapan besar yaitu melakukan implementasi desain UI atau biasa disebut slicing dan melakukan integrasi terhadap API yang disediakan oleh backend.
Dimulai dari slicing desain UI, kita bisa menyebutnya sebagai proses melakukan konversi dari desain statis yang tidak interaktif menjadi UI yang dapat berinteraksi dengan pengguna, melakukan aksi ketika ditekan, memberikan feedback ketika diberikan aksi, dan menyusun layout terhadap komponen-komponen yang dibuat. Selain itu, di beberapa kasus kita perlu juga untuk menyusun layout agar dapat beradaptasi sesuai dengan ukuran layar.
Selanjutnya adalah melakukan integrasi dengan backend. Tentunya ketika menampilkan data, kita ingin datanya dinamis berubah-ubah sesuai database alih-alih mengubahnya manual secara berkala. Maka dari itu, kita perlu mengonsumsi API yang sudah disediakan oleh backend agar data bisa bersifat dinamis.
Untuk membangun frontend, kita perlu menguasai HTML, CSS, dan JavaScript. Ketiga hal tersebut merupakan hal fundamental yang wajib dipahami ketika akan membangun frontend. Kalau kita kebingungan untuk memulai dari mana, tidak perlu khawatir karena Dicoding sudah memiliki learning path yang dapat memandu untuk belajar frontend yang bisa kamu cek pada laman learning path frontend.
Kesimpulan
Tugas seorang full stack developer utamanya adalah membangun frontend dan backend, tetapi ada baiknya kita memiliki kemampuan membangun desain UI karena terkadang hal tersebut menjadi tanggung jawab seorang full stack developer di beberapa kasus tertentu. Namun, tidak sampai sini, kita juga harus terus meningkatkan kemampuan agar bisa menjadi seorang full stack developer yang andal.