API คืออะไร
คุณอาจเห็นคำว่า“ API” เกิดขึ้น ระบบปฏิบัติการเว็บเบราว์เซอร์และแอพอัปเดตมักจะประกาศ API ใหม่สำหรับนักพัฒนา แต่ API คืออะไร?
Application Programming Interface
คำว่า 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 ยังใช้เพื่อควบคุมการเข้าถึงอุปกรณ์ฮาร์ดแวร์และฟังก์ชั่นซอฟต์แวร์ที่แอปพลิเคชันอาจไม่จำเป็นต้องได้รับอนุญาตให้ใช้ นั่นเป็นเหตุผลที่ APIs มักมีบทบาทสำคัญในการรักษาความปลอดภัย.
ตัวอย่างเช่นหากคุณเคยเยี่ยมชมเว็บไซต์และเห็นข้อความในเบราว์เซอร์ของคุณว่าเว็บไซต์ขอให้ดูตำแหน่งที่แม่นยำของคุณเว็บไซต์นั้นกำลังพยายามใช้ API ตำแหน่งทางภูมิศาสตร์ในเว็บเบราว์เซอร์ของคุณ เว็บเบราว์เซอร์เปิดเผย APIs เช่นนี้เพื่อให้นักพัฒนาเว็บสามารถเข้าถึงตำแหน่งของคุณได้ง่ายพวกเขาสามารถถาม“ คุณอยู่ไหน?” และเบราว์เซอร์ทำงานอย่างหนักในการเข้าถึง GPS หรือเครือข่าย Wi-Fi ใกล้เคียงเพื่อค้นหาตำแหน่งทางกายภาพของคุณ.
อย่างไรก็ตามเบราว์เซอร์ยังเปิดเผยข้อมูลนี้ผ่าน API เพราะเป็นไปได้ในการควบคุมการเข้าถึง เมื่อเว็บไซต์ต้องการเข้าถึงที่ตั้งทางกายภาพของคุณวิธีเดียวที่พวกเขาจะได้รับคือผ่าน API ตำแหน่ง และเมื่อเว็บไซต์พยายามที่จะใช้งานคุณผู้ใช้สามารถเลือกที่จะอนุญาตหรือปฏิเสธคำขอนี้ วิธีเดียวในการเข้าถึงทรัพยากรฮาร์ดแวร์เช่นเซ็นเซอร์ GPS คือผ่าน API ดังนั้นเบราว์เซอร์สามารถควบคุมการเข้าถึงฮาร์ดแวร์และ จำกัด สิ่งที่แอพสามารถทำได้.
หลักการเดียวกันนี้ใช้กับระบบปฏิบัติการมือถือสมัยใหม่เช่น iOS และ Android ที่แอพมือถือมีสิทธิ์ที่สามารถบังคับใช้โดยการควบคุมการเข้าถึง API ตัวอย่างเช่นหากนักพัฒนาซอฟต์แวร์พยายามเข้าถึงกล้องผ่าน API กล้องคุณสามารถปฏิเสธคำขออนุญาตและแอปไม่มีทางเข้าถึงกล้องของอุปกรณ์ของคุณ.
ระบบไฟล์ที่ใช้การอนุญาตเช่นเดียวกับที่ทำใน Windows, Mac และ Linux จะมีการบังคับใช้สิทธิ์เหล่านั้นโดย API ระบบไฟล์ แอปพลิเคชันทั่วไปไม่มีการเข้าถึงโดยตรงไปยังฮาร์ดดิสก์ทางกายภาพแบบดิบ แอปต้องเข้าถึงไฟล์ผ่าน API แทน.
APIs ใช้สำหรับการสื่อสารระหว่างบริการ
API ใช้สำหรับเหตุผลอื่น ๆ ทุกชนิดเช่นกัน ตัวอย่างเช่นหากคุณเคยเห็นวัตถุ Google Maps ฝังอยู่ในเว็บไซต์เว็บไซต์นั้นใช้ Google Maps API เพื่อฝังแผนที่นั้น Google เปิดเผย APIs เช่นนี้แก่ผู้พัฒนาเว็บซึ่งสามารถใช้ API เพื่อทำออบเจ็กต์ที่ซับซ้อนได้โดยตรงบนเว็บไซต์ของพวกเขา หากไม่มี API แบบนี้นักพัฒนาอาจต้องสร้างแผนที่ของตัวเองและให้ข้อมูลแผนที่ของตัวเองเพื่อใส่แผนที่แบบโต้ตอบลงบนเว็บไซต์.
และเนื่องจากเป็น API จึงทำให้ Google สามารถควบคุมการเข้าถึง Google Maps บนเว็บไซต์บุคคลที่สามทำให้มั่นใจได้ว่าพวกเขาใช้มันในลักษณะที่สอดคล้องกันแทนที่จะพยายามฝังเฟรมที่แสดงเว็บไซต์ Google Maps อย่างไม่เป็นระเบียบ.
สิ่งนี้ใช้กับบริการออนไลน์ที่แตกต่างกันมากมาย มี API สำหรับการขอแปลข้อความจาก Google Translate หรือฝังความคิดเห็น Facebook หรือทวีตจาก Twitter บนเว็บไซต์.
มาตรฐาน OAuth ยังกำหนดจำนวน API ที่อนุญาตให้คุณลงชื่อเข้าใช้เว็บไซต์ด้วยบริการอื่นเช่นใช้บัญชี Facebook, Google หรือ Twitter เพื่อลงชื่อเข้าใช้เว็บไซต์ใหม่โดยไม่ต้องสร้างบัญชีผู้ใช้ใหม่สำหรับเว็บไซต์นั้น . API เป็นสัญญามาตรฐานที่กำหนดวิธีที่นักพัฒนาสื่อสารกับบริการและประเภทของผลลัพธ์ที่นักพัฒนาซอฟต์แวร์ควรคาดหวังว่าจะได้รับคืน.
หากคุณได้รับสิ่งนี้คุณจะมีความคิดที่ดีขึ้นว่า API คืออะไร ท้ายที่สุดคุณไม่จำเป็นต้องรู้ว่า API คืออะไรเว้นแต่คุณจะเป็นนักพัฒนาซอฟต์แวร์ แต่ถ้าคุณเห็นแพลตฟอร์มซอฟต์แวร์หรือบริการได้เพิ่ม API ใหม่สำหรับฮาร์ดแวร์หรือบริการต่าง ๆ มันจะง่ายกว่าสำหรับนักพัฒนาในการใช้ประโยชน์จากคุณสมบัติดังกล่าว.
เครดิตรูปภาพ: patpitchaya / Shutterstock.com.