API ile tam olarak ne demek istiyorsun?
Pek çok platformda, bir DLL veya benzer bir yapıya bağlanabilir, ancak belirli bir yerel hedef (Intel / ARM) veya endianness hala geçerli olmak için yeniden derlenmeniz gerekir mi? Belirli bir ikili arayüz, veri türü sorunları veya yapıları nedeniyle (bazı dilleri iyi desteklemeyen dillere döndürülmeye çalışan işaretçiler) nedeniyle belirli dillerle ilgili hala zorluklar yaşayabilir; bu nedenle, API'nin tasarımını dikkate almamalısınız. bazı dilleri dışlamak veya bu dillerden faydalanmak için hantal.
C gibi taşınabilir bir şey ve bir DLL'deki ikili uç noktalara dayanan bir arabirim iyi olabilir ve genellikle çoğu platformda ve çoğu dilde çağrılabilir, ancak farklı şekilde derlenmesi ve / veya farklı lezzetlerde sunulması veya farklı statik kitaplıklara bağlanması gerekebilir.
Bana öyle geliyor ki, kütüphane ya da hizmetinizi yazdığınız dil seçiminiz ya da tanımı ne olursa olsun, API'nin sunduğu platform / hizmet hakkında daha fazla bilgi verinceye kadar sorunun özü yoktur. Bir ağ yığınının kullanılabilir olduğunu ve doğrudan bağlı işlev çağrısı düzeyinde performansın bir gereklilik olmadığını varsayabilir, API, istekleri şeffaf hale getirmek için istemci dilinin bir tür silme ile kolayca HTTP tabanlı olabilir.
Genel olarak, bu sorunun gerçek dünyada faydalı olması için aşırı geniş olduğunu düşünüyorum, çünkü sunulan hizmet türü için ne tür bir API'nin uygun olabileceğine dair bir gösterge vermediniz.