โดย API คุณหมายถึงอะไรอย่างแท้จริง
ในหลาย ๆ แพลตฟอร์มคุณสามารถเชื่อมโยงไปยัง DLL หรือโครงสร้างที่คล้ายกันได้ แต่จะต้องมีการรวบรวมใหม่สำหรับเป้าหมายดั้งเดิม (Intel / ARM) หรือ endianness ที่ยังมีคุณสมบัติอยู่หรือไม่ อินเทอร์เฟซแบบไบนารีเฉพาะอาจยังคงมีปัญหากับภาษาบางอย่างเนื่องจากปัญหาประเภทข้อมูลหรือโครงสร้าง (ตัวชี้ที่พยายามจะกลับไปเป็นภาษาที่ไม่สนับสนุนพวกเขาดี) ดังนั้นคุณจะต้องพิจารณาการออกแบบ API เองด้วยเช่นกัน เพื่อยกเว้นบางภาษาหรือใช้งานจากภาษาเหล่านั้นยุ่งยาก
บางสิ่งที่พกพาได้เช่น C และอินเทอร์เฟซที่ยึดตามจุดปลายแบบไบนารีใน DLL อาจใช้ได้และโดยทั่วไปสามารถเรียกได้บนแพลตฟอร์มส่วนใหญ่และจากภาษาส่วนใหญ่ แต่มันอาจจำเป็นต้องคอมไพล์แตกต่างกันและ / หรือ
สำหรับฉันแล้วดูเหมือนว่าทางเลือกของภาษาที่คุณเขียนไลบรารีหรือบริการของคุณหรืออะไรก็ตามที่เป็นคำจำกัดความไม่ได้อยู่ภายในคำถามจนกว่าคุณจะได้รับข้อมูลเพิ่มเติมเกี่ยวกับแพลตฟอร์ม / บริการที่ API เปิดเผย หากคุณสามารถสันนิษฐานได้ว่าสแต็กเครือข่ายพร้อมใช้งานและประสิทธิภาพการทำงานระดับการเชื่อมโยงการโทรโดยตรงนั้นไม่ใช่ข้อกำหนด API อาจใช้ HTTP ได้อย่างง่ายดายพร้อมกับ shim บางชนิดสำหรับภาษาไคลเอ็นต์เพื่อทำให้คำร้องขอโปร่งใส
ฉันคิดว่าโดยทั่วไปคำถามนี้กว้างเกินไปที่จะมีประโยชน์ในโลกแห่งความเป็นจริงเพราะคุณไม่ได้ระบุสิ่งที่ประเภทของ API ที่เหมาะสมกับประเภทของบริการที่มีการเสนอ