API คืออะไร และกำลังเปลี่ยนแปลงโลกของการพัฒนาซอฟต์แวร์อย่างไร | AI GEN
BLOG - API คืออะไร และกำลังเปลี่ยนแปลงโลกของการพัฒนาซอฟต์แวร์อย่างไร | AI GEN

API คืออะไร และกำลังเปลี่ยนแปลงโลกของการพัฒนาซอฟต์แวร์อย่างไร

19 ต.ค. 2564 22:54 น.

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

แม้โดยคำจำกัดความ API ไม่จำเป็นต้องเป็นการเชื่อมต่อผ่านอินเตอร์เน็ตเท่านั้น (สามารถเรียกใช้ API กันได้ แม้ซอฟต์แวร์แต่ละตัวอยู่บนเครื่องเดียวกัน) แต่สิ่งที่ทำให้ API มีผลกระทบอย่างมากกับการพัฒนาซอฟต์แวร์ในปัจจุบันก็เพราะมันทำให้ซอฟต์แวร์ที่เขียนต่างภาษากัน ระบบปฏิบัติการต่างกัน อยู่คนละมุมของโลก สามารถเรียกใช้งานกันได้ นั่นแปลว่า ซอฟต์แวร์ที่สร้างโดยองค์กร A สามารถเรียกใช้ซอฟต์แวร์ที่สร้างโดยองค์กร B ซึ่งอาจมีความเชี่ยวชาญและทำผลิตภัณฑ์ที่ต่างกัน แต่อาจเสริมกันได้เป็นอย่างดี สร้างประโยชน์ให้กับผู้ใช้อย่างมาก ด้วยลักษณะที่เป็น modular (การแยกเป็นส่วน ๆ ) โปรแกรมเมอร์สามารถสร้างแอปพลิเคชันที่มี functionality มากมายได้ด้วยการเรียกใช้ API ของแต่ละบริการซอฟต์แวร์เฉพาะทางจากหลายที่ เสมือนการต่อชิ้นส่วนเลโก้ ทำให้ได้แอปพลิเคชันสุดท้ายที่มีความสามารถสูงโดยที่โปรแกรมเมอร์นั้นไม่จำเป็นต้องรู้สิ่งที่เกิดขึ้นภายในของซอฟต์แวร์ที่เรียกผ่าน API ต่าง ๆ เลย

ตัวอย่าง API ในชีวิตประจำวัน

2-13.png (1.90 MB)ภาพประกอบ : Canva

Twitter มี API ที่ช่วยให้นักพัฒนาสามารถเข้าถึงข้อมูลหลักของ Twitter และ Search API ไว้ให้นักพัฒนาใช้ในการโต้ตอบกับ Twitter Search และข้อมูลแนวโน้มต่าง ๆ ได้ ทุกครั้งที่เราใช้ Facebook ก็จะมีการเรียกใช้งานผ่าน API เพื่อนำผลมาแสดง การใช้งานค้นหาและจองตั๋วเครื่องบิน API ก็รับข้อมูลที่เรากรอกไป เพื่อส่งผ่านไปยัง engine ที่ทำการค้นหาไฟลต์ และส่งผลกลับมาให้เราดู แพลตฟอร์มอย่าง Zapier สามารถสร้าง automation ให้งานต่าง ๆ ระหว่างแอปพลิเคชันได้ด้วยการสื่อสารจากแอปพลิเคชันหนึ่งไปยังอีกอันหนึ่ง เช่น เมื่อมีอีเมล์เข้ามาทาง Gmail ให้ส่ง attachement ไปเก็บใน Google Drive และส่ง notification ไปยัง Slack ทั้งหลายเหล่านี้ล้วนแต่ต้องใช้ API ทั้งสิ้น

ชนิดของ API

เราสามารถแบ่งชนิดของ API ได้ต่าง ๆ กัน ดังนี้

1.ตามลักษณะการเข้าถึง

    1.1) Private : เป็น API ที่ใช้เรียกภายในองค์กรหรือระบบซอฟต์แวร์เดียวกัน

    1.2) Partner : เป็น API ที่ไว้ให้ partner รายใดรายหนึ่งเรียกใช้ ซึ่งอาจมีการ customize ตามที่ต้องการ และข้อตกลงทางธุรกิจโดยเฉพาะ

    1.3) Public : เป็น API ที่เปิดให้ใครก็ได้เรียกใช้ด้วยมาตรฐานเดียวกัน

