Giao diện lập trình ứng dụng

Ảnh chụp màn hình tài liệu API web viết bởi NASA

Một giao diện lập trình ứng dụng (tiếng Anh: application programming interface, viết tắt: API) là một giao diện mà một hệ thống máy tính hay ứng dụng cung cấp để cho phép các yêu cầu dịch vụ có thể được tạo ra từ các chương trình máy tính khác, và/hoặc cho phép dữ liệu có thể được trao đổi qua lại giữa chúng. Chẳng hạn, một chương trình máy tính có thể (và thường là phải) dùng các hàm API của hệ điều hành để xin cấp phát bộ nhớ và truy xuất tập tin. Nhiều loại hệ thống và ứng dụng thực hiện API, như các hệ thống đồ họa, cơ sở dữ liệu, mạng, dịch vụ web, và ngay cả một số trò chơi máy tính. Đây là phần mềm hệ thống cung cấp đầy đủ các chức năng và các tài nguyên mà các lập trình viên có thể rút ra từ đó để tạo nên các tính năng giao tiếp người - máy như: các trình đơn kéo xuống, tên lệnh, hộp hội thoại, lệnh bàn phím và các cửa sổ. Một trình ứng dụng có thể sử dụng nó để yêu cầu và thi hành các dịch vụ cấp thấp do hệ điều hành của máy tính thực hiện. Hệ giao tiếp lập trình ứng dụng giúp ích rất nhiều cho người sử dụng vì nó cho phép tiết kiệm được nhiều thời gian tìm hiểu các chương trình mới, do đó khích lệ mọi người dùng nhiều ứng dụng hơn.

Mô tả

Một trong các mục đích chính của một API là cung cấp khả năng truy xuất đến một tập các hàm hay dùng — ví dụ, hàm để vẽ các cửa sổ hay các icon trên màn hình. Các API, cũng như hầu hết các interfaces, là trừu tượng (abstract). Phần mềm mà muốn cung cấp truy xuất đến chính nó thông qua các API cho sẵn, phải hiện thực API đó. Trong nhiều tình huống, một API thường là một phần của bộ SDK, hay software development kit. Một bộ SDK có thể bao gồm một API cũng như các công cụ/phần cứng, vì thế hai thuật ngữ này không thay thế cho nhau được.

Có nhiều mô hình thiết kế khác nhau cho các APIs. Interfaces nhằm là cách thực thi nhanh nhất thường gồm các tập các hàm, thủ tục, biến và các cấu trúc dữ liệu. Tuy nhiên, các mô hình khác vẫn tồn tại, như bộ thông dịch dùng để ước giá biểu thức trong ECMAScript/JavaScript. Một API tốt thường cung cấp một "hộp đen" hay là một lớp trừu tượng (abstraction layer) bao bọc nó, nhằm đảm bảo là nhà lập trình không thể biết cách hiện thực cụ thể bên trong của mỗi hàm trong API. Điều này làm cho việc thiết kế lại hay cải tiến hàm của API đó trở nên dễ dàng hơn vì nó không làm đổ ỗ các đoạn mã khác mà có sử dụng các hàm đó.

Có hai dòng chính sách đối với việc công bố các APIs:

  1. Một số công ty bảo vệ APIs của họ một cách mạnh mẽ. Ví dụ, Sony thường chỉ cung cấp API chính thức của PlayStation 2 cho các nhà phát triển PlayStation có đăng ký. Điều này là vì Sony muốn giới hạn những người có thể viết trò chơi trên PlayStation 2, và muốn thu lợi nhuận từ những người này càng nhiều càng tốt. Đây thường là chính sách đối với các công ty mà họ không thu lợi từ việc bán các hiện thực API của họ. Tuy nhiên, PlayStation 3 là công bố hoàn toàn APIs.
  2. Một số công ty thì cung cấp miễn phí APIs. Ví dụ, Microsoft công bố hầu như hoàn toàn thông tin về các API, để cho các phần mềm có thể được viết chạy trên nền Windows. Việc bán của các phần mềm hãng thứ 3 đồng thời với việc phải mua Hệ điều hành Microsoft Windows. Đây thường là các công ty thu lợi nhuận từ việc bán các hiện thực API.

