Key Difference: SDK หรือ Software Development Kit เป็นชุดเครื่องมือสำหรับการพัฒนาซอฟต์แวร์ สิ่งเหล่านี้ใช้เพื่อสร้างแอปพลิเคชั่นเป็นหลัก API ย่อมาจาก Application Programming Interface มันจัดเตรียมอินเตอร์เฟสที่ระบุให้กับชุดของฟังก์ชันซอฟต์แวร์ เป็นอินเทอร์เฟซที่ใช้งานโดยแอปพลิเคชันซึ่งอนุญาตให้แอปพลิเคชันอื่นสื่อสารกับมันได้ ดังนั้นจุดเน้นของ API คือไปสู่การสื่อสารหรือการโต้ตอบในขณะที่จุดเน้นของ API นั้นมีต่อการพัฒนาแอปพลิเคชัน
Visual Studio SDK เป็น SDK จาก Microsoft มันมีเอกสารตัวอย่างและรหัสที่นักพัฒนาใช้ในการพัฒนาผลิตภัณฑ์ที่รวมกับ Visual Studio ตัวอย่างอื่น ๆ ได้แก่ Windows 7 SDK, Mac OS X SDK โดยทั่วไปแล้ว SDK จะรวมสภาพแวดล้อมการพัฒนาแบบรวม (IDE) IDE นี้กลายเป็นอินเตอร์เฟสการเขียนโปรแกรมกลาง สภาพแวดล้อมนี้รวมถึงหน้าต่างการเขียนโปรแกรมแก้ไขภาพ ฯลฯ วัตถุเหล่านี้ทั้งหมดช่วยให้นักพัฒนาสามารถสร้างโปรแกรม ใน SDK บางตัวหนึ่งอาจพบกราฟิกตัวอย่างเช่นปุ่ม โดยทั่วไปแล้ว SDK เหล่านี้มีให้โดยไม่มีค่าใช้จ่ายหรือค่าใช้จ่ายใด ๆ
API และ SDK สามารถสร้างความแตกต่างได้ในหลาย ๆ จุด SDK เกี่ยวข้องกับแง่มุมที่กว้างขึ้นโดยรวมถึง API รหัสตัวอย่างเครื่องมือ ฯลฯ โดยทั่วไป API นั้นเกี่ยวกับข้อกำหนดและคำอธิบาย SDK ประกอบด้วยไลบรารีในขณะที่ API ให้คำอธิบายประเภทพารามิเตอร์ SDK มักจะมาพร้อมกับ API และดังนั้นคำจำกัดความของ SDK (ในบริบทนี้) จึงรวมถึงคำจำกัดความของ API ด้วย
การเปรียบเทียบระหว่าง SDK กับ API:
SDK | API | |
แบบเต็ม | ชุดพัฒนาซอฟต์แวร์ | Application Programming Interface |
คำนิยาม | มันคือชุดของเครื่องมือรหัสตัวอย่างและเอกสารประกอบ | มันเป็นอินเตอร์เฟซที่ระบุในการเก็บรวบรวมการทำงานของซอฟต์แวร์ |
ตัวอย่าง | Windows 7 SDK | Windows API |
ชนิด | เครื่องมือ | อินเตอร์เฟซ |
ความสัมพันธ์ซึ่งกันและกัน | โดยทั่วไปจะมี API หนึ่งหรือสองตัว | มันมาอย่างอิสระหรือเป็นสมาชิกของ SDK |
นิยามโดย Wikipedia | ชุดพัฒนาซอฟต์แวร์ (SDK หรือ“ devkit”) เป็นชุดเครื่องมือพัฒนาซอฟต์แวร์ที่อนุญาตให้สร้างแอพพลิเคชั่นสำหรับชุดซอฟต์แวร์กรอบซอฟต์แวร์แพลตฟอร์มฮาร์ดแวร์ระบบคอมพิวเตอร์คอนโซลวิดีโอเกมระบบปฏิบัติการหรือคล้ายกัน เวที | application programming interface (API) เป็นข้อกำหนดคุณสมบัติพื้นฐานของซอร์สโค้ดซึ่งมีวัตถุประสงค์เพื่อใช้เป็นส่วนต่อประสานโดยส่วนประกอบซอฟต์แวร์เพื่อสื่อสารระหว่างกัน API อาจมีข้อกำหนดสำหรับรูทีน, โครงสร้างข้อมูล, คลาสอ็อบเจ็กต์และตัวแปร |
คุณสมบัติ | จัดเตรียมเครื่องมือเพื่อช่วยโปรแกรมเมอร์ในการพัฒนาและใช้ API | อินเทอร์เฟซเข้าถึงความสามารถของแพลตฟอร์มและฟีเจอร์ |