API Nedir?

Muhtemelen "API" teriminin ortaya çıktığını görmüşsünüzdür. İşletim sistemi, web tarayıcısı ve uygulama güncellemeleri genellikle geliştiriciler için yeni API'leri duyurur. Ancak API nedir?

uygulama programlama Arayüzü

API terimi bir kısaltmadır ve "Uygulama Programlama Arayüzü" anlamına gelir.

API'yi bir restorandaki bir menü gibi düşünün. Menü, sipariş edebileceğiniz yemeklerin bir listesini ve her yemeğin açıklamasını sağlar. Hangi menü öğelerini istediğinizi belirlediğinizde, restoranın mutfağı işi yapar ve size bazı bitmiş yemekler sunar. Restoranın o yemeği nasıl hazırladığını tam olarak bilmiyorsunuz ve buna gerçekten ihtiyacınız yok.

Benzer şekilde, bir API, geliştiricilerin kullanabilecekleri bir dizi işlemi ve ne yaptıklarının bir açıklamasını listeler. Geliştiricinin, örneğin bir işletim sisteminin "Farklı Kaydet" iletişim kutusunu nasıl oluşturduğunu ve sunduğunu bilmesine gerek yoktur. Sadece uygulamalarında kullanılabileceğini bilmeleri gerekir.

Geliştiricilerin sonuçları almak için API'ye kendi verilerini sağlamaları gerekebileceğinden bu mükemmel bir metafor değildir, bu yüzden belki de mutfağın birlikte çalışacağı kendi malzemelerinizden bazılarını sağlayabileceğiniz şık bir restoran gibidir.

Ancak genel olarak doğrudur. API'ler, geliştiricilerin, nitty-gritty çalışmasını yapmak için bir platformun uygulamasından yararlanarak zamandan tasarruf etmelerini sağlar. Bu, geliştiricilerin oluşturması gereken kod miktarını azaltmaya yardımcı olur ve aynı platform için uygulamalar arasında daha fazla tutarlılık oluşturmaya 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

Bir iPhone için bir uygulama geliştirmek istediğinizi varsayalım. Apple'ın iOS işletim sistemi, sizin için daha kolay hale getirmek için, diğer her işletim sisteminin yaptığı gibi çok sayıda API sağlar.

Örneğin, bir veya daha fazla web sayfasını göstermek için bir web tarayıcısı eklemek istiyorsanız, kendi web tarayıcınızı yalnızca uygulamanız için sıfırdan programlamanız gerekmez. Uygulamanıza bir WebKit (Safari) tarayıcı nesnesi yerleştirmek için WKWebView API'yi 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ırsınız. Bunu kolaylaştıracak API'ler olmasaydı, uygulama geliştiricilerin kendi kamera yazılımlarını oluşturmaları ve kamera donanımının girdilerini yorumlamaları gerekirdi. Ancak Apple'ın işletim sistemi geliştiricileri tüm bu zor işi yaptılar, böylece geliştiriciler bir kamera yerleştirmek için kamera API'sini kullanabilir ve ardından uygulamalarını oluşturmaya devam edebilirler. Ve Apple, kamera API'sini geliştirdiğinde, ona güvenen tüm uygulamalar bu iyileştirmeden otomatik olarak yararlanacak.

Bu her platform için geçerlidir. Örneğin, Windows'ta bir iletişim kutusu oluşturmak istiyor musunuz? Bunun için bir API var. Android'de parmak izi kimlik doğrulamasını desteklemek mi istiyorsunuz? Bunun için de bir API var, bu nedenle her farklı Android üreticisinin parmak izi sensörünü test etmeniz gerekmiyor. Geliştiricilerin tekerleği defalarca yeniden icat etmesi gerekmez.

API'ler Kaynaklara Erişimi Kontrol Ediyor

API'ler ayrıca, bir uygulamanın kullanma iznine sahip olmayabileceği donanım cihazlarına ve yazılım işlevlerine erişimi kontrol etmek için de kullanılır. Bu nedenle API'ler genellikle güvenlikte büyük rol oynar.

İLGİLİ: Web Sitelerinin Konumunuzu Sormasını Nasıl Durdurabilirsiniz ?

