Có thể bạn đã từng nghe tới API, public API hay private API đúng không? Đặc biệt là chúng thường được sử dụng bởi các công ty phần mềm khi nói về một ứng dụng, hệ điều hành hay một trang web.
API được sử dụng mọi nơi, mang lại nhiều lợi ích to lớn, góp phần vào thúc đẩy việc phát triển phần mềm.
Nhưng bạn đã bao giờ tự hỏi API là gì? Sử dụng API như nào? Tại sao phải dùng API?
Bài viết này chúng ta sẽ cùng nhau tìm hiểu và đi tìm câu trả lời nhé.
Nội dung chính của bài viết
API là gì?
API là viết tắt của Application Programming Interface, là một tập các chức năng cho phép các ứng dụng truy cập dữ liệu và tương tác với các thành phần phần mềm bên ngoài, hệ điều hành hoặc một dịch vụ web service.
Hệ điều hành Android cũng có nhiều APIs, Facebook/Zalo cũng có API… Những API này thực hiện các chức năng khác nhau, tùy vào mục đích của nhà phát triển API.
Ví dụ: Bạn muốn tự xây dựng một ứng dụng có thể lấy tất cả danh sách bạn bè của một người trên Facebook, bạn cần phải sử dụng API (Graph API - /{user-id}/friends
) do chính Facebook cung cấp.
Nói một cách dễ hiểu, API là cách thức giao tiếp giữa các ứng dụng. API cung cấp phản hồi của người dùng cho hệ thống và gửi phản hồi của hệ thống cho người dùng.
Ví dụ: khi bạn click vào “add to cart“, API cho biết trang web bạn đã thêm một sản phẩm vào giỏ hàng. Trang web sẽ đặt sản phẩm vào giỏ hàng và giỏ hàng được cập nhập.
Có nhiều cách thiết kế API, hiện nay nổi bật nhất là REST API. REST API là một tiêu chuẩn dùng trong việc thiết kế các API cho các ứng dụng web để quản lý các resource. Chức năng quan trọng nhất của REST là quy định cách sử dụng các HTTP method (như GET, POST, PUT, DELETE…) và cách định dạng các URL cho ứng dụng web để quản các resource.
Đặc điểm của API
Có nhiều cách nhìn và đánh giá đặc điểm của API. Dưới đây là một số đặc điểm mà mình đúc kết được.
- API sử dụng mã nguồn mở, dùng được với mọi phần mềm hỗ trợ JSON/XML.
- API có khả năng hỗ trợ đầy đủ các thành phần của HTTP như: URI, header, caching…
- API là kiểu kiến trúc hỗ trợ tốt các thiết bị hạn chế băng thông như điện thoại, IoT…
💦 Đọc thêm: JSON là gì?
Ứng dụng của API
API có rất nhiều ứng dụng cụ thể, mình có thể tóm gọn 3 ứng dụng phổ biến nhất của API:
- Web API: Là hệ thống các API được sử dụng cho các webservice như Facebook, Zalo, Twitter… Hầu hết các hệ thống web service đều cung cấp API cho các bên thứ 3 phát triển ứng dụng dựa trên tài nguyên của họ. Ngày nay, đa số API được thiết kế theo chuẩn RESTFul.
- API trên hệ điều hành: Các hệ điều hành đều phải xây dựng các API để bên thứ 3 có thể phát triển ứng dụng cho HĐH đó. Nhà phát hành hệ điều hành đều cung cấp tài liệu mô tả chi tiết từng API, đặc tả các hàm, phương thức cũng như các giao thức kết nối. Điều này giúp lập trình viên dễ dàng phát triển phần mềm tương tác với hệ điều hành.
- API của thư viện: API là cách duy nhất để các thư viện của cung cấp các tính năng cho phần mềm sử dụng nó. API còn giúp cho một chương trình viết bằng ngôn ngữ lập trình này có thể sử dụng thư viện viết bằng ngôn ngữ lập trình khác.
Trên đây là những lý thuyết về API, giúp bạn hiểu cơ bản API là gì. Khi bạn phát triển ứng dụng, việc sử dụng API là rất thường xuyên. Ngay trên VNTALKING, mình cũng có chia sẻ nhiều bài viết về cách xây dựng API, các bạn có thể tham khảo.
Giờ thì mình đã hiểu API là gì. Trc cứ tưởng api là ngôn ngữ lập trình 🙁