ฉันจะอธิบายความแตกต่างระหว่าง API และ SDK กับผู้ที่ไม่รู้อะไรเกี่ยวกับพวกเขาได้อย่างไร


ตอบ 1:

ทั้งสองมีวัตถุประสงค์เพื่อนักพัฒนา แต่ในระดับที่แตกต่างกัน ความแตกต่างเกี่ยวกับตำแหน่งที่คุณนั่งเป็นนักพัฒนาสัมพันธ์กับผู้ใช้และไม่ว่าคุณจะสร้างบางสิ่งบางอย่างตั้งแต่เริ่มต้นหรือการใช้งานฟังก์ชั่นที่มีอยู่และบรรจุภัณฑ์สำหรับผู้ใช้ปลายทาง อาจมีพื้นที่สีเทาระหว่างการสร้างและการบริโภคเพราะมันสามารถเกิดขึ้นใกล้กัน - ความแตกต่างสามารถเปลี่ยนเป็นผมได้ในบางกรณี

SDK เป็นเหมือนกล่องของ Legos - คุณต้องทำชุดประกอบทั้งหมด แต่มีการจัดวางชิ้นส่วนและเอกสารให้คุณ ด้วยวิธีนี้คุณกำลังสร้างเพราะ SDK เป็นวัตถุดิบและเอกสารเป็นส่วนใหญ่

API คือ“ การสร้างเสร็จสิ้น” สำหรับวัตถุประสงค์เฉพาะ แต่ไม่มีส่วนต่อประสานผู้ใช้ ดังนั้นเมื่อทำงานกับ API คุณกำลังใช้ API นั้นในขณะที่สร้างส่วนติดต่อผู้ใช้สำหรับผู้ใช้ปลายทาง ดังนั้นจึงมีการผสมผสานระหว่างการสร้างและการบริโภคเมื่อเข้าใกล้ API


ตอบ 2:

ฉันไม่แน่ใจว่าฉันจะเรียก SDK สูตรผสมเค้กหรือไม่ฉันจะเรียกสูตร API อีกสองคำตอบนั้นถูกต้องทางเทคนิค แต่ฉันคิดว่าส่วนหนึ่งของปัญหาที่นี่คือหนึ่งในผู้ชม คนเหล่านี้ไม่ใช่ช่างเทคนิคดังนั้นสิ่งที่ดูเหมือนคำอธิบายที่ชัดเจนอาจไม่เป็นเช่นนั้น

ฉันคิดว่าการเปรียบเทียบนั้นใช้ได้ แต่ต้องแสดงความแตกต่างระหว่างสองสิ่งอย่างแท้จริงและอย่างที่คุณพูดสูตรผสมเค้กและสูตรอาหารไม่ได้ให้สิ่งนั้นจริงๆ ตัวอย่างของฉันใช้สองสิ่งที่ไม่เกี่ยวข้องแทนที่จะเป็นสิ่งที่เกี่ยวข้องและทำให้สิ่งต่าง ๆ มีความซับซ้อน แต่ฉันคิดว่ามันอาจช่วยได้

การใช้เกินขนาดของฉันสำหรับ API คือดูเฉพาะ CRUD API ด้วยเหตุนี้จึงถือได้ว่าคล้ายกับธนาคาร คุณสามารถเปิดบัญชีเพื่อเก็บเงินของคุณ (สร้าง) คุณสามารถตรวจสอบยอดเงินในบัญชีของคุณ (อ่าน) คุณสามารถเพิ่มหรือลบเงินจากมัน (อัปเดต) และคุณสามารถปิด (ลบ) คุณอาจได้รับอนุญาตให้ดูฝากเงินและรับเงินจากบัญชีที่เป็นของผู้อื่น (การรับรองความถูกต้องและการอนุญาต)

ในทางตรงกันข้าม SDK เป็นเหมือนชุดเครื่องมือ มันมีสิ่งต่าง ๆ ที่คุณสามารถใช้เพื่อสร้างหรือบำรุงรักษาบางสิ่งบางอย่าง คุณอาจพบค้อนไขควงบางคีม ฯลฯ ในนั้น


ตอบ 3:

สิ่งนี้เตือนให้ฉันพูดคุยกับเพื่อนนักเคมีของฉันซึ่งรู้สึกรำคาญกับการสนทนาที่เกิดขึ้นกับเพื่อนวิศวกรซอฟต์แวร์รายอื่น

เราต้องอธิบายสิ่งต่าง ๆ ให้เขาดังนั้นเราจึงเลือกบางอย่างที่เขาเป็นผู้เชี่ยวชาญอยู่แล้ว

ดังนั้นการสนทนาเป็นเช่นนี้:

CF (เพื่อนนักเคมี): พวกคุณทำให้ฉันหงุดหงิดกับบางสิ่งเกี่ยวกับ API และ SDK บางตัวนั่นคืออะไร?

US (ฉันและ SF (เพื่อนซอฟต์แวร์)): ฮ่าฮ่าโอเค ..

สหรัฐอเมริกา: ให้ใช้ API เป็นเหมือนสิ่งของที่คุณถือในร้านเช่นแท็บเล็ตการฉีดน้ำเชื่อมเครื่องดื่มและอื่น ๆ

และ SDK สามารถรวบรวมรายการทั้งหมดข้างต้นซึ่งเป็นร้านค้าของคุณ

หากมีคนต้องการฉีดนั่นหมายความว่าเขาต้องใช้ API

หากมีคนต้องการยาจำนวนมากพวกเขาสามารถเลือกไปที่ร้านขายยา

CF: โอ้ใช่แล้วยังไงก็ตามฉันไม่ค่อยได้รับเท่าไหร่ แต่มันช่วยได้