한국   대만   중국   일본 
Giao di?n l?p trinh ?ng d?ng ? Wikipedia ti?ng Vi?t B??c t?i n?i dung

Giao di?n l?p trinh ?ng d?ng

Bach khoa toan th? m? Wikipedia
(đ?i h??ng t? API )
?nh ch?p man hinh tai li?u API web vi?t b?i NASA

M?t giao di?n l?p trinh ?ng d?ng ( ti?ng Anh : application programming interface , vi?t t?t: API ) la m?t giao di?n ma m?t h? th?ng may tinh hay ?ng d?ng cung c?p đ? cho phep cac yeu c?u d?ch v? co th? đ??c t?o ra t? cac ch??ng trinh may tinh khac, va/ho?c cho phep d? li?u co th? đ??c trao đ?i qua l?i gi?a chung. Ch?ng h?n, m?t ch??ng trinh may tinh co th? (va th??ng la ph?i) dung cac ham API c?a h? đi?u hanh đ? xin c?p phat b? nh? va truy xu?t t?p tin. Nhi?u lo?i h? th?ng va ?ng d?ng th?c hi?n API, nh? cac h? th?ng đ? h?a, c? s? d? li?u, m?ng, d?ch v? web, va ngay c? m?t s? tro ch?i may tinh. đay la ph?n m?m h? th?ng cung c?p đ?y đ? cac ch?c n?ng va cac tai nguyen ma cac l?p trinh vien co th? rut ra t? đo đ? t?o nen cac tinh n?ng giao ti?p ng??i - may nh?: cac trinh đ?n keo xu?ng, ten l?nh, h?p h?i tho?i, l?nh ban phim va cac c?a s?. M?t trinh ?ng d?ng co th? s? d?ng no đ? yeu c?u va thi hanh cac d?ch v? c?p th?p do h? đi?u hanh c?a may tinh th?c hi?n. H? giao ti?p l?p trinh ?ng d?ng giup ich r?t nhi?u cho ng??i s? d?ng vi no cho phep ti?t ki?m đ??c nhi?u th?i gian tim hi?u cac ch??ng trinh m?i, do đo khich l? m?i ng??i dung nhi?u ?ng d?ng h?n.

Mo t? [ s?a | s?a ma ngu?n ]

M?t trong cac m?c đich chinh c?a m?t API la cung c?p kh? n?ng truy xu?t đ?n m?t t?p cac ham hay dung ? vi d?, ham đ? v? cac c?a s? hay cac icon tren man hinh. Cac API, c?ng nh? h?u h?t cac interfaces , la tr?u t??ng ( abstract ). Ph?n m?m ma mu?n cung c?p truy xu?t đ?n chinh no thong qua cac API cho s?n, ph?i hi?n th?c API đo. Trong nhi?u tinh hu?ng, m?t API th??ng la m?t ph?n c?a b? SDK , hay software development kit . M?t b? SDK co th? bao g?m m?t API c?ng nh? cac cong c?/ph?n c?ng, vi th? hai thu?t ng? nay khong thay th? cho nhau đ??c.

Co nhi?u mo hinh thi?t k? khac nhau cho cac APIs. Interfaces nh?m la cach th?c thi nhanh nh?t th??ng g?m cac t?p cac ham , th? t?c , bi?n va cac c?u truc d? li?u . Tuy nhien, cac mo hinh khac v?n t?n t?i, nh? b? thong d?ch dung đ? ??c gia bi?u th?c trong ECMAScript / JavaScript . M?t API t?t th??ng cung c?p m?t "h?p đen" hay la m?t l?p tr?u t??ng ( abstraction layer ) bao b?c no, nh?m đ?m b?o la nha l?p trinh khong th? bi?t cach hi?n th?c c? th? ben trong c?a m?i ham trong API. đi?u nay lam cho vi?c thi?t k? l?i hay c?i ti?n ham c?a API đo tr? nen d? dang h?n vi no khong lam đ? ? cac đo?n ma khac ma co s? d?ng cac ham đo.

Co hai dong chinh sach đ?i v?i vi?c cong b? cac APIs:

  1. M?t s? cong ty b?o v? APIs c?a h? m?t cach m?nh m?. Vi d?, Sony th??ng ch? cung c?p API chinh th?c c?a PlayStation 2 cho cac nha phat tri?n PlayStation co đ?ng ky. đi?u nay la vi Sony mu?n gi?i h?n nh?ng ng??i co th? vi?t tro ch?i tren PlayStation 2, va mu?n thu l?i nhu?n t? nh?ng ng??i nay cang nhi?u cang t?t. đay th??ng la chinh sach đ?i v?i cac cong ty ma h? khong thu l?i t? vi?c ban cac hi?n th?c API c?a h?. Tuy nhien, PlayStation 3 la cong b? hoan toan APIs.
  2. M?t s? cong ty thi cung c?p mi?n phi APIs. Vi d?, Microsoft cong b? h?u nh? hoan toan thong tin v? cac API, đ? cho cac ph?n m?m co th? đ??c vi?t ch?y tren n?n Windows. Vi?c ban c?a cac ph?n m?m hang th? 3 đ?ng th?i v?i vi?c ph?i mua H? đi?u hanh Microsoft Windows. đay th??ng la cac cong ty thu l?i nhu?n t? vi?c ban cac hi?n th?c API.

M?t s? APIs, ch?ng h?n cac API la chu?n cho m?t h? đi?u hanh , đ??c hi?n th?c d??i d?ng cac th? vi?n ma đ?c l?p đ??c phan ph?i kem theo h? đi?u hanh. M?t s? khac thi đoi h?i nha s?n xu?t ph?n m?m ph?i tich h?p API tr?c ti?p vao trong ch??ng trinh. Microsoft Windows APIs đi kem theo h? đi?u hanh cho phep m?i ng??i co th? s? d?ng chung. Ph?n m?m cho cac h? th?ng nhung nh? thi?t b? ch?i tro ch?i th??ng thu?c vao lo?i tich h?p vao trong ?ng d?ng. Trong khi cac tai li?u API chinh th?c c?a PlayStation la nen đ?c, nh?ng no ch?ng giup ich gi n?u ta ch?ng co cac hi?n th?c c?a no, d??i d?ng m?t th? vi?n đ?c l?p hay b? phat tri?n ph?n m?m .

M?t API ma cho phep truy xu?t va s? d?ng t? do đ??c g?i la "m?." Cac APIs đ??c cung c?p b?i ph?n m?m m? (nh? m?i ph?n m?m đ??c phan ph?i theo gi?y phep đ?ng ky GNU ), la m? theo đung ngh?a, vi m?i ng??i co th? xem ma ngu?n c?a ph?n m?m va tim ra API. M?c du vi?c tham kh?o hi?n th?c v?n t?n t?i cho m?t API (nh? v?i Microsoft Windows cho Win32 API), thi vi?c t?o them cac hi?n th?c b? sung v?n co th? di?n ra. Vi d?, h?u h?t cac Win32 API co th? đ??c cung c?p t? h? th?ng UNIX dung ph?n m?m ten la Wine .

Xem them [ s?a | s?a ma ngu?n ]

Tham kh?o [ s?a | s?a ma ngu?n ]

Lien k?t ngoai [ s?a | s?a ma ngu?n ]