Örneğin, bir web sitesini daha önce ziyaret ettiyseniz ve tarayıcınızda web sitesinin tam konumunuzu görmek istediğine dair bir mesaj gördüyseniz, bu web sitesi web tarayıcınızda coğrafi konum API'sini kullanmaya çalışıyor demektir. Web tarayıcıları, web geliştiricilerinin konumunuza erişmesini kolaylaştırmak için bunun gibi API'leri açığa çıkarır. Yalnızca "neredesiniz?" Diye sorabilirler. ve tarayıcı fiziksel konumunuzu bulmak için GPS veya yakındaki Wi-Fi ağlarına erişme işini yapar.

Ancak, tarayıcılar bu bilgileri bir API aracılığıyla da ifşa eder çünkü ona erişimi kontrol etmek mümkündür. Bir web sitesi tam fiziksel konumunuza erişmek istediğinde, bunu alabilmelerinin tek yolu konum API'sidir. Ve bir web sitesi onu kullanmaya çalıştığında, siz - kullanıcı - bu isteğe izin vermeyi veya reddetmeyi seçebilirsiniz. GPS sensörü gibi donanım kaynaklarına erişmenin tek yolu API kullanmaktır, böylece tarayıcı donanıma erişimi kontrol edebilir ve uygulamaların yapabileceklerini sınırlayabilir.

Aynı ilke, mobil uygulamaların API'lere erişimi kontrol ederek uygulanabilecek izinlere sahip olduğu iOS ve Android gibi modern mobil işletim sistemlerinde de kullanılır. Örneğin, bir geliştirici kameraya kamera API'si aracılığıyla 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'si tarafından uygulanan bu izinlere sahiptir. Tipik bir uygulamanın ham fiziksel sabit diske doğrudan erişimi yoktur. 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 nedenle de kullanılır. Örneğin, bir web sitesine yerleştirilmiş bir Google Haritalar nesnesi gördüyseniz, bu web sitesi bu haritayı yerleştirmek için Google Haritalar API'sini kullanıyor demektir. Google, bunun gibi API'leri web geliştiricilerine sunar ve bu kullanıcılar daha sonra API'leri kendi web sitelerinde karmaşık nesneleri yerleştirmek için kullanabilir. Bunun gibi API'ler mevcut değilse, geliştiricilerin kendi haritalarını oluşturmaları ve bir web sitesine küçük bir etkileşimli harita yerleştirmek için kendi harita verilerini sağlamaları gerekebilir.

Ve bir API olduğu için Google, üçüncü taraf web sitelerinde Google Haritalar'a erişimi kontrol edebilir ve örneğin, Google Haritalar web sitesini gösteren bir çerçeveyi karmaşık bir şekilde yerleştirmeye çalışmak yerine tutarlı bir şekilde kullanmalarını sağlayabilir.

Bu, birçok farklı çevrimiçi hizmet için geçerlidir. Google Translate'den metin çevirisi talep etmek veya bir web sitesine Twitter'dan Facebook yorumları veya tweetler yerleştirmek için API'ler vardır.

İLGİLİ: OAuth Nedir? Facebook, Twitter ve Google Oturum Açma Düğmeleri Nasıl Çalışır?

OAuth standardı ayrıca başka bir hizmetle bir web sitesinde oturum açmanıza olanak tanıyan bir dizi API'yi de tanımlar; örneğin, Facebook, Google veya Twitter hesaplarınızı, yalnızca o site için yeni bir kullanıcı hesabı oluşturmadan yeni bir web sitesinde oturum açmak için kullanmak. . API'ler, geliştiricilerin bir hizmetle nasıl iletişim kurduğunu ve bu geliştiricilerin geri almayı beklemesi gereken çıktı türünü tanımlayan standart sözleşmelerdir.

Bunu aştıysanız, API'nin ne olduğu hakkında daha iyi bir fikriniz olacak. Nihayetinde, bir geliştirici değilseniz bir API'nin ne olduğunu gerçekten bilmenize gerek yoktur. Ancak, bir yazılım platformunun veya hizmetin ç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.

Resim Kredisi: patpitchaya / Shutterstock.com.