API คืออะไร?

คุณคงเคยเห็นคำว่า“ API” ขึ้นมา ระบบปฏิบัติการเว็บเบราว์เซอร์และการอัปเดตแอปมักจะประกาศ API ใหม่สำหรับนักพัฒนา แต่ API คืออะไร?

อินเทอร์เฟซการเขียนโปรแกรมแอปพลิเคชัน

คำว่า API เป็นคำย่อและย่อมาจาก“ Application Programming Interface”

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

ในทำนองเดียวกัน API จะแสดงรายการการดำเนินการต่างๆที่นักพัฒนาสามารถใช้ได้พร้อมกับคำอธิบายสิ่งที่พวกเขาทำ นักพัฒนาไม่จำเป็นต้องรู้วิธีการเช่นระบบปฏิบัติการสร้างและแสดงกล่องโต้ตอบ "บันทึกเป็น" พวกเขาเพียงแค่ต้องรู้ว่ามีให้ใช้ในแอปของตน

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

แต่ความแม่นยำในวงกว้าง API ช่วยให้นักพัฒนาสามารถประหยัดเวลาได้โดยใช้ประโยชน์จากการใช้งานแพลตฟอร์มเพื่อทำงานที่ละเอียดอ่อน ซึ่งจะช่วยลดจำนวนนักพัฒนาโค้ดที่ต้องสร้างและยังช่วยสร้างความสอดคล้องกันมากขึ้นในแอพต่างๆสำหรับแพลตฟอร์มเดียวกัน API สามารถควบคุมการเข้าถึงทรัพยากรฮาร์ดแวร์และซอฟต์แวร์

API ทำให้ชีวิตง่ายขึ้นสำหรับนักพัฒนา

สมมติว่าคุณต้องการพัฒนาแอพสำหรับ iPhone ระบบปฏิบัติการ iOS ของ Apple มี API จำนวนมากเช่นเดียวกับระบบปฏิบัติการอื่น ๆ ทั้งหมดเพื่อให้คุณง่ายขึ้น

ตัวอย่างเช่นหากคุณต้องการฝังเว็บเบราว์เซอร์เพื่อแสดงหน้าเว็บอย่างน้อยหนึ่งหน้าคุณไม่จำเป็นต้องตั้งโปรแกรมเว็บเบราว์เซอร์ของคุณเองตั้งแต่ต้นสำหรับแอปพลิเคชันของคุณ คุณใช้ WKWebView API เพื่อฝังออบเจ็กต์เบราว์เซอร์ WebKit (Safari) ในแอปพลิเคชันของคุณ

หากคุณต้องการถ่ายภาพหรือวิดีโอจากกล้องของ iPhone คุณไม่จำเป็นต้องเขียนอินเทอร์เฟซกล้องของคุณเอง คุณใช้ API ของกล้องเพื่อฝังกล้องในตัวของ iPhone ในแอปของคุณ หากไม่มี API เพื่อให้ง่ายนักพัฒนาแอปจะต้องสร้างซอฟต์แวร์กล้องของตนเองและตีความอินพุตของฮาร์ดแวร์กล้อง แต่นักพัฒนาระบบปฏิบัติการของ Apple ได้ทำงานหนักทั้งหมดนี้เพื่อให้นักพัฒนาสามารถใช้ API ของกล้องเพื่อฝังกล้องจากนั้นเริ่มสร้างแอป และเมื่อ Apple ปรับปรุง API ของกล้องแอปทั้งหมดที่ต้องใช้จะใช้ประโยชน์จากการปรับปรุงนั้นโดยอัตโนมัติ

สิ่งนี้ใช้ได้กับทุกแพลตฟอร์ม ตัวอย่างเช่นคุณต้องการสร้างกล่องโต้ตอบบน Windows หรือไม่? มี API สำหรับสิ่งนั้น ต้องการรองรับการตรวจสอบลายนิ้วมือบน Android หรือไม่? มี API สำหรับสิ่งนั้นด้วยดังนั้นคุณไม่จำเป็นต้องทดสอบเซ็นเซอร์ลายนิ้วมือของผู้ผลิต Android รายอื่น นักพัฒนาไม่จำเป็นต้องสร้างวงล้อใหม่ซ้ำแล้วซ้ำเล่า

