ความหมายของ API คืออะไร? [ปิด]


164

ฉันค้นหาคำจำกัดความของ API ในภาษาการเขียนโปรแกรมและฉันยังพบว่ามันยากที่จะเข้าใจ

ทุกคนสามารถให้คำแนะนำฉันได้ง่ายๆตามเงื่อนไขของคนธรรมดา:

  1. API คืออะไร
  2. มันใช้งานอย่างไร?
  3. ใช้เมื่อใดและที่ไหน

7
คุณลอง FOLDOC ก่อนหรือไม่? foldoc.org/APIคำจำกัดความของพวกเขาดูเหมือนจะเป็น "คนธรรมดา" สำหรับฉัน
Ray Toal

@pst ฉันจะต้องยอมรับว่า OP ได้ตรวจสอบวิกิพีเดียแล้วเพราะใครไม่ได้ตรวจสอบวิกิพีเดีย การใช้ถ้อยคำใส่ผิดที่เป็นไปได้ของการใช้คำจำกัดความของ FOLDOC 1995 ก่อนตรวจสอบวิกิพีเดีย ฉันควรจะลบความคิดเห็นหรือไม่
Ray Toal

หากคุณกำลังมองหาคำอธิบายของคนธรรมดาให้ลอง: welcomeetosoftware.com/what-is-an-api (ข้อจำกัดความรับผิดชอบ: ฉันเขียนไว้)
Sam Malayek

คำตอบ:


129

การค้นหาควรรวมถึง Wikipedia ซึ่งเป็นสิ่งที่ดีสำหรับแนวคิด / เงื่อนไขการเขียนโปรแกรมจำนวนมากเช่นApplication Programming Interface :

API คืออะไร

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

มันใช้งานอย่างไร?

เช่นเดียวกับกฎชุดใด ๆ ที่ใช้

ใช้เมื่อใดและที่ไหน

ขึ้นอยู่กับขอบเขตและ API ตามธรรมชาติ พิจารณาสิ่งเหล่านี้:

  1. ชุดคำสั่ง x86 (IA-32) (มีประโยชน์มาก ;-)
  2. BIOS โทรขัดจังหวะ
  3. OpenGLซึ่งมักถูกเปิดเผยว่าเป็นไลบรารี C
  4. การเรียกระบบ Core Windows: WinAPI
  5. ชั้นเรียนและวิธีการในห้องสมุดหลักของรูบี้
  6. Document Object Modelเปิดเผยโดยเบราว์เซอร์ JavaScript
  7. บริการบนเว็บเช่นที่จัดทำโดยกราฟ API ของ Facebook
  8. การประยุกต์ใช้โปรโตคอลเช่นJNI ใน Java

การเข้ารหัสที่มีความสุข


4
+1 เมื่อโทรออก "ดีมาก" สำหรับการคำนวณ Wikipedia นั้นยอดเยี่ยม บางคนอาจจำวิกิพีเดียกับการเปรียบเทียบ Britannica โดยธรรมชาติ: '' 'ตามวารสารวอลล์สตรีท: "[เวลส์] กล่าวว่าเขาดีใจที่ธรรมชาติเลือกที่จะเปรียบเทียบชุดรูปแบบที่เกี่ยวข้องกับวิทยาศาสตร์' เพราะในประวัติศาสตร์และสังคมศาสตร์ ปรับตัวลดลง. ในด้านอื่น ๆ - รวมถึงวิทยาศาสตร์คอมพิวเตอร์และประวัติของ 'Star Trek' เขากล่าว - วิกิพีเดียดีกว่า '' '' '(จากdailybarometer.com/forum/ ...... )
Ray Toal

2
@ user166390 รายการ wikipedia บน api ตอนนี้ค่อนข้างแย่ ... ฉันเขียน apis และรายการนั้นทำให้ฉันสับสนจริงๆ สิ่งที่ดีที่คุณยกมาในสิ่งที่คุณทำเพราะมันมีอะไรเลวร้ายลงมาก
eric

ฉันต้องการถามว่าเป็นไฟล์ php ที่ใส่เข้าไปใน url ของ ajax ขอ API หรือไม่หรือบางที ajax ร้องขอตัวเองเป็น API อยู่แล้ว?
Brownman Revival

API ยังใช้กับ Internet of Things ด้วยหรือไม่ หรืออุปกรณ์ IoT ส่งและรับข้อมูลได้อย่างไร
Pathros

57

API คืออินเทอร์เฟซที่คุณเข้าถึงรหัสของคนอื่นหรือรหัสของคนอื่นที่เข้าถึงคุณ ผลวิธีการสาธารณะและคุณสมบัติ


4
ประโยคสุดท้ายนั้นน่าจดจำและสามารถขยายได้เมื่อ ...
tumultous_rooster

45

1) API คืออะไร