Một số APIs, chẳng hạn các API là chuẩn cho một hệ điều hành, được hiện thực dưới dạng các thư viện mã độc lập được phân phối kèm theo hệ điều hành. Một số khác thì đòi hỏi nhà sản xuất phần mềm phải tích hợp API trực tiếp vào trong chương trình. Microsoft Windows APIs đi kèm theo hệ điều hành cho phép mọi người có thể sử dụng chúng. Phần mềm cho các hệ thống nhúng như thiết bị chơi trò chơi thường thuộc vào loại tích hợp vào trong ứng dụng. Trong khi các tài liệu API chính thức của PlayStation là nên đọc, nhưng nó chẳng giúp ích gì nếu ta chẳng có các hiện thực của nó, dưới dạng một thư viện độc lập hay bộ công cụ phát triển phần mềm.

Một API mà cho phép truy xuất và sử dụng tự do được gọi là "mở." Các APIs được cung cấp bởi phần mềm mở (như mọi phần mềm được phân phối theo giấy phép đăng ký GNU), là mở theo đúng nghĩa, vì mọi người có thể xem mã nguồn của phần mềm và tìm ra API. Mặc dù 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), thì việc tạo thêm các hiện thực bổ sung vẫn có thể diễn ra. Ví dụ, hầu hết các Win32 API có thể được cung cấp từ hệ thống UNIX dùng phần mềm tên là Wine.

Xem thêm

Tham khảo

Liên kết ngoài

Read other articles:

