Giao tiếp lập trình ứng dụng mở (Open API) (thường được gọi là một giao tiếp lập trình ứng dụng công cộng.) là một giao tiếp lập trình ứng dụng công khai cung cấp cho các nhà phát triển các truy cập bằng chương trình tới một phần mềm độc quyền hoặc dịch vụ web. Giao tiếp lập trình ứng dụng (API) là bộ các yêu cầu, điều hành việc làm thế nào một ứng dụng có thể giao tiếp và tương tác với ứng dụng khác. APIs cũng có thể cho phép các nhà phát triển truy cập vào một số các chức năng nội bộ của một chương trình, mặc dù điều này không tiêu biểu đối với giao tiếp lập trình ứng dụng dạng web(web APIs). Theo nghĩa đơn giản nhất, API cho phép một bộ phận phần mềm giao tiếp với một bộ phận phần mềm khác, hoặc là cùng trên một máy tính sử dụng cơ chế cung cấp bởi hệ điều hành, hoặc là qua một mạng nội bộ hoặc mạng ngoài sử dụng TCP/IP hoặc không sử dụng TCP/IP. Vào cuối năm 2010 nhiều APIs được cung cấp bởi các tổ chức cho phép truy cập bằng HTTP. APIs có thể được sử dụng bởi cả nhà phát triển bên trong tổ chức cung cấp API, hoặc bởi bất kỳ nhà phát triển nào ở ngoài tổ chức muốn đăng ký truy cập giao tiếp lập trình ứng dụng đó.
Đặc điểm
Giao tiếp lập trình ứng dụng mở có 3 đặc điểm chính
Các giao tiếp diện lập trình ứng dụng mở sẵn sàng để sử dụng bởi nhà phát triển và những người sử dụng khác với tương đối ít hạn chế. Hạn chế có thể bao gồm những điều cần thiết để đăng ký với dịch vụ cung cấp các giao tiếp lập trình đó.
Các giao tiếp lập trình ứng dụng mở thường được hỗ trợ bằng cách dữ liệu mở. Các dữ liệu mở là hoàn toàn miễn phí, có sẵn cho mọi người sử dụng và xuất bản lại tùy theo ý của người sử dụng, mà không bị hạn chế do vấn đề bản quyền, bằng sáng chế, hoặc khác cơ chế kiểm soát khác. Một giao tiếp lập trình ứng dụng mở có thể là sử dụng miễn phí, nhưng các nhà cung cấp có thể giới hạn cách thức mà các dữ liệu của giao tiếp lập trình ứng dụng đó có thể được sử dụng.
Các giao tiếp lập trình ứng dụng mở đều dựa trên một chuẩn mở.
So sánh giao tiếp lập trình ứng dụng mở và đóng
API đóng
API đóng là một giao tiếp chỉ mở bộ phận dữ liệu và chức năng của một tổ chức cho sử dụng bởi nhà phát triển làm việc trong (hoặc nhà thầu làm việc cho) cho tổ chức đó.API đóng chỉ đưa ra với đội phát triển nội bộ vì vậy các nhà cung cấp API đóng có toàn quyền kiểm soát những gì và làm thế nào ứng dụng được phát triển. API đóng cung cấp lợi ích đáng kể, liên quan đến hợp tác nội bộ. Sử dụng một API đóng xuyên suốt một tổ chức cho phép chia sẻ nhận thức của các mô hình dữ liệu nội bộ. Vì nhà đang làm việc cho (hoặc ký hợp đồng với), một tổ chức, việc liên lạc sẽ được trực tiếp hơn và do đó họ có thể làm việc chặt chẽ như một nhóm. API đóng có thể giảm đáng kể thời gian cần thiết để xây dựng và duy trì hệ thống nội bộ, tối đa hóa năng suất và tạo ra với các ứng dụng giao tiếp với khách hàng có thể cải thiện việc tiếp cận thị trường và thêm các giá trị cho các dịch vụ hiện có.
API mở
Trái ngược với một API đóng, một API mở được công khai cho mọi nhà phát triển truy cập. Các API này cho phép các nhà phát triển bên ngoài lực lượng sản xuất của một tổ chức có thể truy cập vào dữ liệu bên trong sau đó có thể được sử dụng để nâng cao chính ứng dụng riêng của tổ chức đó. API mở có thể tăng doanh thu đáng kể mà không doanh nghiệp không phải đầu tư vào việc thuê các nhà phát triển mới. Điều này làm cho các API mở trở thành một kiểu ứng dụng sinh lợi nhiều. Tuy nhiên, điều quan trọng là phải nhớ rằng việc mở các thông tin bên trong cho cộng đồng sẽ tạo ra nhiều thách thức về an ninh và quản lý. Ví dụ, cung cấp các API mở có thể làm cho một tổ chức trở nên khó khăn hơn trong việc kiểm soát những trải nghiệm của người dùng cuối đối với tài sản thông tin của họ. Nhà cung cấp API mở không thể giả định rằng ứng dụng khách xây dựng trên API của họ sẽ cung cấp trải nghiệm người dùng tốt. Hơn nữa, họ không thể hoàn toàn đảm bảo rằng các ứng dụng khách sẽ duy trì giao diện và cảm nhận theo đúng thương hiệu của họ.
API mở trong doanh nghiệp
API mở có thể được sử dụng bởi các doanh nghiệp muốn tận dụng cộng đồng nhà phát triển tự do, những người có khả năng tạo ra các ứng dụng mang tính sáng tạo, làm tăng thêm giá trị mảng kinh doanh chính của họ. API mở được ưa thích ở các doanh nghiệp trong cùng một nhóm vì họ cùng đồng thời tăng năng lực tạo ra các ý tưởng mới mà không phải đầu tư trực tiếp vào năng lực phát triển. Các doanh nghiệp thường thay đổi API của họ hướng theo các đối tượng nhà phát triển cụ thể mà họ cảm thấy sẽ có hiệu quả nhất trong việc tạo ra các ứng dụng mới có giá trị. Tuy nhiên, một API có thể giảm đáng kể của chức năng của một ứng dụng nếu nó bị quá tải với quá nhiều tính năng.
nhỏ|Biểu đồ API mở trong kinh doanh
Ví dụ, Yahoo mở API tìm kiếm cho phép phát triển để tích hợp công cụ tìm kiếm của Yahoo vào phần mềm của riêng mình. Các bổ sung của API này cung cấp tính năng tìm kiếm cho các ứng dụng của các nhà phát triển trong khi cũng tăng lượng truy cập cho công cụ tìm kiếm của Yahoo do đó có lợi cho cả hai bên. Đối với Facebook và Twitter, chúng ta có thể thấy cách mà thứ ba bên đã làm phong phú những dịch vụ của mình bằng chương trình của chính họ. Ví dụ, khả năng để tạo ra một tài khoản trên một trang/ứng dụng bên ngoài bằng cách sử dụng Facebook của một người, có thể thực hiện được qua các API mở của Facebook.
Nhiều công ty công nghệ lớn các công ty như Twitter, LinkedIn và Facebook, cho phép sử dụng dịch vụ của họ bởi thứ ba bên và cả các đối thủ cạnh tranh.
Giao tiếp lập trình ứng dụng mở trên Web
Với sự gia tăng nổi bật của HTML5 và Web 2.0, các trải nghiệm duyệt web trở nên có tính tương tác và động, và việc này, đến lượt nó, được tăng tốc nhờ sử dụng các API mở. Một số API mở thu thập dữ liệu từ các cơ sở dữ liệu phía sau một trang web và chúng được gọi là Web APIs. Ví dụ, Google Youtube API cho phép các nhà phát triển tích hợp YouTube vào các ứng dụng của họ bằng cách cung cấp khả năng để tìm kiếm video, lấy về các kênh cung cấp, và xem nội dung liên quan.
API trên web được sử dụng để trao đổi thông tin với một trang web hoặc bằng cách nhận hoặc bằng cách gửi dữ liệu. Khi một API lấy dữ liệu từ một trang web, các ứng dụng xây dựng nên một yêu cầu HTTP được cấu trúc cẩn trọng, gửi chúng tới máy chủ lưu trữ. Các máy chủ đó sẽ gửi dữ liệu trở lại theo một dạng ứng dụng mong muốn (nếu ứng dụng yêu cầu dữ liệu) hoặc kết hợp các thay đổi bởi ứng dụng vào trang web (nếu ứng dụng gửi dữ liệu).
👁️
2 | 🔗 | 💖 | ✨ | 🌍 | ⌚
**Giao tiếp lập trình ứng dụng mở** (Open API) (thường được gọi là một giao tiếp lập trình ứng dụng công cộng.) là một giao tiếp lập trình ứng dụng công khai cung cấp cho
nhỏ|Ả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** (, 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
nhỏ|300x300px| So sánh cấp cao các API và ABI trong nhân-không gian người dùng và nội bộ nhân nhỏ|300x300px| [[Hạt nhân Linux|Nhân Linux và Thư viện GNU C định nghĩa API Linux. Sau khi biên
**Pascal** là một ngôn ngữ lập trình cho máy tính thuộc dạng mệnh lệnh và thủ tục, được Niklaus Wirth phát triển vào năm 1970. Pascal là ngôn ngữ lập trình đặc biệt thích hợp
Trong lập trình hướng đối tượng, **giao thức** (tiếng Anh: _protocol_) hay **giao diện** (_interface_) là một phương tiện phổ biến để các đối tượng không liên quan giao tiếp với nhau. Đây là định
[[KDE 3.5]] [[GNOME 2.12.0]] Trong khoa học máy tính, **Hệ thống X Window** (còn được gọi tắt là **X11** hay **X**) là một windowing system dùng để hiển thị đồ họa bitmap. Nó cung ứng
**C** là một ngôn ngữ mệnh lệnh được phát triển từ đầu thập niên 1970 bởi Dennis Ritchie để dùng trong hệ điều hành UNIX. Từ đó, ngôn ngữ này đã lan rộng ra nhiều
nhỏ|Plugin (điện toán) (Hình ảnh minh họa) Trong kỹ thuật máy tính, **plugin** (), **trình cắm**, hay **phần bổ trợ** là một bộ phần mềm hỗ trợ mà thêm những tính năng cụ thể cho
**Windows Runtime** (**WinRT**) là kiến trúc ứng dụng không cần biết nền tảng được giới thiệu lần đầu tiên trong Windows 8 và Windows Server 2012 năm 2012. WinRT hỗ trợ phát triển trong C++/WinRT
Trong thời đại công nghệ số hiện nay, API (Application Programming Interface - Giao diện lập trình ứng dụng) không chỉ đơn giản là một ứng dụng công nghệ. Nó còn là đại diện cho
**Kotlin** là một ngôn ngữ lập trình kiểu tĩnh chạy trên máy ảo Java (JVM) và có thể được biên dịch sang mã nguồn Java hay sử dụng cơ sở hạ tầng trình biên dịch
**Giao tiếp** thường được định nghĩa là sự truyền tải thông tin. Hiện chưa có thống nhất về định nghĩa chính xác của thuật ngữ, đồng thời có nhiều tranh cãi về việc giao tiếp
phải|nhỏ|402x402px|[[Mã nguồn của một chương trình máy tính đơn giản được viết bằng ngôn ngữ lập trình C. Khi được biên dịch và chạy, nó sẽ cho kết quả "Hello, world!".]] **Ngôn ngữ lập trình**
**Lập trình hướng đối tượng** () là một mẫu hình lập trình dựa trên khái niệm "đối tượng", mà trong đó, đối tượng chứa đựng các dữ liệu trong các trường, thường được gọi là
**Phần mềm máy chủ ứng dụng** (tiếng Anh: _Application Server_) là một phần mềm (software engine) trong cung cấp ứng dụng phần mềm cho các máy trạm hoặc thiết bị, thông thường là qua mạng
**Python** () là ngôn ngữ lập trình bậc cao đa năng. Triết lý thiết kế của nó nhấn mạnh khả năng đọc mã bằng cách sử dụng thụt lề đáng kể. Python có kiểu động
**Giao tiếp qua máy tính** **trung gian**, còn được gọi là CMC (viết tắt của Computer Mediated Communication) được định nghĩa là bất kỳ giao tiếp nào của con người xảy ra thông qua việc
thumb|**[[Phép tính lambda** là một hệ thống hình thức để định nghĩa hàm, ứng dụng hàm và đệ quy được Alonzo Church đề xuất vào những năm 193x.]] **Lý thuyết ngôn ngữ lập trình** (thường
**D** là một ngôn ngữ lập trình hệ thống hướng đối tượng, dùng câu lệnh, đa mẫu hình do Walter Bright của Digital Mars tạo ra và phát hành năm 2001. Quá trình thiết kế
**Giao diện quản lý nền tảng thông minh** (hay được gọi là **IPMI**, viết tắt của The Intelligent Platform Management Interface) là một tập hợp các thông số kỹ thuật giao diện máy tính cho
nhỏ|Khan Academy, một ví dụ về một Universal Windows App nhỏ|Trái: Một ứng dụng desktop truyền thống chưa có nội dung gì; nó đang hiển thị 60 [[Thành tố điều khiển|thành tố đồ họa, và
Trước đây, việc điều khiển một cỗ máy bằng cách nói chuyện với chúng chỉ là những câu chuyện trong khoa học viễn tưởng. Nhưng viễn tưởng này đang dần trở thành hiện thực với
nhỏ|Giao tiếp phi ngôn ngữ giữa hai người tại [[Tây An, Trung Quốc.]] **Giao tiếp phi ngôn ngữ** giữa con người là sự giao tiếp bằng cách gửi và nhận những tín hiệu phi ngôn
thumb|Các vòng lặp lên kế hoạch và phản hồi trong lập trình cực hạn **Lập trình cực hạn** (tiếng Anh: **Extreme programming**, viết tắt là **XP**) là một quy trình phát triển phần mềm nhằm
**Java** (phiên âm Tiếng Việt: "_Gia-va_") là một ngôn ngữ lập trình hướng đối tượng, dựa trên lớp được thiết kế để có càng ít phụ thuộc thực thi càng tốt. Nó là ngôn ngữ
**Quảng cáo lập trình** () là một quy trình tự động trong việc mua và bán các vị trí quảng cáo theo thời gian thực trên nền tảng kỹ thuật số và là một phần
**Ruby** là một ngôn ngữ lập trình hướng đối tượng, có khả năng phản ứng. Theo tác giả, Ruby chịu ảnh hưởng bởi Perl, Smalltalk, Eiffel, Ada và Lisp. Ruby cung cấp nhiều mẫu hình
**Ứng dụng COVID-19** là các ứng dụng phần mềm di động được thiết kế để hỗ trợ theo dõi liên lạc để đối phó với đại dịch coronavirus 2019-20, tức là quá trình xác định
nhỏ|Cbmain Trong khoa học máy tính, một **ngôn ngữ lập trình bậc cao** (tiếng Anh: _high-level programming language_) là một ngôn ngữ lập trình có sự trừu tượng hóa mạnh mẽ khỏi các chi tiết
Một **tiện ích mở rộng trình duyệt** hay **tiện ích mở rộng** (, đôi khi chỉ là _extension_) là một phần mềm nhỏ dùng để tùy biến một trình duyệt web. Trình duyệt thường có
App Inventor là gì App Inventor là một nền tảng web mã nguồn mở được cung cấp ban đầu bởi Google, năm 2012 Google chuyển giao cho Trung tâm Nghiên cứu Di động của Viện
nhỏ| Hai nhân vật giao tiếp bằng mắt trong _The Fortune Teller_ của [[Caravaggio ]] nhỏ|Hai học sinh khóa mắt. **Giao tiếp bằng mắt** xảy ra khi hai con vật nhìn vào mắt nhau cùng
Trong điện toán, **lập trình phản ứng** (tiếng Anh: **reactive programming**) là một mẫu hình lập trình khai báo liên quan đến các luồng dữ liệu và lan truyền của sự thay đổi. Với mẫu
Các [[Biểu tượng (máy tính)|biểu tượng (icon) của các phần mềm ứng dụng trên một điện thoại dùng hệ điều hành Android]] Một **phần mềm ứng dụng trên thiết bị di động**, còn được gọi
In 3D có nhiều ứng dụng. Trong sản xuất, y học, kiến trúc, trong nghệ thuật và thiết kế tùy biến. Một số người sử dụng máy in 3D để tạo thêm máy in 3D.
**Mô hình siêu cá nhân** là một mô hình của hình thức giao tiếp giữa các cá nhân với nhau, khi hình thức giao tiếp qua trung gian máy tính (CMC) vượt qua được sự
THS. NGUYỄN THỊ BÍCH NGUYỆT (Viện Kinh tế và Quản lý, Trường Đại học Bách Khoa Hà Nội) TÓM TẮT: Ứng dụng công nghệ trong lĩnh vực giáo dục là việc áp dụng, sử dụng
**Phần mềm dạng dịch vụ** (**SaaS** ) là mô hình cấp phép và phân phối phần mềm trong đó phần mềm được cấp phép trên cơ sở đăng ký và được lưu trữ tập trung.
**Lý thuyết Ứng đáp Câu hỏi** (Item Response Theory - IRT) là một lý thuyết của khoa học về đo lường trong giáo dục, ra đời từ nửa sau của thế kỷ 20 và phát
**Salesforce.com, Inc.** hay **Salesforce** (tạm dịch: _Mại lực_, thường được viết tắt là **SF** hoặc **SFDC**) là một công ty phần mềm dựa trên đám mây của Mỹ có trụ sở tại San Francisco, California.
**Shopify Inc.** là một công ty thương mại điện tử đa quốc gia của Canada có trụ sở chính tại Ottawa, Ontario. Shopify là tên của nền tảng thương mại điện tử độc quyền dành
Tương tác và giao tiếp thông qua công nghệ số và thực hành vai trò công dân số. Quản lý định danh và uy tín số của bản thân trong môi trường số. Sử dụng
**Skype** (IPA: /'skaɪp/) là một mạng điện thoại Internet ngang hàng được thành lập bởi Niklas Zennström và Janus Friis, cũng là những người thành lập ra ứng dụng chia sẻ tập tin Kazaa và
**Adobe AIR** (trước đây là **Adobe Integration Runtime**) là một hệ thống runtime đa nền tảng được Adobe Systems phát triển để xây dựng các ứng dụng máy tính để bàn và ứng dụng di
**LibreOffice** là bộ ứng dụng văn phòng mã nguồn mở do The Document Foundation phát triển. Nó phân nhánh từ OpenOffice.org năm 2010, phiên bản nguồn mở của StarOffice trước đó. Bộ LibreOffice bao gồm
**Mail** là một trình duyệt thư điện tử và newsgroup được phát triển bởi Microsoft và được cài đặt sẵn trong các hệ điều hành Windows Vista, 8, 8.1, và 10. Chức năng chính của
nhỏ|Linux API, Linux ABI, API và ABI trong nhân **Nhân Linux** cung cấp một số giao diện cho các ứng dụng ở không gian người dùng sử dụng cho các mục đích khác nhau và
nhỏ|Trò chơi điện tử ứng dụng hóa **Trò chơi điện tử ứng dụng hóa** hay còn gọi tắt là **game hóa** (tiếng Anh: _gamification_) một thuật ngữ về một xu hướng quản lý mới, cho
nhỏ| Một ví dụ cho thấy một hệ thống [[điện toán lưới kết nối nhiều máy tính cá nhân qua Internet bằng cách sử dụng giao tiếp mạng giữa các quá trình ]] Trong khoa
**Học viện Khoa học Ứng dụng Quốc gia Lyon**, (tiếng Pháp: _Institut National des Sciences Appliquées de Lyon_), viết tắt là **INSA de Lyon**, hay **INSA Lyon**, là một trường đào tạo kỹ sư toạ