Apa itu API?

Anda mungkin pernah melihat istilah "API" muncul. Sistem operasi, penyemak imbas web, dan kemas kini aplikasi sering mengumumkan API baru untuk pembangun. Tetapi apa itu API?

Antara Muka Pengaturcaraan Aplikasi

Istilah API adalah singkatan, dan singkatan dari "Application Programming Interface."

Fikirkan API seperti menu di restoran. Menu menyediakan senarai hidangan yang boleh anda pesan, berserta penerangan setiap hidangan. Apabila anda menentukan item menu yang anda mahukan, dapur restoran berfungsi dan menyediakan beberapa hidangan siap. Anda tidak tahu betul bagaimana restoran menyediakan makanan itu, dan anda sebenarnya tidak perlu.

Begitu juga, API menyenaraikan sekumpulan operasi yang dapat digunakan oleh pembangun, bersama dengan penerangan tentang apa yang mereka lakukan. Pembangun tidak semestinya perlu mengetahui bagaimana, misalnya, sistem operasi membina dan membentangkan kotak dialog "Simpan Sebagai". Mereka hanya perlu tahu bahawa ia boleh digunakan dalam aplikasi mereka.

Ini bukan metafora yang sempurna, kerana pembangun mungkin harus memberikan data mereka sendiri ke API untuk mendapatkan hasilnya, jadi mungkin ini lebih seperti sebuah restoran mewah di mana anda dapat menyediakan beberapa bahan anda sendiri yang akan digunakan dapur.

Tetapi secara amnya tepat. API membolehkan pembangun menjimatkan masa dengan memanfaatkan pelaksanaan platform untuk melakukan kerja yang menarik. Ini membantu mengurangkan jumlah kod yang perlu dibuat oleh pembangun, dan juga membantu membuat lebih banyak ketekalan di semua aplikasi untuk platform yang sama. API dapat mengawal akses ke sumber perkakasan dan perisian.

API Menjadikan Hidup Lebih Mudah untuk Pembangun

Katakan anda mahu mengembangkan aplikasi untuk iPhone. Sistem operasi iOS Apple menyediakan sebilangan besar API - seperti yang dilakukan oleh semua sistem operasi lain - untuk menjadikannya lebih mudah bagi anda.

Sekiranya anda ingin menyematkan penyemak imbas web untuk menunjukkan satu atau lebih laman web, misalnya, anda tidak perlu memprogram penyemak imbas web anda sendiri dari awal hanya untuk aplikasi anda. Anda menggunakan WKWebView API untuk menyematkan objek penyemak imbas WebKit (Safari) dalam aplikasi anda.

Sekiranya anda ingin merakam foto atau video dari kamera iPhone, anda tidak perlu menulis antara muka kamera anda sendiri. Anda menggunakan API kamera untuk menyematkan kamera bawaan iPhone di aplikasi anda. Sekiranya API tidak ada untuk membuatnya mudah, pembangun aplikasi harus membuat perisian kamera mereka sendiri dan menafsirkan input perkakasan kamera. Tetapi pembangun sistem operasi Apple telah melakukan semua kerja keras ini sehingga para pembangun hanya dapat menggunakan API kamera untuk menyematkan kamera, dan kemudian terus membangun aplikasi mereka. Dan, ketika Apple meningkatkan API kamera, semua aplikasi yang bergantung padanya akan memanfaatkan peningkatan tersebut secara automatik.

Ini berlaku untuk setiap platform. Sebagai contoh, adakah anda ingin membuat kotak dialog pada Windows? Ada API untuk itu. Ingin menyokong pengesahan cap jari pada Android? Terdapat juga API untuk itu, jadi Anda tidak perlu menguji setiap sensor cap jari pengeluar Android yang berbeza. Pemaju tidak perlu mencipta semula roda berulang-ulang.

API Mengawal Akses ke Sumber

API juga digunakan untuk mengawal akses ke peranti perkakasan dan fungsi perisian yang tidak semestinya memiliki izin untuk digunakan oleh aplikasi. Itulah sebabnya API sering memainkan peranan besar dalam keselamatan.

BERKAITAN: Cara Menghentikan Laman Web daripada Meminta Lokasi Anda

