API nedir?

İşletim sistemi, web tarayıcı ve uygulama güncellemeleri genellikle geliştiriciler için yeni API’leri duyurur. Ama API nedir?

Uygulama Programlama Arabirimi

API terimi bir kısaltmadır ve “Uygulama Programlama Arabirimi (Application Programming Interface)” anlamına gelir.

Bir restoranda bir menü gibi bir API düşünün. Menü, sipariş edebileceğiniz yemeklerin bir listesini ve her yemeğin bir tanımını sağlar. İstediğiniz menü öğelerini belirttiğinizde, restoranın mutfağı işinizi yapar ve size bitmiş yiyecekler sunar. Restoranın bu yemeği nasıl hazırladığını bilmiyorsun ve gerçekten ihtiyacın yok.

Benzer şekilde, bir API, geliştiricilerin kullanabileceği bir açıklama ile birlikte kullanabilecekleri bir dizi işlem listeler. Geliştiricinin, örneğin bir işletim sisteminin “Farklı Kaydet” iletişim kutusunu nasıl oluşturduğunu ve sunabileceğini bilmesi gerekmez. Sadece onların uygulamasında kullanıma sunulduğunu bilmeleri gerekiyor.

Bu, mükemmel bir metafor değildir, çünkü geliştiricilerin sonuçları elde etmek için API’ya kendi verilerini vermeleri gerekebilir, bu yüzden belki de mutfağın çalışacağı kendi malzemelerinizin bazılarını sağlayabileceğiniz süslü bir restoran gibi.

Ama bu geniş ölçüde doğru. API’ler, geliştiricilerin nitty-gritty çalışmasını yapmak için bir platformun uygulamasından yararlanarak zaman kazanmalarına izin verir. Bu, geliştiricilerin oluşturması gereken kod miktarını azaltmaya yardımcı olur ve aynı platform için uygulamalarda daha tutarlı bir şekilde oluşturulmasına yardımcı olur. API’ler, donanım ve yazılım kaynaklarına erişimi kontrol edebilir.

API’ler Geliştiriciler İçin Hayatı Kolaylaştırır

İPhone için bir uygulama geliştirmek istediğinizi varsayalım. Apple’ın iOS işletim sistemi, diğer tüm işletim sistemlerinde olduğu gibi, bu işlemi kolaylaştırmak için çok sayıda APIsağlar.

Örneğin bir veya daha fazla web sayfasını göstermek için bir web tarayıcısı yerleştirmek isterseniz, sadece kendi uygulamanız için kendi web tarayıcınızı sıfırdan programlamanız gerekmez. Uygulamanızda WebKit (Safari) tarayıcı nesnesini katıştırmak için WKWebViewAPI’sini kullanırsınız.

İPhone’un kamerasından fotoğraf veya video çekmek istiyorsanız, kendi kamera arayüzünüzü yazmanız gerekmez. İPhone’un yerleşik kamerasını uygulamanıza yerleştirmek için kamera API’sini kullanın. Bunu kolaylaştırmak için API’ler mevcut değilse, uygulama geliştiricilerin kendi kamera yazılımlarını oluşturmaları ve kamera donanımının girdilerini yorumlamaları gerekir. Ancak Apple’ın işletim sistemi geliştiricileri bu zor çalışmayı tamamladılar, böylece geliştiriciler kamera kamerasını kamera yerleştirmek için kamera API’sini kullanabilir ve ardından uygulamalarını oluşturmaya devam edebilirler. Apple, kamera API’sini geliştirdiğinde, ona güvenen tüm uygulamalar otomatik olarak bu iyileştirmeden yararlanabilir.

Bu her platform için geçerlidir. Örneğin, Windows’da bir iletişim kutusu oluşturmak ister misiniz? Bunun için bir API var . Android’de parmak izi kimlik doğrulamasını desteklemek mi istiyorsunuz? Bunun için bir API var , bu yüzden her farklı Android üreticisinin parmak izi sensörünü test etmek zorunda değilsiniz. Geliştiriciler tekerleği tekrar tekrar icat etmek zorunda değiller.

API’lar Kaynaklara Erişimi Kontrol Etme

API’ler ayrıca, bir uygulamanın zorunlu olarak kullanma iznine sahip olmayabileceği donanım aygıtlarına ve yazılım işlevlerine erişimi denetlemek için kullanılır. Bu yüzden API’lar genellikle güvenlik konusunda büyük rol oynarlar.