API เป็นสัญญา สัญญาที่จะให้บริการตามที่อธิบายไว้เมื่อถูกถามในรูปแบบที่เฉพาะเจาะจง

2) ใช้อย่างไร?

ตามกฎที่ระบุไว้ในสัญญา จุดรวมของ API คือการกำหนดวิธีการใช้งาน

3) ใช้เมื่อใดและที่ไหน

ใช้เมื่อต้องแยกระบบ 2 ระบบขึ้นไปเพื่อทำงานร่วมกันเพื่อให้ได้สิ่งที่พวกเขาทำไม่ได้คนเดียว


44

นอกเหนือจากคำตอบทั้งหมดฉันแค่เพิ่มตัวอย่าง

ขณะที่คนอื่น ๆ ว่าผ่านที่API stands for Application Programming Interface softwares can interact with each otherหมายเหตุไม่ใช่ปฏิสัมพันธ์ของมนุษย์

จะใช้ที่ไหน

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

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

ฉันหวังว่ามันจะช่วยสำหรับผู้เริ่มต้นที่ไม่เข้าใจจริงๆว่า API คืออะไร

ตัวอย่างอื่น

แอปพยากรณ์อากาศ

ไม่มี API - แอปพลิเคชั่นสภาพอากาศจะต้องเปิดเว็บไซต์ Weather.com และอ่านรายละเอียดเหมือนที่มนุษย์ทำ

ด้วย API - แอปพลิเคชั่นสภาพอากาศจะส่งข้อความไปยัง weather.com และรับผลแล้วแสดง

แหล่งที่มา - แหล่งข้อมูลออนไลน์ต่างๆ


2
เห็นได้ชัดว่าการอธิบายด้วยตัวอย่างในชีวิตประจำวัน thaNKU มากจะเป็นประโยชน์ในการ freshers เช่นฉัน
ไทร

ดังนั้นในกรณีนี้ API คือ weather.com ที่ส่งข้อมูลตามคำขอของฉัน หรือ API เป็นแอพของฉันที่ส่งการร้องขอรับข้อมูลและแสดงมันอย่างใด? หรือ API คือความสัมพันธ์ของทั้ง weather.com และแอพของฉัน
Paweł

1
@ Paweł API จะเป็นแอปพลิเคชั่นที่ร้องขอข้อมูล
Gibbs

@ Pawełลองคิดดูวิธีนี้: มีสองอินเตอร์เฟสสำหรับแอป ก่อนอื่น UI (ส่วนต่อประสาน) สำหรับผู้ใช้ที่เป็นมนุษย์ ประการที่สองคือ API (ส่วนต่อประสาน) สำหรับโปรแกรมประยุกต์อื่น ดังนั้น API ระหว่างแอปพลิเคชันสภาพอากาศและ weather.com คือ weather.com
vpibano

15
  1. API (Application Programming Interface) เป็นชุดของฟังก์ชั่นที่กำหนดไว้และวิธีการในการเชื่อมต่อกับระบบปฏิบัติการพื้นฐานหรือโปรแกรมหรือบริการอื่นที่ทำงานอยู่บนคอมพิวเตอร์

  2. มันมักจะใช้โดยการสร้างการอ้างอิงไปยังห้องสมุดในซอฟต์แวร์ของคุณหรือนำเข้าฟังก์ชั่นจาก dll

  3. มันถูกใช้ในรูปแบบเดียวหรืออีกรูปแบบหนึ่งในซอฟต์แวร์เกือบทั้งหมดโดยมีการเรียกอย่างชัดเจนในโปรแกรมของคุณหรือเรียกโดยคอมไพเลอร์


10

API ย่อมาจาก Application Programming Interface เช่น API เป็นวิธีที่แอปพลิเคชันโต้ตอบกับระบบ / แอปพลิเคชัน / ไลบรารี / ฯลฯ

ตัวอย่างเช่นมี API สำหรับ OS (WinAPI), API สำหรับแอปพลิเคชันอื่น ๆ (เช่นฐานข้อมูล) และไลบรารีเฉพาะ (เช่นการประมวลผลภาพ) เป็นต้น

โดยทั่วไปแล้ว APIs จะได้รับการพัฒนาในรูปแบบที่สิ้นเปลืองโดยแอปพลิเคชันไคลเอนต์ สำหรับแอ็พพลิเคชัน C / C ++ เป็นไฟล์ส่วนหัวที่ตั้งค่าและไลบรารีแบบไดนามิก / สแตติก สำหรับ Java - ชุดของไห และอื่น ๆ


API ยังใช้กับ Internet of Things ด้วยหรือไม่ อุปกรณ์ IoT จะส่งและรับข้อมูลได้อย่างไร
Pathros

7

