API nedir?
Tanım olarak API (Uygulama Programlama Arabirimi) iki uygulamanın aralarında haberleşmesine veya konuşmasına imkan sağlayan bir yazılım aracıdır.
Bugün kullanılan birçok uygulamalarda anlık mesaj gönderimi veya hava durumunu kontrol etme gibi durumlarda API kullanılmaktadır.
Örnek olarak API
Telefonunuzda kullandığınız bir uygulama öncelikle internete bağlanır ve sunucuya verileri gönderir. Daha sonra sunucu bu verileri kabul eder, yorumlar ve bir eyleme dönüştürüp cevap verir. Uygulama ise aldığı bu verileri anlamlaştırmak üzere yorumlama yapmaktadır.
İşte bu süreç API aracılığı ile gerçekleşmektedir.
Teknik bilgiyi somuta dönüştürmek için gerçek hayattaki örneği inceleyecek olursak;
Bir restoranda elinizde menü ile otururken karar verdiğiniz bir siparişi mutfağa iletmek için bir aracıya ihtiyaç duyacaksınız. Bu sırada devreye girecek olan garson ihtiyacınızı yerine getirecek olan aracıdır. Sizden aldığı siparişi mutfağa iletmek ve hazırlanan siparişi size tekrar getirmekle sorumludur.
Örnekte olduğu gibi bir işlemin yerine getirilmesi için gerekli olan aracı API olarak adlandırılmaktadır.
Doğrudan API kullanılmadığı durumlarda
API’nin doğrudan kullanılmadığı durumlarda uygulamalar kendi aralarında etkileşime girerler.
API gerekli olan bilgiyi alır ve size ulaştırması için veri tabanından uygulamanızın API’sine cevap vererek anlamlı bilgiyi karşınıza çıkartmasında yardımcı olur.
API’nın sağladığı güvenlik düzeyi
API kullanmak verilerinizin tam zamanlı olarak sunucuya bağlanmasına engel olur. Aynı şekilde sunucunun da telefon verilerinize erişmesini engellemiş olmaktadır.
API’ler yalnızca gerekli olan bilgiyi paketler halinde alır, iletir ve işlenmek üzere geri getirir.
Sağladığı bu imkanlar ile Google, eBay ve Amazon gibi büyük şirketler API’lerinden yüksek gelir elde etmektedirler.
Günümüzde API
API’ler genel olarak bir uygulama için bağlantı arabirimi olarak tanımlanmıştır.
Günümüzde API’leri daha değerli ve yararlı kılan bazı özelliklerde bulunmaktadır. Bunlardan birkaçı:
- API’ler geliştirici dostu, kolayca erişilebilir ve standartlara uygundur.
- Kodlardan daha çok ürün gibi davranırlar. Belirli kitleler için ortaya çıkarlar ve optimize edilebilirler.
- Güvenli ve performans olarak hızlı bir deneyim sunmaktadır.
- Üretilen yazılımın başka bir parçası olarak, (SDLC) Yazılım Geliştirme Yaşam Döngüsüne sahiptirler. Tasarlanabilir, test edilebilir, yönetilebilir ve optimize edilebilmektedirler.