Coconote
AI notes
AI voice & video notes
Export note
Try for free
Tantangan dan Rekomendasi untuk API SDK
Aug 20, 2024
Catatan Kuliah tentang SDK dan API Client
Pendahuluan
Penjelasan tentang ketidaksukaan penulis dalam membuat API client atau SDK.
Diskusi mengenai permintaan integrasi API dan SDK dari klien.
Contoh Kasus: Payment Gateway
Contoh aplikasi: Payment Gateway.
Klien mengintegrasi menggunakan berbagai teknologi (PHP, Java, Node.js, dsb).
Penulis mencatat praktik umum perusahaan dalam menyediakan SDK untuk berbagai bahasa pemrograman.
Masalah yang Dihadapi
1. Banyak Teknologi yang Harus Disiapkan
Banyaknya bahasa pemrograman yang perlu didukung:
Java
PHP
Node.js
Golang
Python
Konten library SDK seringkali sederhana (request JSON, respons, HTTP client).
2. Duplikasi Kode
Semua developer seharusnya sudah tahu cara membuat request, respons, dan HTTP client.
Penyediaan library SDK dianggap sebagai duplikasi kode.
3. Variasi HTTP Client
Beragam pilihan library HTTP client:
Node.js: Axios, Fetch, dll.
Java: Apache Commons HTTP, Retrofit, dll.
Kesulitan dalam menentukan library yang tepat.
4. Masalah Versi
Kesesuaian versi library antara SDK dan yang digunakan klien (misal: Apache Commons HTTP versi 1 vs versi 2).
Tantangan dalam menjaga versi agar tetap kompatibel.
5. Penanganan Bug
Risiko jika terjadi bug di SDK (misal: memory leak):
Harus meminta klien untuk mengupgrade.
Tantangan dalam mengomunikasikan perubahan kepada semua klien.
Rekomendasi
Alih-alih membuat SDK, fokus pada pembuatan dokumentasi API:
Menggunakan Open API untuk dokumentasi.
Buat halaman Markdown untuk deskripsi request dan respons.
Manfaat dari pembuatan dokumentasi:
Klien dapat menghasilkan kode mereka sendiri dari spesifikasi Open API.
Memberikan kebebasan kepada klien untuk memilih teknologi yang mereka gunakan.
Kesimpulan
Penulis menyarankan untuk tidak membuat API client atau SDK karena kompleksitas dan pemeliharaan yang dibutuhkan.
Lebih baik fokus pada dokumentasi API yang jelas, yang memungkinkan klien untuk menggunakan library mereka sendiri.
📄
Full transcript