Anda mungkin sudah melihat istilah "API" muncul. Sistem operasi, browser web, dan pembaruan aplikasi sering mengumumkan API baru untuk pengembang. Tapi apa itu API?
Istilah API adalah akronim, dan singkatan dari "Application Programming Interface."
Pikirkan API seperti menu di restoran. Menu menyediakan daftar hidangan yang dapat Anda pesan, bersama dengan deskripsi setiap hidangan. Ketika Anda menentukan item menu apa yang Anda inginkan, dapur restoran melakukan pekerjaan dan memberi Anda beberapa hidangan yang sudah jadi. Anda tidak tahu persis bagaimana restoran menyiapkan makanan itu, dan Anda tidak benar-benar perlu.
Demikian pula, sebuah daftar API sekelompok operasi yang dapat digunakan pengembang, bersama dengan deskripsi tentang apa yang mereka lakukan. Pengembang tidak perlu tahu bagaimana, misalnya, sistem operasi membangun dan menyajikan kotak dialog "Save As". Mereka hanya perlu tahu bahwa itu tersedia untuk digunakan di aplikasi mereka.
Ini bukan metafora yang sempurna, karena pengembang mungkin harus menyediakan data mereka sendiri ke API untuk mendapatkan hasilnya, jadi mungkin itu lebih seperti restoran mewah di mana Anda dapat menyediakan beberapa bahan Anda sendiri yang akan digunakan dapur.
Tapi ini sangat akurat. API memungkinkan pengembang untuk menghemat waktu dengan memanfaatkan implementasi platform untuk melakukan pekerjaan seluk beluk. Ini membantu mengurangi jumlah pengembang kode yang perlu dibuat, dan juga membantu menciptakan lebih banyak konsistensi di seluruh aplikasi untuk platform yang sama. API dapat mengontrol akses ke sumber daya perangkat keras dan perangkat lunak.
Katakanlah Anda ingin mengembangkan aplikasi untuk iPhone. Sistem operasi Apple iOS menyediakan sejumlah besar API -sebagai setiap sistem operasi lain-untuk membuat ini lebih mudah pada Anda.
Jika Anda ingin menanamkan browser web untuk menampilkan satu atau lebih halaman web, misalnya, Anda tidak perlu memprogram browser web Anda sendiri dari awal hanya untuk aplikasi Anda. Anda menggunakan API WKWebView untuk menanamkan objek browser WebKit (Safari) di aplikasi Anda.
Jika Anda ingin mengambil foto atau video dari kamera iPhone, Anda tidak perlu menulis antarmuka kamera Anda sendiri. Anda menggunakan API kamera untuk menanamkan kamera bawaan iPhone di aplikasi Anda. Jika API tidak ada untuk mempermudah, pengembang aplikasi harus membuat perangkat lunak kamera mereka sendiri dan menginterpretasikan masukan perangkat keras kamera. Tetapi para pengembang sistem operasi Apple telah melakukan semua kerja keras ini sehingga para pengembang hanya dapat menggunakan API kamera untuk menanamkan kamera, dan kemudian melanjutkan dengan membangun aplikasi mereka. Dan, ketika Apple meningkatkan API kamera, semua aplikasi yang mengandalkannya akan memanfaatkan peningkatan itu secara otomatis.
Ini berlaku untuk setiap platform. Misalnya, apakah Anda ingin membuat kotak dialog di Windows? Ada API untuk itu. Ingin mendukung autentikasi sidik jari di Android? Ada API untuk itu juga, jadi Anda tidak perlu menguji setiap sensor sidik jari produsen Android yang berbeda. Pengembang tidak harus menemukan kembali kemudi berulang kali.
API juga digunakan untuk mengontrol akses ke perangkat keras dan fungsi perangkat lunak yang mungkin tidak memiliki izin untuk menggunakan aplikasi. Itulah mengapa API sering memainkan peran besar dalam keamanan.
Misalnya, jika Anda pernah mengunjungi situs web dan melihat pesan di browser Anda bahwa situs web meminta untuk melihat lokasi Anda yang tepat, situs web tersebut mencoba menggunakan geolokasi API di browser web Anda. Peramban web mengekspos API seperti ini untuk memudahkan pengembang web mengakses lokasi Anda-mereka hanya dapat bertanya "di mana Anda?" Dan peramban melakukan kerja keras mengakses GPS atau jaringan Wi-Fi terdekat untuk menemukan lokasi fisik Anda.
Namun, browser juga memaparkan informasi ini melalui API karena memungkinkan untuk mengontrol akses ke sana. Ketika sebuah situs web menginginkan akses ke lokasi fisik Anda, satu-satunya cara mereka mendapatkannya adalah melalui API lokasi. Dan, ketika sebuah situs web mencoba menggunakannya, Anda-pengguna dapat memilih untuk mengizinkan atau menolak permintaan ini. Satu-satunya cara untuk mengakses sumber daya perangkat keras seperti sensor GPS adalah melalui API, sehingga peramban dapat mengontrol akses ke perangkat keras dan membatasi aplikasi apa yang dapat dilakukan.
Prinsip yang sama ini digunakan pada sistem operasi seluler modern seperti iOS dan Android, di mana aplikasi seluler memiliki izin yang dapat diberlakukan dengan mengontrol akses ke API. Misalnya, jika pengembang mencoba mengakses kamera melalui API kamera, Anda dapat menolak permintaan izin dan aplikasi tidak memiliki cara mengakses kamera perangkat Anda.
Sistem file yang menggunakan izin-seperti yang mereka lakukan pada Windows, Mac, dan Linux-memiliki izin yang diberlakukan oleh API sistem file. Aplikasi tipikal tidak memiliki akses langsung ke hard disk fisik mentah. Sebagai gantinya, aplikasi harus mengakses file melalui API.
API digunakan untuk semua jenis alasan lain juga. Misalnya, jika Anda pernah melihat objek Google Maps yang disematkan di situs web, situs web itu menggunakan Google Maps API untuk menyematkan peta itu. Google mengekspos API seperti ini kepada pengembang web, yang kemudian dapat menggunakan API untuk memasang objek yang kompleks tepat di situs web mereka. Jika API seperti ini tidak ada, pengembang mungkin harus membuat peta mereka sendiri dan memberikan data peta mereka sendiri hanya untuk menempatkan peta interaktif kecil di situs web.
Dan, karena ini adalah API, Google dapat mengontrol akses ke Google Maps di situs web pihak ketiga, memastikan mereka menggunakannya dengan cara yang konsisten daripada mencoba untuk dengan sengaja menanamkan bingkai yang menunjukkan situs web Google Maps, misalnya.
Ini berlaku untuk banyak layanan online yang berbeda. Ada API untuk meminta terjemahan teks dari Google Translate, atau menanamkan komentar Facebook atau tweet dari Twitter di situs web.
Standar OAuth juga mendefinisikan sejumlah API yang memungkinkan Anda untuk masuk ke situs web dengan layanan lain-misalnya, untuk menggunakan akun Facebook, Google, atau Twitter Anda untuk masuk ke situs web baru tanpa membuat akun pengguna baru hanya untuk situs itu . API adalah kontrak standar yang menentukan bagaimana pengembang berkomunikasi dengan layanan, dan jenis output yang diharapkan oleh pengembang untuk menerima kembali.
Jika Anda berhasil melewati ini, Anda akan memiliki gagasan yang lebih baik tentang apa itu API. Pada akhirnya, Anda tidak benar-benar perlu tahu apa itu API kecuali Anda seorang pengembang. Namun, jika Anda melihat platform atau layanan perangkat lunak telah menambahkan API baru untuk berbagai perangkat keras atau layanan, akan lebih mudah bagi pengembang untuk memanfaatkan fitur tersebut.
Kredit Gambar: patpitchaya / Shutterstock.com.