API Application Programming Interface connect services on internet and allow network data communication, software engineer touching concept for IoT, cloud computing, robotic process automation
API (Application Programming Interface – Uygulama Programlama Arayüzü), karmaşıklığı yazılım geliştiricilerden gizleyen, kodları düzenleyen ve bileşenleri yeniden kullanılabilir hale getiren bir mekanizmadır.
Bu yazımızda API’ dan bahsedeceğiz.
Bu Yazının İçeriği
API, yazılım bileşeniyle olan etkileşimlerin bir özelliğidir.
Bu da örnek olarak şu anlama gelir. Bir arabanın bir yazılımı olduğunu hayal edin. Bu arabanın API’si arabanın neler yapabileceği hakkında bilgi içerir; hızlanma, frenleme, camları açma, vs. Ayrıca bunların nasıl yapabileceğine dair bilgiler de içerir.
Örneğin hızlanmak için ayağınızı gaz pedalına koyup itersiniz. API, ayağınızı gaza bastığınızda motorun içinde neler olduğunu açıklamak zorunda değildir.
Bu nedenle, içten yanmalı motorlu bir araba kullanmayı öğrendiyseniz, tamamen yeni bir dizi beceri öğrenmek zorunda kalmadan API sayesinde elektrikli bir arabayı rahatlıkla kullanabilirsiniz.
API teriminin anlamı ilk başta, uygulama programları (AP – Application Programs) olarak bilinen, yalnızca son kullanıcıya dönük programlar için bir arayüz tanımladı.
Bugün, API terimi yalnızca uygulama programlama arayüzlerini değil, aynı zamanda birçok yazılım türünü ve hatta donanım arayüzlerini de tanımlamaktadır. API fikri, terimden çok daha eskidir.
İngiliz bilgisayar bilimcileri Wilkes ve Wheeler, 1940’larda EDSAC (Electronic Delay Storage Automatic Calculator) bilgisayarı için modüler yazılım kitaplıkları üzerinde çalıştı. Joshua Bloch, Wilkes ve Wheeler’ın API’yi “son zamanlarda icat ettiklerini”, çünkü icat edilmekten çok keşfedilen bir kavram olduğundan bahseder. “Uygulama Programı Arayüzü (Application Program Interface” terimi ilk olarak 1968’de bir AFIPS (American Federation of Information Processing Societies) konferansında sunulan uzak bilgisayar grafikleri için veri yapıları ve teknikleri adlı bir makalede kaydedilmiştir.
Terim, veri tabanları alanına C.J. Date tarafından “The Relational and Network Approaches: Comparison of the Application Programming Interface” adlı 1974 tarihli bir makalede tanıtıldı.
Bir API, veritabanı yönetim sistemleri için ANSI (American National Standards Institute)/SPARC (Standards Planning And Requirements Committee) yapısının bir parçası haline geldi. Bu yapı, uygulama programlama arayüzünü sorgu arayüzü gibi diğer arayüzlerden ayrı olarak ele aldı.
1970’lerdeki veritabanı uzmanları, bu farklı arayüzlerin birleştirilebileceğini gözlemlemişlerdir. Bu gözlem, yalnızca uygulama programlamayı değil, her tür programlamayı destekleyen API’lere yol açar.
1990’a gelindiğinde API, teknoloji uzmanı Carl Malamud tarafından basitçe “bir programcıya belirli görevleri yerine getirmek için sunulan bir dizi hizmet” olarak tanımlandı.
API, programların birbirleriyle nasıl iletişim kurduğunu belirleyen belirli bir dizi kural iken, REST ve SOAP API’ler, API’nin nasıl sunulacağını tanımlar.
Her biri işlevsellik açısından benzerdir ancak birkaç temel farklılıklarla birbirlerinden ayrılırlar.
REST (Representational State Transfer), geliştiricilerin bir API oluştururken izledikleri kurallar kümesidir. REST, JSON (JavaScript Object Notation) kullanılarak okunur. Bu kurallardan biri, API’nin kullanımı kolay ve geliştiriciler için anlamlı olacak şekilde tasarlanması gerektiğidir.
SOAP (Simple Object Access Protocol), web hizmetleri için başka bir tasarım modelidir. REST API’nin kullandığı tipik JSON yerine, XML (Extensible Markup Language) kullanır. XML, makine ve insan tarafından okunabilir şekilde tasarlanmıştır.
Remote API‘ler, bir iletişim ağı aracılığıyla etkileşim kuracak şekilde tasarlanmıştır.
“Remote” da API tarafından işlenen kaynakların istekte bulunan bilgisayarın dışında bir yerde olması demektir.
En yaygın kullanılan iletişim ağı internet olduğundan çoğu API web standartlarına göre tasarlanmıştır. Remote API’lerin tümü web API değildir, ancak web API’lerin Remote olduğunu söylemek doğru olur.
iPhone için bir uygulama geliştirmek istediğinizi varsayalım. Apple’ın işletim sistemi, her işletim sisteminin yaptığı gibi, geliştirme sürecini 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ı 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 adında bir API kullanırsınız.
iPhone kamerasından fotoğraf veya video çekmek istiyorsanız kendi kamera arayüzünüzü yazmanız gerekmez. iPhone’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ştiricilerinin kendi kamera yazılımlarını oluşturmaları ve kamera donanımının girdilerini dönüştürmeleri gerekirdi.
Bu her platform için geçerlidir. Örneğin, Windows’ta bir iletişim kutusu oluşturmak istediğinizde bunun için bir API vardır. Keza Android’de parmak izi kimlik doğrulamasını desteklemek istediğinizde de. Bu nedenle her farklı Android üreticisinin parmak izi sensörünü test etmeniz, deyim yerindeyse tekerleği defalarca yeniden icat etmeniz gerekmez :)
Birçoğu endüstri devlerinden olmak üzere, etkileşimde bulunabileceğiniz çok sayıda API vardır. Bazı platform şirketlerinin kodlarına bir API aracılığıyla programlı olarak erişme yeteneği onları aslında bir platform yapan şeydir. Bazı önemli API örnekleri şunlardır:
API, ticari faaliyetlerinizi hızlandırmanıza, markanızın erişimini artırmanıza, alışveriş yapan kişilerinizi istedikleri ürünlere bağlamanıza ve çok daha fazlasına yardımcı olabilecek güçlü bir araçtır.
API sayesinde yazılım geliştirmek artık daha kolay, ne dersiniz?
microsoft ace oledb 12.0 hatası,oledb 12.0 provider not registered,microsoft access database engine indir,accessdatabaseengine.exe indir,oledb provider…
Microsoft, uzaktan farklı cihazları kontrol etmeye yarayan Uzak Masaüstü uygulamasına desteği keseceğini duyurdu. Onun yerine…
office 2021 etkinleştirme, office 2021 lisans anahtarı, office 2021 ürün anahtarı, office 2021 aktivasyon, office…
Microsoft Office 2016, güçlü özellikleri ve kullanıcı dostu arayüzü ile hala popülerliğini koruyan bir ofis…
Office 2019 etkinleştirme, Office 2019 ürün anahtarı, Office 2019 lisans, Office 2019 serial key, Office…
2025 e-imza, e-imza nedir, e-imza nasıl alınır, e-imza başvurusu, e-imza ücreti 2025, e-imza fiyatları, e-imza…