Kavramın çok basit bir tanımını okudum (uygulama programlama arayüzü) ama bu tanım meseleyi gerçekten karşılamıyor gibi geliyor. Sorularım: 1) Bir kütüphanenin sağladığı fonksiyon imzaları da API midir, yoksa API terimi daha çok ağ üzerinden erişilen hizmet sözleşmesi için mi kullanılıyor? Pratikte bu ayrım önemli mi? 2) REST, GraphQL, gRPC gibi yaklaşımların hangi senaryoda hangi avantajı verdiği bana hâlâ tam oturmadı. Birinin diğerine ne zaman üstün geldiğini somut örnekle anlatabilen var mı? 3) Sürüm yönetiminde URL'de sürüm tutmak ile içerik anlaşma başlığı ile sürüm tutmak arasında pratik bir tercih sebebi var mı? 4) API tasarımında en sık görülen ve sonradan pahalıya patlayan tasarım hataları nelerdir? Geriye dönük uyumluluğu nasıl koruyorsunuz? Konuyu yüzeysel anlatan kaynakların çok olduğunu fark ettim, fakat orta seviyeye geçişte boşluk var. Tecrübeli arkadaşların değinmek istediği noktalara açığım.