7.2 Framework API¶
Framework adalah komponen penting dalam pengembangan aplikasi untuk memastikan efisiensi, konsistensi, dan skalabilitas. Pemilihan framework harus mempertimbangkan aspek teknis, performa, dan kemudahan pemeliharaan.
Kami memberikan rekomendasi framework yang sesuai dengan kebutuhan modern, tetapi tidak membatasi penggunaan framework tertentu selama memenuhi kriteria yang telah ditetapkan.
7.2.1 Ketentuan¶
7.2.1.1 Bahasa Pemrograman Versi Terbaru¶
Aplikasi wajib menggunakan versi terbaru atau yang masih didukung aktif dari bahasa pemrograman untuk memastikan keamanan dan performa optimal.
Contoh versi yang direkomendasikan:
- PHP: Minimal versi 8 atau lebih baru.
- Node.js: Minimal versi 20 atau lebih baru.
- TypeScript: Minimal versi 5 atau lebih baru.
- Python: Minimal versi 3.10 atau lebih baru.
- Go: Minimal versi 1.23 atau lebih baru.
7.2.1.2 Dukungan untuk Autentikasi¶
Framework yang digunakan wajib mendukung implementasi JWT Token dan OAuth 2.0 untuk autentikasi dan otorisasi, yang berfungsi untuk menjaga keamanan akses API.
7.2.1.3 Dokumentasi Otomatis¶
Framework harus mendukung dokumentasi otomatis berbasis OpenAPI (Swagger atau ReDoc), sehingga mempermudah pengembang dan pengguna API dalam memahami endpoint, parameter, dan respons.
7.2.1.4 Modularitas dan Ekstensibilitas¶
Framework harus mendukung arsitektur modular agar setiap komponen aplikasi dapat dikembangkan, diuji, atau dimodifikasi secara independen. Ekstensibilitas memastikan framework dapat disesuaikan dengan kebutuhan spesifik proyek.
7.2.1.5 Dukungan Komunitas dan Pembaruan¶
Framework yang digunakan harus memiliki komunitas yang aktif dan mendapat pembaruan berkelanjutan, sehingga aplikasi tetap aman dan kompatibel dengan teknologi terbaru.
7.2.1.6 Performansi Tinggi¶
Framework harus memiliki performansi yang andal untuk menangani aplikasi dengan skala besar, terutama untuk skenario API dengan permintaan tinggi.
7.2.2 Rekomendasi¶
Kami merekomendasikan FastAPI sebagai framework utama untuk pengembangan aplikasi berbasis Python karena memperharikan hal-hal sebagai berikut:
7.2.2.1 Dokumentasi Otomatis¶
FastAPI secara otomatis menghasilkan dokumentasi interaktif berbasis OpenAPI (Swagger/ReDoc) dari definisi endpoint, mempermudah kolaborasi antar tim pengembang dan pengguna API.
7.2.2.2 Mudah Dipelajari¶
Sintaks FastAPI yang sederhana dan berbasis tipe (type hints) membuatnya mudah dipelajari, bahkan untuk pengembang yang baru mengenal Python.
7.2.2.3 Performa Tinggi¶
Dibangun diatas ASGI (Asynchronous Server Gateway Interface) dan mendukung penggunaan async/await, FastAPI menawarkan performa tinggi setara dengan framework modern seperti Node.js atau Go.
7.2.2.4 Dukungan Komunitas¶
FastAPI memiliki komunitas aktif dengan ekosistem pendukung yang kaya, termasuk pustaka populer Python seperti SQLAlchemy, Pydantic, dan lainnya.
7.2.2.5 Skalabilitas¶
FastAPI dirancang untuk aplikasi modern yang membutuhkan skalabilitas tinggi dan arsitektur API yang robust.