Contohnya, jika anda pernah mengunjungi laman web dan melihat mesej di penyemak imbas anda bahawa laman web tersebut meminta untuk melihat lokasi tepat anda, laman web tersebut sedang berusaha menggunakan API geolokasi dalam penyemak imbas web anda. Penyemak imbas web memaparkan API seperti ini untuk memudahkan pembangun web mengakses lokasi anda — mereka hanya boleh bertanya "di mana anda?" dan penyemak imbas melakukan kerja keras untuk mengakses GPS atau rangkaian Wi-Fi berdekatan untuk mencari lokasi fizikal anda.

Namun, penyemak imbas juga mendedahkan maklumat ini melalui API kerana dapat mengawal akses ke dalamnya. Apabila laman web menginginkan akses ke lokasi fizikal anda yang tepat, satu-satunya cara mereka mendapatkannya adalah melalui API lokasi. Dan, apabila laman web cuba menggunakannya, anda — pengguna — dapat memilih untuk membenarkan atau menolak permintaan ini. Satu-satunya cara untuk mengakses sumber perkakasan seperti sensor GPS adalah melalui API, jadi penyemak imbas dapat mengawal akses ke perkakasan dan membatasi aplikasi yang dapat dilakukan.

Prinsip yang sama ini digunakan pada sistem operasi mudah alih moden seperti iOS dan Android, di mana aplikasi mudah alih mempunyai izin yang dapat ditegakkan dengan mengawal akses ke API. Sebagai contoh, jika pengembang cuba mengakses kamera melalui API kamera, anda boleh menolak permintaan kebenaran dan aplikasi tidak mempunyai cara untuk mengakses kamera peranti anda.

Sistem fail yang menggunakan izin — seperti yang berlaku pada Windows, Mac, dan Linux — memiliki izin tersebut yang diberlakukan oleh API sistem fail. Aplikasi biasa tidak mempunyai akses langsung ke cakera keras fizikal mentah. Sebaliknya, aplikasi mesti mengakses fail melalui API.

API Digunakan Untuk Komunikasi Antara Perkhidmatan

API juga digunakan untuk semua jenis alasan lain. Contohnya, jika anda pernah melihat objek Peta Google tertanam di laman web, laman web tersebut menggunakan API Peta Google untuk menyematkan peta tersebut. Google mendedahkan API seperti ini kepada pembangun web, yang kemudian dapat menggunakan API untuk menjatuhkan objek kompleks langsung di laman web mereka. Sekiranya API seperti ini tidak ada, pembangun mungkin harus membuat peta mereka sendiri dan memberikan data peta mereka sendiri hanya untuk meletakkan peta interaktif di laman web.

Dan, kerana ia adalah API, Google dapat mengawal akses ke Peta Google di laman web pihak ketiga, memastikan mereka menggunakannya dengan cara yang konsisten daripada berusaha menyematkan bingkai yang menunjukkan laman web Peta Google dengan tidak kemas.

Ini berlaku untuk banyak perkhidmatan dalam talian yang berbeza. Terdapat API untuk meminta terjemahan teks dari Google Translate, atau memasukkan komen atau tweet Facebook dari Twitter di laman web.

BERKAITAN: Apa itu OAuth? Bagaimana Butang Log Masuk Facebook, Twitter, dan Google Berfungsi

Piawaian OAuth juga menentukan sebilangan API yang membolehkan anda masuk ke laman web dengan perkhidmatan lain — misalnya, untuk menggunakan akaun Facebook, Google, atau Twitter anda untuk masuk ke laman web baru tanpa membuat akaun pengguna baru hanya untuk laman web tersebut . API adalah kontrak standard yang menentukan bagaimana pembangun berkomunikasi dengan perkhidmatan, dan jenis output yang diharapkan dapat diterima oleh pemaju.

Sekiranya anda berjaya melalui ini, anda akan mempunyai idea yang lebih baik tentang apa itu API. Pada akhirnya, anda tidak perlu tahu apa itu API kecuali anda seorang pembangun. Tetapi, jika anda melihat platform atau perkhidmatan perisian telah menambahkan API baru untuk pelbagai perkakasan atau perkhidmatan, semestinya lebih mudah bagi pembangun untuk memanfaatkan ciri tersebut.

Kredit Imej: patpitchaya / Shutterstock.com.