API ควบคุมการเข้าถึงทรัพยากร

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

ที่เกี่ยวข้อง: วิธีหยุดไม่ให้เว็บไซต์ขอตำแหน่งของคุณ

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

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

หลักการเดียวกันนี้ใช้กับระบบปฏิบัติการมือถือสมัยใหม่เช่น iOS และ Android โดยที่แอปบนอุปกรณ์เคลื่อนที่มีสิทธิ์ที่บังคับได้โดยการควบคุมการเข้าถึง API ตัวอย่างเช่นหากนักพัฒนาพยายามเข้าถึงกล้องผ่าน API ของกล้องคุณสามารถปฏิเสธคำขออนุญาตและแอปจะไม่สามารถเข้าถึงกล้องของอุปกรณ์ของคุณได้

ระบบไฟล์ที่ใช้สิทธิ์เช่นเดียวกับ Windows, Mac และ Linux มีการบังคับใช้สิทธิ์เหล่านั้นโดย API ระบบไฟล์ แอปพลิเคชันทั่วไปไม่มีการเข้าถึงโดยตรงไปยังฮาร์ดดิสก์ทางกายภาพดิบ แต่แอปต้องเข้าถึงไฟล์ผ่าน API

API ใช้สำหรับการสื่อสารระหว่างบริการ

API ถูกใช้ด้วยเหตุผลอื่น ๆ เช่นกัน ตัวอย่างเช่นหากคุณเคยเห็นวัตถุ Google Maps ที่ฝังอยู่ในเว็บไซต์แสดงว่าเว็บไซต์นั้นใช้ Google Maps API เพื่อฝังแผนที่นั้น Google เปิดเผย API แบบนี้ให้กับนักพัฒนาเว็บซึ่งสามารถใช้ API เพื่อลอกออบเจ็กต์ที่ซับซ้อนได้โดยตรงบนเว็บไซต์ของตน หากไม่มี API แบบนี้นักพัฒนาอาจต้องสร้างแผนที่ของตนเองและให้ข้อมูลแผนที่ของตนเองเพียงเพื่อใส่แผนที่แบบโต้ตอบเล็กน้อยบนเว็บไซต์

และเนื่องจากเป็น API Google จึงสามารถควบคุมการเข้าถึง Google Maps บนเว็บไซต์ของบุคคลที่สามได้ทำให้มั่นใจได้ว่าพวกเขาใช้มันอย่างสม่ำเสมอแทนที่จะพยายามฝังกรอบที่แสดงเว็บไซต์ Google Maps ให้วุ่นวายเป็นต้น

สิ่งนี้ใช้กับบริการออนไลน์ต่างๆมากมาย มี API สำหรับขอการแปลข้อความจาก Google Translate หรือฝังความคิดเห็นของ Facebook หรือทวีตจาก Twitter บนเว็บไซต์

ที่เกี่ยวข้อง: OAuth คืออะไร ปุ่มลงชื่อเข้าใช้ Facebook, Twitter และ Google เหล่านั้นทำงานอย่างไร

มาตรฐาน OAuth ยังกำหนด API จำนวนหนึ่งที่อนุญาตให้คุณลงชื่อเข้าใช้เว็บไซต์ด้วยบริการอื่นเช่นใช้บัญชี Facebook, Google หรือ Twitter เพื่อลงชื่อเข้าใช้เว็บไซต์ใหม่โดยไม่ต้องสร้างบัญชีผู้ใช้ใหม่สำหรับไซต์นั้น . API คือสัญญามาตรฐานที่กำหนดวิธีที่นักพัฒนาสื่อสารกับบริการและประเภทของผลลัพธ์ที่นักพัฒนาควรคาดหวังว่าจะได้รับกลับมา

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

เครดิตรูปภาพ: patpitchaya / Shutterstock.com