API Nedir ? Hangi Amaçlarla Kullanılır ?

Muhtemelen “API” teriminin daha önceden gördünüz yada duydunuz. İşletim sistemi, web tarayıcı ve uygulama güncellemeleri genellikle geliştiriciler için yeni API’leri duyurulur. Fakat duyurulan bu API ‘lerin ne olduğu hakkında yada nasıl kullanacağımız hakkında bir fikrimiz olmaz.

 

API terimi aslında bir kısaltmadır ve “Application Programming Interface” olan İngilizce terim Türkçe ‘ye çevirdiğimizde ise  “Uygulama Programlama Arabirimi” anlamına gelir. Programcıların ise genelde sordukları soru API nedir olmaktadır. Hepimizin temel olarak bildiği fakat tam olarak ne yaptığını bilmediğimiz bu terime gelin birde yakından bakalım.

Api

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 belirlediğinizde, restoranın mutfağı işinizi yapar ve size bitmiş yiyecekler sunar. Restoranın bu yemeği nasıl hazırladığını bilemezsiniz ve bilmeye de ihtiyacınız yoktur.

 

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

 

Bu, mükemmel bir metafor değildir çünkü geliştiricilerin sonuçları elde etmek için API’ya kendi verilerini sağlamaları gerekebilir. Bu nedenle, belki de mutfağın çalışacağı kendi malzemeleriniz ile size sunulacak yemek gibi de düşünebilirsiniz.

 

Ancak bu geniş bir doğruluk payı gerektirir. 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ı olacak 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 edebilme özelliklerine sahiptir.

 

 

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

Api

iPhone 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, bunu kolaylaştırmak için çok sayıda API sağlar.

 

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

 

iPhone’un kamerasından fotoğraf veya video çekmek istiyorsanız, kendi kamera ara yüzünüzü yazmak zorunda değilsiniz. iPhone’un yerleşik kamerasını uygulamanıza yerleştirmek için kamera API’sini kullanılır. 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. Böylece geliştiriciler kendi kamera uygulaması yazmadan telefonun üzerinde yer alan kamera yazılımında API 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 hale gelir.

 

Bu her platform için geçerlidir. Örneğin, Windows’da bir iletişim kutusu oluşturmak ister misiniz ? Bunun için bir API bulunmaktadır. Android’de parmak izi kimlik doğrulamasını desteklemek mi istiyorsunuz ? Bunun için de 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ğillerdir.

 

 

API 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 hiç 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 “konuma izin ver ” Diye sorabilir ve tarayıcı, fiziksel konumunuzu bulmak için GPS’e veya yakındaki Wi-Fi ağlarına erişmenin işini yapar.

Google Haritalar Konum Izni

Ancak, tarayıcılar ayrıca bu bilgiyi bir API aracılığıyla da açığa çıkarır, çünkü ona erişimi kontrol etmek mümkündür. Bir web sitesi tam olarak fiziksel konumunuza erişmek istediğinde, alabilmenin tek yolu, konum API ‘sidir. Ve bir web sitesi onu kullanmaya çalıştığında, siz kullanıcı olarak bu isteğe izin vermeyi veya reddetmeyi seçebilirsiniz. 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 hiç bir seçeneği olmayacaktır.

 

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 Platforms

API’ler her türlü başka sebepler için de kullanılabilir. Ö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 demektir. 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 küçük bir etkileşimli 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 aktarmak için API’ler vardır.

 

OAuth standardı, başka bir hizmetle bir web sitesinde oturum açmanıza olanak tanıyan çeşitli API’ları da tanımlar. Örneğin, Facebook, Google veya Twitter hesaplarınızı kullanmak için yeni bir kullanıcı hesabı oluşturmadan yeni bir web sitesinde kullanıcı kaydı oluşturmak için kullanabilirsiniz. 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.


] }

Yorum yapın