No debe confundirse con su equipo femenino, el F. C. Unión Berlín (femenino). F. C. Unión Berlín Datos generalesNombre 1. Fußballclub Union Berlin e. V.Apodo(s) Die Eisernen (Los de hierro)Eisern Union (Unión de hierro)Die Schlosserjungs (Los chicos cerrajeros)Fundación 17 de junio de 1906 (117 años)Refundación 20 de enero de 1966 (57 años)Presidente Dirk ZinglerEntrenador Nenad BjelicaInstalacionesEstadio Alte FörstereiUbicación Berlín, AlemaniaCapacidad 22 012 (espect...

 

Анкудинова Розита АндріанівнаАнкудинова Розита Андриановна Народилася 25 квітня 1926(1926-04-25)Іжевськ, РСФРР, СРСРПомерла 2 серпня 2012(2012-08-02) (86 років)Країна  СРСР РосіяДіяльність диригентка, хормейстеркаЗнання мов російськаНагороди Анкуди́нова Рози́та Андріа́нівна (...

 

Artikel bertopik bandar udara ini perlu dikembangkan agar dapat memenuhi kriteria sebagai entri Wikipedia.Bantulah untuk mengembangkan artikel ini. Jika tidak dikembangkan, artikel ini akan dihapus. Artikel ini tidak memiliki referensi atau sumber tepercaya sehingga isinya tidak bisa dipastikan. Tolong bantu perbaiki artikel ini dengan menambahkan referensi yang layak. Tulisan tanpa sumber dapat dipertanyakan dan dihapus sewaktu-waktu.Cari sumber: Bandar Udara Pangsuma – ...

Chrissy Houlahan Christina Marie Chrissy Houlahan (/ˈhuːləhæn/ hoo-LƏ-hann; née Jampoler; lahir 5 Juni 1967)[1] adalah seorang politikus, insinyur, dan mantan perwira Angkatan Udara Amerika Serikat. Ia adalah anggota Partai Demokrat. Referensi ^ Chrissy Houlahan For U.S. Congress. Chrissy for Congress (dalam bahasa Inggris). Diakses tanggal June 30, 2020.  Pranala luar Wikimedia Commons memiliki media mengenai Chrissy Houlahan. Congresswoman Chrissy Houlahan official U.S. H...

 

Eindklassement Algemeen klassement Giovanni Brunero 137h 55' 59 Tweede Alfredo Binda + 15' 28 Derde Arturo Bresciani + 54' 41 Vierde Ermanno Vallazza + 1h 11' 38 Vijfde Giuseppe Enrici + 1h 15' 57 Zesde Pierino Bestetti + 1h 26' 00 Zevende Gianbattista Gilli + 2h 02' 52 Achtste Angelo Gremo + 3h 16' 58 Negende Michele Robotti + 3h 41' 39 Tiende Ezio Cortesia + 3h 59' 18 Rode Lantaarn Giuseppe Chiesa (40e) + 27h 26' 56 Ploegenklassement Legnano ...h ..' .. Tweede ... - Derde ... - De 14e editi...

 

Badesi BadèsiKomuneComune di BadesiLokasi Austis di Provinsi NuoroNegara ItaliaWilayah SardiniaProvinsiSassari (SS)Pemerintahan • Wali kotaGiovanni Maria MamiaLuas • Total31,30 km2 (12,08 sq mi)Ketinggian102 m (335 ft)Populasi (2016) • Total1,849[1]Zona waktuUTC+1 (CET) • Musim panas (DST)UTC+2 (CEST)Kode pos07030Kode area telepon079Situs webhttp://www.comunebadesi.ot.it Badesi (bahasa Sardinia: Badès...

Đối với các định nghĩa khác, xem Hà Tây. Hexi河西区—  District  — HexiCountryPeople's Republic of ChinaMunicipalityTianjinTownship-level divisions13 subdistrictsDiện tích • Tổng cộng37 km2 (14 mi2)Dân số (2020) • Tổng cộng822,174 • Mật độ22/km2 (58/mi2)Múi giờChina Standard (UTC+8)Mã bưu chính300202Tianjin district mapBản mẫu:Tianjin districtsTrang...

 

This article is about the former station in Headland, Hartlepool. For the current station in central Hartlepool (formerly West Hartlepool), see Hartlepool railway station. Former railway station in England HartlepoolThe site of the second station in January 2015General informationLocationHeadland, HartlepoolEnglandCoordinates54°41′55″N 1°11′16″W / 54.6987°N 1.1877°W / 54.6987; -1.1877Platforms1Other informationStatusDisusedHistoryOriginal companyHartlepool ...

 

Теорія запасів — розділ дослідження операцій, що вивчає закономірності утворення і витрачання запасів і розробляє рекомендації з оптимального управління ними. У будь-якому виробничому процесі, у постачанні населення продуктами і т. д. створюються запаси, які ві...

Bilateral relationsPortugal–United States relations Portugal United States Diplomatic missionEmbassy of Portugal, Washington, D.C.Embassy of the United States, Lisbon Portuguese Foreign Minister João Gomes Cravinho (left) meets with US Secretary of State Antony Blinken (right) in 2022 Portugal–United States relations are bilateral relations between Portugal and the United States. History Despite various attempts to set up colonies in Newfoundland and Labrador and Nova Scotia, the Kingdom...

 

For the class of antioxidant compounds that share the same chemical skeleton, see stilbenoid. (E)-Stilbene Names IUPAC name (E)-Stilbene[1] Preferred IUPAC name 1,1′-[(E)-Ethene-1,2-diyl]dibenzene[1] Other names Bibenzylidenetrans-α,β-Diphenylethylene(E)-1,2-Diphenylethylene((1E)-2-Phenylvinyl)benzenetrans-Stilbene[(E)-2-Phenylethenyl]benzene Identifiers CAS Number 103-30-0 Y 3D model (JSmol) Interactive imageInteractive image Beilstein Reference 1616740 ChEBI CHEBI:3...

 

For other uses, see Sonatala. Upazila in Rajshahi Division, BangladeshSonatala সোনাতলাUpazilaSonatalaLocation in BangladeshCoordinates: 25°2′N 89°30′E / 25.033°N 89.500°E / 25.033; 89.500Country BangladeshDivisionRajshahi DivisionDistrictBogra DistrictArea[1] • Total156.75 km2 (60.52 sq mi)Population (2011 census)[2] • Total186,778 • Density1,200/km2 (3,100/sq mi)Tim...

This article is about the Lexington, Kentucky neighborhood. For other uses, see Liberty Heights (disambiguation). Place in the United StatesLiberty HeightsNeighborhood of Lexington, KentuckyLiberty and Henry Clay BoulevardLiberty HeightsCoordinates: 38°02′17″N 84°27′54″W / 38.037926°N 84.464953°W / 38.037926; -84.464953CountryUnited StatesCommonwealthCommonwealth of KentuckyUrban CountyLexington-FayetteArea • Total0.7 sq mi (1.9 k...

 

Dudu Dahan Personal informationFull name David DahanDate of birth (1971-12-08) 8 December 1971 (age 51)Place of birth Jerusalem, IsraelHeight 6 ft 1 in (1.85 m)Position(s) DefenderSenior career*Years Team Apps (Gls)1990–1998 Hapoel Jerusalem 85 (3)1998–1999 Hapoel Beit She'an 1999–2000 Hapoel Jerusalem 35 (2)2000–2002 Hapoel Tel Aviv 2002–2004 Hapoel Jerusalem Managerial career2007–2009 Hakoah Ramat Gan *Club domestic league appearances and goals Dudu Dahan (He...

 

حفلة: هاي سكول ميوزيكالمعلومات عامةالمكان الولايات المتحدة اشتق من High School Musical – Soundtrack (en) شكل من الأعمال الإبداعية ألبوم مباشر النوع الفني بوب المؤدي هاي سكول ميوزيكال تاريخ البدء 30 نوفمبر 2006 تاريخ الانتهاء 30 مايو 2007 موقع الويب movies.disney.com… High School Musical – Soundtrack (en) High School Musical 2...

Indian railway station Haldwani Railway StationIndian Railways stationHaldwani railway stationGeneral informationLocationNH 87, Haldwani, UttarakhandIndiaCoordinates29°12′56″N 79°32′00″E / 29.2156°N 79.5333°E / 29.2156; 79.5333Elevation443 metres (1,453 ft)Owned byIndian RailwaysOperated byIzzatnagar railway divisionPlatforms3ConnectionsAuto standConstructionStructure typeStandard (on ground station)ParkingyesBicycle facilitiesyesOther informationStatu...

 

Radio stationThe SoundBroadcast areaNew ZealandFrequencySee Stations sectionBrandingThe SoundProgrammingFormatClassic rock of the 1960s–1980s (previously also the 1950s)OwnershipOwnerMediaWorks New ZealandHistoryFirst air date13 October 1997; 26 years ago (1997-10-13) as Solid Gold FM1 January 2012; 11 years ago (2012-01-01) as The SoundTechnical informationClassTerrestrialLinksWebcastOnline streamingWebsiteOfficial website The Sound, previously known as ...

 

1984 single by the Cars You Might ThinkSingle by the Carsfrom the album Heartbeat City B-sideHeartbeat CityLet's GoI RefuseReleasedFebruary 1984Recorded1983–1984StudioBattery (London)Genre Synth-rock[1] new wave[1] rock[2] Length3:04LabelElektraSongwriter(s)Ric OcasekProducer(s) Robert John Mutt Lange the Cars The Cars singles chronology Think It Over (1982) You Might Think (1984) Magic (1984) Music videoYou Might Think on YouTube You Might Think is a song by America...

University choir for Princeton University This article needs additional citations for verification. Please help improve this article by adding citations to reliable sources. Unsourced material may be challenged and removed.Find sources: Princeton Glee Club – news · newspapers · books · scholar · JSTOR (November 2017) (Learn how and when to remove this template message) Princeton University Glee ClubBackground informationOriginPrinceton UniversityGenres...

 

Korean noble (1870–1917) In this Korean name, the family name is Yi. Prince Yeongseon영선군永宣君Duke of UnhyeongungReign1912–1917PredecessorPrince Imperial HeungSuccessorYi UBorn23 July 1870Unhyeongung, Hanseong, Kingdom of JoseonDied22 March 1917 (1917-03-23) (aged 46)Unhyeongung, Keijō, Keiki-dō, Korea(today Seoul, South Korea)SpouseLady HongLady KimFatherPrince Imperial HeungMotherLady Hong of the Pungsan Hong clanReligionConfucianismMilitary careerService/branchMili...

 

Strategi Solo vs Squad di Free Fire: Cara Menang Mudah!