Örneğin, bir web sitesini ziyaret ettiyseniz ve tarayıcınızda web sitesinin tam konumunuzu görmesini istediğini belirten bir mesaj gördüyseniz , web sitesi, web tarayıcınızdaki coğrafi konum API’sini kullanmaya çalışır. Web tarayıcıları, web geliştiricilerinin konumunuza erişmesini kolaylaştırmak için API’ları bu şekilde sunar; yalnızca “nerede olursunuz?” Diye sorabilir ve tarayıcı, fiziksel konumunuzu bulmak için GPS’e veya yakındaki Wi-Fi ağlarına erişmenin zor işini yapar.

Bununla birlikte, tarayıcılar ayrıca bu bilgiyi bir API aracılığıyla da açığa çıkarırlar çünkü erişimi kontrol etmek mümkündür. Bir web sitesi tam olarak fiziksel konumunuza erişmek istediğinde, alabilmenin tek yolu, konum API’sıdır. Ve bir web sitesi onu kullanmaya çalıştığında, siz — kullanıcı — bu isteğe izin vermeyi veya reddetmeyi seçebilirsin. GPS algılayıcı gibi donanım kaynaklarına erişmenin tek yolu API aracılığıyla gerçekleşir, böylece tarayıcı donanımlara erişimi kontrol edebilir ve uygulamaların neler yapabileceğini sınırlayabilir.

Aynı prensip, iOS ve Android gibi modern mobil işletim sistemlerinde de kullanılır. Bu uygulamalarda, mobil uygulamaların API’lara erişimi kontrol ederek zorlanabilecek izinleri vardır. Örneğin, bir geliştirici kamera API’sı aracılığıyla kameraya erişmeye çalışırsa, izin isteğini reddedebilirsiniz ve uygulamanın cihazınızın kamerasına erişme yolu yoktur.

Windows, Mac ve Linux’ta olduğu gibi izinleri kullanan dosya sistemleri, dosya sistemi API’sı tarafından uygulanan izinlere sahiptir. Tipik bir uygulama, ham fiziksel sabit diske doğrudan erişemez. Bunun yerine, uygulamanın bir API aracılığıyla dosyalara erişmesi gerekir.

API’ler Hizmetler Arası İletişim İçin Kullanılır

API’ler her türlü başka sebepler için de kullanılır. Örneğin, bir web sitesine yerleştirilmiş bir Google Haritalar nesnesi gördüyseniz, söz konusu web sitesi bu haritayı yerleştirmek için Google Haritalar API’sını kullanıyor. Google, bunun gibi API’ları web geliştiricilerine sunmakta ve daha sonra web sitelerinde karmaşık nesneleri sıkıştırmak için API’ları kullanabilmektedir. Bunun gibi API’lar mevcut değilse, geliştiricilerin kendi haritalarını oluşturmaları ve kendi web sitesi verilerini bir web sitesinde biraz etkileşimli bir harita oluşturmak için sağlamaları gerekebilir.

Ayrıca, bir API olduğu için Google, üçüncü taraf web sitelerinde Google Haritalar’a erişimi kontrol edebilir, örneğin Google Haritalar web sitesini gösteren bir çerçeveyi karışık bir şekilde gömmek yerine, tutarlı bir şekilde kullandıklarından emin olur.

Bu, birçok farklı çevrimiçi hizmet için geçerlidir. Google Çeviri’den metin çevirisi istemek veya bir web sitesinde Twitter’dan Facebook yorumlarını veya tweet’leri katmak için API’ler vardır.

OAuth standart ayrıca sadece o site için yeni bir kullanıcı hesabı oluşturmadan yeni bir web sitesinde oturum açmak için Facebook, Google veya Twitter hesaplarını kullanmayı, başka hizmet-örneğin bir web sitesinde oturum için izin API sayısını tanımlar . API’ler, geliştiricilerin bir hizmetle nasıl iletişim kurduklarını ve geliştiricilerin geri almayı beklemeleri gereken çıktı türlerini tanımlayan standart sözleşmelerdir.

Bununla ilgili bir fikriniz varsa, bir API’nın ne olduğu hakkında daha iyi bir fikre sahip olacaksınız. Nihayetinde, bir geliştirici olmadıkça bir API’nın ne olduğunu bilmeniz gerekmez. Ancak, bir yazılım platformu veya hizmetinin çeşitli donanım veya hizmetler için yeni API’ler eklediğini görürseniz, geliştiricilerin bu özelliklerden yararlanmaları daha kolay olmalıdır.

İlk yorum yapan olun

Bir yanıt bırakın

E-posta hesabınız yayımlanmayacak.


*


Time limit is exhausted. Please reload CAPTCHA.