Kategoriler
Kodlama

API nedir?

API hakkında bazı düşünceler. Nedir, ne değildir, neden olmalı vs.

Yazılım sektörüne hevesli herhangi yeni biri, bir geliştirici veya ürün yöneticisi, eninde sonunda API terimi ile karşılaşacaktır ve bu kısaltmanın tam anlamı sorulduğunda, birçok sallama ve genel ifadelerle karışacaklardır. Peki API tam olarak aslında nedir?

API tam olarak nedir?

API açılımı; – “Application Programming Interface” yani Türkçeye çevirirsek tam olarak; “Uygulama Programlama Arayüzü” şeklinde.

Resmi olarak API- açılımı Application Programming Interface, ama bu bir şey açıklamak değil, sadece kısaltmanın açılıdır? Sanırım bu yazımı okumanızdaki amaç “gerçekten tam olarak API nedir” olmalıdır.

UI ile başlayalım

Sağlam bir zeminden başlayalım. Herhangi bir web sitesine gittiğinizde, düğmeler, linkler, açılır menüler, metin alanları vs. oluşan bir koleksiyon görürsünüz. Bir bütün olarak, bu biz kullanıcılar için sistemle etkileşimde bulunmanın bir yoludur.

Yani User Interfaces(Kullanıcı arayüzleri) sistemlerle etkileşimimiz için, biz kullanıcılar içindir.

Bunun şöyle açıklayalım; Netflix’te dizüstü bilgisayarınızdan bir film izlemeye gittiğinizde, etkileşim kurmak için bir klavye ve fare kullanıyorsunuz bu UI’dır. TV’nizde hantal bir uzaktan kumanda var. Ve telefonunuzda, ekrana dokunmak için parmaklarınızı kullanırsınız.

Bazı arabalarda düğmeler ve düğmelerle çalıştırılan fonksiyonlar bulunur ve daha modern versiyonlarda dokunmatik ekranlar bulunur. Bunların hepsi vardır User Interfaces’dır.

UI, API’nin giriş kapısıdır

API biz geliştiriciler için programlarla etkileşim kurma yollarıdır. Bir Application Programming Interfaces, sistemlerle etkileşim biz geliştiriciler içindir.

Kullanıcılar UI ile, diğer (veya aynı) geliştiricilerin oluşturduğu API’lerle etkileşim kurarak geliştiricilerin yazdığı fonksiyonlarla etkileşime girer.

Geliştiriciler, başka geliştiricilerin kullanması için bazı etkileşimli noktalarını ortaya çıkaran programlar yazarlar, işte bu API’dır.

Neden API oluşturulur?

Şu soruyu soranlar olabilir: “Neden istediğimi yapan başka bir programla etkileşim kurmak için yeni bir program yazmalıyım? Neden sadece bir programla ve bu programa tek bir sahip ben değilim?”

UI yalnızca kullanıcılarınızın sağladığınız hizmetlere erişmeleri için hoş, sezgisel ve güvenli bir ortam yaratmaya özen göstermektir.

API yalnızca bu hizmetlere güvenli, tutarlı ve makul ölçüde hızlı bir şekilde erişim sağlamak için geliştirilir.

İkisini karıştırmak mümkün, ancak sektör bu kaygıları ayırmanın oldukça iyi bir fikir olduğunu gördü.

Özet

API basitçe, geliştiricilerin kendi programlarında kullanmaları için bir program tarafından sunulan etkileşim noktalarına yönelik her şeyi kapsayan bir terimdir.

Bu konularda böylesine muazzam bir kafa karışıklığının nedeni, “API” teriminin çoğu zaman hatalı ve yaygın olarak kullanılması ve bazen “system”, “services”, “backend” gibi kelimelerin içerisinde geçen cümlelerle çok farklı anlamlarda telaffuz edilmesidir.

Fotoğraf Kate Townsend’a ait Unsplash’dan.