HDG อธิบาย: API คืออะไร?

บนอินเทอร์เน็ตที่เต็มไปด้วยคำย่อที่สับสนและไม่คุ้นเคย(confusing and unfamiliar acronyms)อาจทำให้สับสนได้ง่าย คำย่อของเว็บที่คุณอาจเคยได้ยินแต่ไม่เคยรู้สึกว่าได้รับแรงบันดาลใจให้ค้นหาคือ "API"

APIคืออะไร? APIเป็นตัวย่อสำหรับอินเทอร์เฟซการเขียนโปรแกรมแอปพลิเคชัน( application programming interface)และเป็นชื่อชุดของรูทีนและโปรโตคอลที่ทำให้กระบวนการสร้างแอปพลิเคชันซอฟต์แวร์ง่ายขึ้นมาก

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

อย่างไรก็ตามAPI(APIs)นั้นซับซ้อนและต้องการมากกว่าการสรุปโดยย่อ ในบทความนี้ เราจะมาดูวิธีการ ทำงานของ API(APIs)และเว็บไซต์และบริการที่ใช้งานกัน

API คืออะไรและทำงานอย่างไร(What Is An API and How Does It Work?)

ตอนนี้เราได้กำหนดแล้วว่าAPIเป็นชุดของรูทีนที่ชี้ซอฟต์แวร์ไปในทิศทางที่ถูกต้อง ทั้งหมดนี้ทำงานอย่างไร

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

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

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

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

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

API คือ อิน(API)เทอร์เฟซที่รับผิดชอบในการส่งข้อมูลจากฐานข้อมูลไปยังแอปพลิเคชัน ไม่ว่าจะเป็นเว็บไซต์ แอพมือถือ หรืออย่างอื่น API(APIs)ได้กลายเป็นวิธีมาตรฐานในการเข้าถึงและสื่อสารข้อมูลแอปพลิเคชันบนเว็บ และทุกเว็บไซต์หรือบริการสำคัญๆ ที่อาศัยการเชื่อมต่อจากบุคคลที่สามจะได้รับประโยชน์อย่างมากจากการให้บริการ

มี API ประเภทใดบ้าง?(What Types Of APIs Are There?)

โปรโตคอล API(API)มีหลายประเภทแต่ที่นิยมมากที่สุดสามประเภทคือSOAP ( Simple Object Access Protocol ), REST ( Representational State Transfer ) และRPC ( Remote Procedure Call )

SOAP APIs

SOAPเปิดตัวครั้งแรกในปลายปี 1990 และเปิดใช้งานแอปพลิเคชันเพื่อแบ่งปันทรัพยากรด้วยวิธีง่ายๆ ผ่านการใช้การเชื่อมต่อเครือข่าย SOAPอาศัยโปรโตคอลมาตรฐาน เช่นHTTPและSMTPซึ่งทำให้สามารถใช้งานได้ในทุกสภาพแวดล้อม เนื่องจากความนิยมของโปรโตคอลดังกล่าว

จุดแข็งหลักคือมีการใช้กันอย่างแพร่หลายและเป็นที่ยอมรับ ถ้ามันยังไม่พังก็อย่าซ่อมมัน

REST APIs

REST เปิดตัวใน ปี2000 โดยRoy Fielding เป้าหมายโดยตรงของมันคือเพื่อตอบสนองต่อปัญหาต่างๆ ที่เกิดขึ้นจากการนำSOAP ไปใช้ อย่าง แพร่หลาย

คล้ายกับSOAP RESTอาศัยHTTP ใน การถ่ายโอนข้อมูลระหว่างแอปพลิเคชัน อย่างไรก็ตาม ข้อแตกต่างที่สำคัญอย่างหนึ่งที่ทำให้ SOAP แตกต่างจากSOAPซึ่งต้องการให้ส่งข้อมูลผ่านรูปแบบข้อมูลXML ก็ คือ รองรับ JSON JSONเป็นรูปแบบข้อมูลที่หลายคนเห็นด้วยว่าอ่านและเขียนได้ง่ายกว่า นอกจากนี้REST APIsสามารถแคชข้อมูล ซึ่งช่วยให้มีประสิทธิภาพดีขึ้นมาก

ขณะนี้ REST มีสัดส่วนมากกว่า 80% ของAPI(APIs) ทั้งหมด ตามรายงานปี 2017 โดยCloud Elements(Cloud Elements)

RPC APIs

RPC API(RPC APIs)มีหลายรสชาติ แต่เมื่อเราเรียนรู้จากREST API(REST APIs)แล้วJSONเป็นรูปแบบข้อมูลยอดนิยม ดังนั้นJSON-RPCจึงเป็นที่นิยมมากที่สุด

JSON-RPCเป็นโปรโตคอลที่เหมาะสมที่สุดสำหรับผู้เรียบง่ายและผู้ใช้ที่พึ่งพาความตรงไปตรงมาของAPI มีขอบเขตที่แคบกว่ามากเมื่อเทียบกับSOAPและRESTและมีความยืดหยุ่นและชุดคำสั่งที่จำกัดมาก—แต่สำหรับนักพัฒนาบางคน น้อยแต่มาก

มี ประเภท API ที่ใช้ RPC อื่นๆ เช่น gRPC แต่JSON-RPCเป็นตัวเลือกที่ดีที่สุด หากลำดับความสำคัญของคุณคือความง่ายในการใช้งาน

ใครใช้ API(Who Uses APIs?)

นักพัฒนาทุกประเภท ไม่ว่าจะเป็น frontend หรือ backend ควรมีประสบการณ์ในการทำงานกับAPI (APIs)ในแง่ของเว็บไซต์หรือบริการเว็บ ผู้เล่นหลักเกือบทั้งหมดมีAPI บางประเภทที่ พร้อมใช้งาน ซึ่งเห็นได้ชัดที่สุดคือWindows

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

มีAPI(APIs) นับพันรายการ บางรายการฟรีและบางส่วนต้องชำระเงิน นี่เป็นเพียงตัวอย่างบางส่วนที่ควรค่าแก่การพิจารณา:

  • Google Play Developer API :การเผยแพร่และการจัดการแอพที่เกี่ยวข้องกับ Google Play
  • Skyscanner APIs : API(APIs)สำหรับการเดินทางที่เกี่ยวข้องกับเที่ยวบิน การเช่ารถ และอื่นๆ
  • Twilio API : อนุญาตให้(Allows)ส่งและรับสายโดยทางโปรแกรม
  • Discord API :อนุญาตให้ผู้ใช้สร้างบอทที่ทำให้ Discordเป็นบริการส่งข้อความที่เป็นอยู่ในปัจจุบัน
  • IPinfo API : ที่อยู่ IP แบบทันที(On-the-fly IP)และข้อมูลตำแหน่งทางภูมิศาสตร์สำหรับเว็บไซต์หรือแอปของคุณ

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



About the author

ฉันเป็นวิศวกรซอฟต์แวร์ที่มีประสบการณ์มากกว่า 10 ปีในการพัฒนาและบำรุงรักษาแอปพลิเคชัน Windows 11 หรือ 10 ฉันยังมีประสบการณ์ในการทำงานกับ Google Docs และ Microsoft Edge ทักษะของฉันในด้านเหล่านี้ทำให้ฉันเป็นผู้สมัครที่ยอดเยี่ยมสำหรับบทบาทวิศวกรรมซอฟต์แวร์ในอนาคต



Related posts