API (Uygulama Programlama Arayüzü), bir yazılımın başka bir yazılımla iletişim kurmasını sağlayan bir dizi kuraldır. Bunu bir menü olarak düşünün: uygulamanız veri veya eylemleri "sipariş edebilir" ve API mutfağa (bir hizmete) tam olarak ne pişirileceğini ve nasıl servis edileceğini söyler.
API'ler, isteklerin nasıl yapıldığı ve yanıtların nasıl döndürüldüğünü standartlaştırır, böylece farklı ekipler, şirketler veya farklı programlama dilleriyle oluşturulmuş farklı sistemler bile güvenilir bir şekilde birlikte çalışabilir.
Temel düzeyde, bir API uç noktaları (çağırılabilen adresler), kullanılabilen yöntemleri (veri almak için GET veya veri göndermek için POST gibi), gönderilen verilerin formatını (genellikle JSON) ve geri alınması beklenen verileri (veri artı "OK" için 200 veya "Bulunamadı" için 404 gibi bir durum kodu) tanımlar. Bu öngörülebilirlik, asıl önemli olan noktadır.
Kesin olmak gerekirse, SDK olmadan da API kullanabilirsiniz, ancak SDK kullanmak zaman tasarrufu sağlar ve hataları azaltır.
Evet, birkaç stil var ve her birinin avantajları ve dezavantajları var:
Genellikle evet. Her şeyi kendiniz oluşturmak yerine, API'ler sayesinde ödemeler, haritalar, e-posta, arama, analiz, yapay zeka ve daha fazlasını entegre edebilirsiniz. Bu, mühendislik zamanından tasarruf sağlar, güvenilirliği artırır (sağlayıcı hizmetini güncel tutar) ve ekibinizin ürününüzü benzersiz kılan özelliklere odaklanmasını sağlar.
Karşılıklı ödünler: Sağlayıcınızdan hız sınırları, fiyatlandırma ve çalışma süresi bağımlılıklarını devralırsınız. Ürününüz bu API olmadan çalışamıyorsa, yedeklilik planı yapın.
Sık sık. Birçok API, sağlayıcının kim olduğunuzu bilmesi ve izinler ile hız sınırlamaları uygulayabilmesi için kimlik doğrulama gerektirir. Yaygın yaklaşımlar şunlardır:
Mümkün olduğunca anahtarları ve jetonları genel depolardan ve istemci tarafı kodlarından uzak tutun.
Aslında hayır. Bir web tarayıcısı, curl veya herhangi bir HTTP istemcisi birçok API için çalışır. Geliştiriciler genellikle Postman gibi araçları veya yerleşik dil kitaplıklarını kullanarak isteklerde bulunur, yanıtları inceler ve örnekleri kaydeder. Üretim uygulamaları için, dilinizin HTTP kitaplığını veya sağlayıcının SDK'sını kullanırsınız.
Hemen hemen her şey modern: profilleri çeken mobil uygulamalar, "Google/Apple ile giriş yap", ödemeleri işleyen çevrimiçi mağazalar, senkronize eden akıllı ev cihazları, analitik verileri çeken gösterge panelleri, hatta hava durumu widget'ınız. Yazılım veri alışverişi yapıyorsa, muhtemelen arka planda bir API vardır.