เป็นชุดของส่วนประกอบซอฟต์แวร์ที่ทำงานร่วมกัน มันมีชุดฟังก์ชั่นตัวแปรและคลาสอ็อบเจ็กต์สำหรับการสร้างแอปพลิเคชันระบบปฏิบัติการหรือสิ่งอื่นใด


6

ในแง่ของคนธรรมดาฉันมักจะพูดว่า API เป็นเหมือนนักแปลระหว่างคนสองคนที่พูดภาษาต่างกัน ในซอฟต์แวร์ข้อมูลสามารถใช้หรือแจกจ่ายโดยใช้ API (หรือนักแปล) เพื่อให้ซอฟต์แวร์สื่อสารสองชนิดที่แตกต่างกัน ซอฟต์แวร์ที่ดีมีตัวแปลที่แข็งแกร่ง (API) ที่ปฏิบัติตามกฎและโปรโตคอลเพื่อความปลอดภัยและความสะอาดของข้อมูล

ฉัน "ma นักการตลาดไม่ใช่ coder ทั้งหมดนี้อาจไม่ถูกต้องนัก แต่มันเป็นสิ่งที่ฉัน" ได้พยายามแสดงเป็นเวลาประมาณ 10 ปีแล้ว ...


5

API คือชุดคำสั่งฟังก์ชั่นและโปรโตคอลที่โปรแกรมเมอร์สามารถใช้เมื่อสร้างซอฟต์แวร์สำหรับระบบปฏิบัติการเฉพาะหรือซอฟต์แวร์อื่น ๆ API อนุญาตให้โปรแกรมเมอร์ใช้ฟังก์ชันที่กำหนดไว้ล่วงหน้าเพื่อโต้ตอบกับระบบปฏิบัติการแทนที่จะเขียนตั้งแต่ต้น ระบบปฏิบัติการคอมพิวเตอร์ทั้งหมดเช่น Windows, Unix และ Mac OS และภาษาเช่น Java จัดเตรียมอินเตอร์เฟสโปรแกรมประยุกต์สำหรับโปรแกรมเมอร์

แหล่ง


5

Conaider สถานการณ์นี้:

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

API เกือบจะเหมือนภาษามนุษย์ แต่สำหรับคอมพิวเตอร์


3

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

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

เป็นเรื่องปกติที่จะเรียก API ว่า "สัญญา" สิ่งนี้ไม่ถูกต้องอย่างน้อยก็ในแง่ของกฎหมายเนื่องจาก API ไม่ใช่ข้อตกลงแบบสองทาง ผู้ใช้ API (โดยทั่วไปซอฟต์แวร์ระดับสูงกว่า) จะไม่มีการป้อนข้อมูลลงใน API และการใช้งาน มันอาจใช้ API ตามที่เป็นอยู่หรือไม่ใช้เลย: เอาไปหรือทิ้ง!

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


0

ให้บอกว่าคุณกำลังพัฒนาเกมและคุณต้องการให้ผู้ใช้เกมลงชื่อเข้าใช้โปรไฟล์ Facebook ของพวกเขา (เพื่อรับข้อมูลโปรไฟล์ของคุณ) ก่อนเล่นเกมดังนั้นเกมของคุณจะเข้าถึงเฟสบุ๊คอย่างไร ตอนนี้ที่นี่มา API.Facebook ได้เขียนโปรแกรม (API) เพื่อให้คุณทำคุณต้องใช้โปรแกรมเหล่านั้นในแอปพลิเคชันเกมของคุณโดยใช้ Facebook-API คุณสามารถใช้บริการของพวกเขาในแอปพลิเคชันของคุณนี่เป็นสิ่งที่ดี และดูรายละเอียดเกี่ยวกับ API ... http://money.howstuffworks.com/business-communications/how-to-leverage-an-api-for-conferencing1.htm


3
และคุณไม่ได้บอกว่ามันคืออะไร ... :} และมันไม่เหมือนโปรแกรม แต่เป็นเพียงส่วนต่อประสาน วิธีการจัดการกับบางโปรแกรม
Kamiccolo

-1

Application program interface (API)เป็นชุดของรูทีนโปรโตคอลและเครื่องมือสำหรับการสร้างแอพพลิเคชั่นซอฟต์แวร์ API ระบุว่าองค์ประกอบของซอฟต์แวร์ควรมีปฏิสัมพันธ์อย่างไรและ API จะถูกใช้อย่างไรเมื่อเขียนโปรแกรมคอมโพเนนต์ส่วนติดต่อผู้ใช้แบบกราฟิก (GUI) API ที่ดีทำให้การพัฒนาโปรแกรมง่ายขึ้นโดยการจัดเตรียม Building Block ทั้งหมด โปรแกรมเมอร์วางบล็อกไว้ด้วยกัน

แหล่งที่มา: http://www.webopedia.com/TERM/A/API.html

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.