API
Uygulama Programlama Arabirimi anlamına gelen API, iki uygulamanın belirli tanımlar aracılığıyla birbiriyle iletişim kurmasına olanak tanıyan bir yazılım aracıdır.
API nedir sorusuna kısaca; bir uygulamanın verilere, sunucu yazılımına veya diğer programlara ulaşabilmek için kullandığı bağlantı arayüzüdür denilebilir.
Birçok veri, tekrar altyapı oluşturmaya gerek kalmadan web üzerinde veya akıllı telefonlarla API’ler sayesinde kolayca alınabiliyor. Bu sayede yeni bir programa ihtiyaç olmuyor, iletişim pratik ve hızlı bir şekilde hallediliyor.
API terimi, ilk defa 1974 yılında Christopher J. Date tarafından yayımlanan "The Relational and Network Approaches: Comparison of the Application Programming Interface" adlı makalede geçmiştir.
Gittikçe kullanımı yaygınlaşan bu yazılımlar, çok çeşitli alanlarda ve çok çeşitli amaçlarla sıklıkla kullanılıyor. Whatsapp mesajlaşmasından, hava durumuna, e ticaret sitelerinde kredi kartından para çekilmesine ve hatta arabalara kadar kullanım alanı yayılıyor. Web geliştiricileri ve program geliştiricileri tarafından sıklıkla kullanılıyor.
API’ler HTML, XML ve JSON gibi protokollerle kullanılırlar. Web tabanlı API’ler için HTML, SOAP API’leri için XML ve Rest API’leri için JSON kullanılır.
API Nerelerde Kullanılır?
API’ler istemci ve sunucu arasındaki iletişimi sağladığı için web ve mobil uygulamaların çoğunda çeşitli amaçlarla kullanılır. API kullanım alanları aşağıdaki şekildedir:
- Sosyal medya kimlik bilgilerini kullanan uygulamalarda oturum açma izni verildiğinde
- Facebook sunucularından size ait verileri çekerken
- E-ticaret işlemlerinde ödeme yaparken banka ile iletişime geçildiğinde
- Hava durumu uygulamalarında
- Anlık borsa verilerinin takip edildiği uygulamalarda
- Uygulamalardaki yazılım güncellemelerinin dağıtılmasında
- Konum verilerinin sağlanmasında
API Kullanmanın Avantajları Nelerdir?
API’ler mevcut araçları yönetmeyi veya yenilerini oluşturmayı basitleştirir. API'lerin avantajlarından bazıları şunlardır:
- API güvenlik duvarı oluşturur. Tüm verileri ortak sunucu ile paylaşmak yerine yalnızca tek bir talep API ile sunuya gönderildiği için veriler güvenli bir şekilde iletilir.
- Pek çok iş API sayesinde süreçler daha hızlı ve kolay bir şekilde halledilebilir. Özellikleri ve işlevleri kolayca test etmenize olanak sağlar.
- Program geliştirmeyi kolaylaştırır. Karmaşık yazılımsal süreçlerin çözülmesini ve yeniden kullanılmasını sağlar. API kullanılarak tekrardan uygulama geliştirmeye gerek kalmaz. Bunun yerine, yeni araçlar ve özellikler üzerinde çalışmaya vakit kalmış olur.
- Tekrardan uygulama geliştirmeye gerek kalmadığı için zamandan ve paradan tasarruf sağlar. Aynı zamanda daha az bakım maliyeti de vardır.
- Web sitesi veya mobil uygulamaların trafiğini ve görünürlüğü artırır.
API Türleri Nelerdir?
API’ler kullanım şekilleri ve mimarilerine göre sınıflandırılır.
Kullanım Amaçlarına Göre API Çeşitleri
Dahili API: Sadece belirli kişilerce kullanılan ve harici kullanıcılardan gizlenen API türüdür. Bu API türü şirketin belirli bir departmanları için tanımlanmıştır ve üçüncü taraf kişilerden gizlenirler. Daha çok yeniden kullanım ve üretim için kullanılmaktadır.
Open API: Geliştiriciler ve diğer herkesin kullanımına açık API'lerdir. Herkesin kullanımına açık ya da Public API olarak da bilinirler. Kendi içerisinde ücretli ve ücretsiz olmak üzere ikiye ayrılmaktadır.
Partner API: Belirli iş ortaklığı ile iş yürüten şirketlerin ortak operasyonlarında sistemlerinin koordine olabilmesini sağlayan API’lere Partner API denir. Herkese açık değildirler. Örneğin bir e-ticaret sitesi ile kargo firması arasındaki iletişim Partner API kullanarak yapılmaktadır.
Composite API: Composite API'ler birden çok veri veya hizmet API'sini birleştiren, geliştiricilerin tek bir aramada birkaç uç noktaya erişmesine izin veren API'lerdir.
Mimari Yapısına Göre API Çeşitleri
REST API:
Temsili Durum Aktarımı anlamına gelen Representational State Transfer’ın kısaltması olan REST API, HTTP protokolünü kullanarak çalışan bir API servisidir.
HTTP isteklerinden GET, POST, PUT, DELETE gibi belirli işlevleri kullanır. REST, veri formatı olarak XML yerine JavaScript Nesne Gösterimi'ni (JSON) kullanır.
REST, modern web tabanlı uygulamalar oluşturmak için sıklıkla kullanılan bir mimari model biçimidir. Oldukça kullanışlı olması, bakım kolaylığı sağlaması, kolay entegre olması ve hafif bir yapıda olması onu en çok tercih edilen API türlerinden biri yapmıştır.
SOAP:
Basit Nesne Erişim Protokolü anlamına gelen Simple Object Access Protocol’ün kısaltması olan SOAP, daha sıkı bir güvenlik yapısıyla veri transferini sağlayan API mimarisidir.
Bu mimaride XML formatı kullanarak iletişim kurulması sağlanılır. Yapılandırması Rest API’ye göre daha zordur. Ancak güçlü bir güvenlik yapısı bulunur.
En Popüler API Servisleri ve Bazı Kullanışlı API’ler
API’ler çeşitli servislerler aracılığıyla ücretli veya ücretsiz bir şekilde paylaşılırlar. Pazarlama, web sitesi, bankacılık, e-posta, mesajlaşma, sosyal medya, haber servisi, harita ve video API’leri en popüler API’ler arasında yer almaktadır.
Endüstri devlerinden olmak üzere, etkileşimde bulunabileceğiniz çok sayıda API vardır. API’leri yönetmeye yardımcı olacak bazı kullanışlı API Yönetim araçları kısaca şunlardır:
Google API: Google’ın kendi uygulamalarından ve web sitelerinden veri almak için sunduğu API’lerdir. Analytics, Adsense ve Google search gibi Google’ın sağlamış olduğu hizmetleri kendi projenizle birleştirme imkanı sağlarlar. Google’ın sunduğu API’leri buradan inceleyebilirsiniz.
Whatsapp API: Web sitesine Whatsapp butonu eklemeye yarayan bir API hizmetidir. WhatsApp Business API ile şirket profili oluşturabilir, mesaj gönderebilir ve istediğiniz entegrasyon ile API'leri kullanarak mesajları alabilirsiniz. Dilediğiniz gibi mesaj şablonları da oluşturup kullanabilirsiniz.
Facebook API: Web sitesine Facebook butonu eklemeye ve Facebook ile bağlantı kurmaya yarayan bir API’dir. Facebook Api Key ise geliştiricilerin web sitesine beğen, gönder butonlarını ekleyebilmelerini sağlayan bir anahtardır.
Youtube API: Youtube API, YouTube kanalı verilerine erişilmesine olanak tanır. YouTube deneyimini web sayfasına, uygulamaya veya cihaza getirmeye olanak tanıyan API'lerdir.
Sonuç: API’ler Geliştiricilere Kolaylık Sağlar
API’ler sayesinde yazılım geliştirmek çok daha kolay. API’lerin otomasyon özellikleri sayesinde geliştiriciler işlerini daha hızla ve maliyetsiz bir şekilde hallederler.
Forbes'e göre, ileri görüşlü şirketler, çözümlerini API'ler aracılığıyla hallederek maliyetleri ve harcanan zamanı azaltıyorlar. Aynı zamanda şirketler de API'ler aracılığıyla veri akışlarını düzenleme, uygulamalar arasında daha sorunsuz iş süreci yönetebilmek için her geçen gün API sistemlerinden daha fazla yararlanıyorlar. Bu sistemi öğrenmek kariyeriniz için büyük bir artı olabilir.