Perkenalkan, saya seorang programmer otodidak yang ingin berbagi pengalaman dalam membangun web aplikasi. Dari berbagai bidang yang saya pelajari seperti desain grafis, video editing, music production, software development, dan lainnya, menurut saya, pengembangan software adalah yang paling menantang. Prosesnya panjang dan melibatkan banyak hal yang harus dipelajari. Berdasarkan pengalaman saya, berikut adalah rangkuman perjalanan belajar dan produksi yang saya lalui:
Proses Belajar:
- Memilih dan mempelajari bahasa SQL (MSSQL/MYSQL/POSTGRE).
- Memilih dan mempelajari bahasa pemrograman untuk backend (PYTHON/PHP/.NET/JAVA).
- Memilih dan mempelajari satu framework untuk backend (LARAVEL/FLASK/DJANGO/SPRING, dll).
- Mempelajari dasar-dasar yang diperlukan untuk frontend (HTML, CSS, JavaScript).
- Memilih dan mempelajari satu framework untuk frontend (REACT/VUE/ANGULAR/FLUTTER, dll).
Proses Produksi:
Backend + Database:
- Menggunakan Python dengan framework Flask.
- Memilih SQLAlchemy sebagai ORM untuk query dan koneksi ke database.
- Menggunakan fitur migrasi agar semua query dan model dapat dilakukan di backend, sehingga RDBMS yang digunakan bisa bervariasi.
- Membuat struktur model otentikasi (users, roles, permission, dll).
- Membuat middleware untuk otentikasi (termasuk JWT).
- Menyiapkan routing dan endpoint Flask, serta merespons dengan format JSON agar dapat dikonsumsi oleh aplikasi frontend.
- Membuat dokumentasi API menggunakan Swagger untuk memudahkan kolaborasi dengan tim frontend.
- Dan masih banyak lagi…
Frontend:
- Memilih template yang responsif sesuai dengan framework yang dipilih, misalnya React.js.
- Menyesuaikan aset dan properti statis awal (logo, warna, nama aplikasi, hak cipta, warna dasar, dll).
- Mengonfigurasi interceptor Axios untuk mekanisme HTTP request ke API backend.
- Membuat state management menggunakan Redux untuk mengelola data dengan efisien dan memungkinkan data digunakan oleh komponen lain.
- Mengembangkan berbagai halaman CRUD, mulai dari tabel data yang menampilkan data, filtering, dan pagination.
- Menyesuaikan tabel sesuai kebutuhan, apakah perlu server-side rendering atau tidak.
- Mengatur hak akses terhadap tombol edit/delete/tambah pada tabel.
- Menyesuaikan kolom-kolom yang ditampilkan sesuai dengan jenis dan formatnya.
- Mengembangkan halaman atau modal untuk edit/tambah dengan formulir yang memiliki jenis input dan aturan yang berbeda-beda.
- Mengimplementasikan mekanisme untuk input yang saling berkaitan satu sama lain.
- Dan masih banyak lagi…
Membangun aplikasi dari awal memang sangat melelahkan. Biasanya, saya mengandalkan copy-paste dari kode sumber lama untuk mempercepat proses. Namun, terkadang, saya harus mengganti template, menyesuaikan teknologi terbaru, atau bahasa pemrograman yang mengharuskan membangun aplikasi dari awal.
Di era yang serba otomatis dengan teknologi AI ini, sangat melelahkan bagi developer frontend maupun backend untuk terus membangun aplikasi dari nol seperti yang saya alami. Lebih baik waktu tersebut digunakan untuk mempelajari hal lain yang sedang tren, seperti LLMs, Machine Learning, SEO optimizer, dan sebagainya. Teknologi AI terus berkembang pesat di tahun 2024 ini.
Berdasarkan pengalaman tersebut, dan dengan dukungan instansi tempat saya bekerja, kami telah menciptakan sebuah CMS/Framework/Tools/Source bernama “Saba Framework” untuk membantu developer backend dan frontend agar lebih cepat dan mudah dalam produksi web app, tanpa harus belajar dari awal.
Perlu dicatat, Saba Framework bukan untuk menggantikan proses belajar dasar pemrograman yang seharusnya dikuasai. Namun, seperti yang saya sebutkan tadi, lebih baik waktunya digunakan untuk mempelajari hal lain yang lebih relevan dengan perkembangan zaman.
Saba Framework tersedia dalam dua versi: versi frontend yang dibangun menggunakan React.js, dan versi backend yang dibangun menggunakan Python (Flask). Kami merancang Saba Framework agar se-fleksibel mungkin, terutama untuk frontend, dengan berbagai kondisi form, tabel, dan lainnya.
Untuk informasi lebih lanjut tentang Saba Framework, silakan kunjungi tautan berikut:
Top comments (0)