2.ตามลักษณะการทำงาน

    2.1) Synchronous : เมื่อมีการเรียก API นี้ โปรแกรมจะหยุดเพื่อรอคำตอบจาก API จึงจะทำงานต่อได้

    2.2) Asynchronous : ตรงข้ามกับ synchronous โปรแกรมไม่หยุดทำงานเพื่อรอคำตอบจาก API แต่จะใช้การ callback เมื่อได้รับการเรียกกลับมาจาก API

ทั้งนี้ API แต่ละลักษณะมีข้อดีข้อเสียต่างกัน ที่เราควรจะเลือกให้เหมาะสมตามการใช้งาน

API banner.png (54 KB)

API ที่ดีเป็นอย่างไร

1-13.png (1.13 MB)ภาพประกอบ : Canva

  • API ที่ดีควรยึดตาม standard ที่เป็นที่รู้จักเพราะจะทำให้ง่ายต่อความเข้าใจและการนำไปใช้โดยนักพัฒนาอื่น ซึ่งปัจจุบันเรามักจะใช้ http protocol ซึ่งเป็น standard ของ internet และ REST API ซึ่งเป็น standard สำหรับการทำ API ส่วนข้อมูลที่ส่งกลับมาก็มักจะอยู่ในรูปแบบที่เป็นสแตนดาร์ด เช่น JSON format
  • การพัฒนา API ควรทำเช่นเดียวกับการพัฒนาซอฟต์แวร์ทั่วไป ไม่ว่าจะเป็นเรื่องการออกแบบ การทำเทสต์ การจัดการเวอร์ชัน รวมถึงการทำเอกสารประกอบ (documentation) ซึ่งสำคัญต่อการนำไปใช้โดยผู้อื่น
  • ต้องมีการ maintain และ support เวอร์ชันเก่าที่นักพัฒนาอื่นอาจยังใช้อยู่ และให้เวลาในการเปลี่ยนไปใช้เวอร์ชันที่ใหม่กว่า หรือมี backward compatibility
  • มีการรักษาความปลอดภัย ผ่านการใช้รหัสในการเรียกใช้บริการแต่ละครั้ง ซึ่งจะทำให้ข้อมูลภายในปลอดภัยและป้องกันการถูกโจมตีที่อาจทำให้บริการล่มใช้ไม่ได้
  • มี Service Level Agreement (SLA) ที่เป็นที่ยอมรับได้ เช่น เวลาการให้บริการ 24/7 และอัตราการให้บริการได้ที่สูงกว่า 99% จากเวลาทั้งหมด เป็นต้น

สรุป

ในโลกปัจจุบัน เราจะเห็นได้ว่าผู้พัฒนาซอฟต์แวร์ที่เป็นแพลตฟอร์มมักจะสร้าง API เพื่อเพิ่มมูลค่าของแพลตฟอร์มให้มากยิ่งขึ้นไปอีกจากการที่ 3rd party developer สามารถสร้างแอปพลิเคชันเสริม และ feature ใหม่ ๆ เพิ่มเติมจากที่มีอยู่ นอกจากนี้ ด้วยแนวโน้มของ no-code/low-code ที่ทำให้การพัฒนาโปรแกรมซอฟต์แวร์ง่ายดายมากขึ้น จากการที่มีชิ้นส่วนของซอฟต์แวร์ที่ทำหน้าที่ต่าง ๆ มาเชื่อมต่อกันผ่าน API ตอบโจทย์การพัฒนาซอฟต์แวร์ที่รวดเร็ว ง่ายดาย และค่าใช้จ่ายต่ำ แนวโน้มทางด้าน Hyperconnectivity ซึ่งหมายถึงการรับส่งข้อมูลจากหลายช่องทาง ทำให้การสื่อสารที่ไร้รอยต่อระหว่างระบบ และอุปกรณ์ต่าง ๆ ยิ่งมีความจำเป็นมากขึ้น อินเตอร์เน็ตและ API ทำให้ภาพนี้เป็นจริงขึ้นได้แล้ว และนั่นเป็นเหตุผลว่าทำไม API จึงเป็นส่วนสำคัญที่กำลังเปลี่ยนแปลงโลกของซอฟต์แวร์อยู่เบื้องหลังอย่างเงียบ ๆ 

บทความอื่น

ฝึกงาน Machine learning ไปพร้อมกับการ learning ที่ AIGEN

อ่านต่อ

5 ไอเดียในการนำเทคโนโลยี AI ไปใช้ในภาคธุรกิจ

อ่านต่อ

เทคโนโลยี OCR คืออะไร และมีขั้นตอนการทำงานอย่างไร?

อ่านต่อ

This website uses cookies

We use cookies to improve user experience, personalize ads, and analyze our traffic. We also share information about your use of our site with our social media, advertising and analytics partners.