API là gì? Giới thiệu về Giao diện lập trình ứng dụng API

0
1858

Bạn đã từng nghe nói đến khái niệm API chưa? Bạn biết gì về API? API có ưu điểm, nhược điểm gì? Bạn nên sử dụng nó hay không? Bài viết dưới đây sẽ trả lời cho bạn những câu hỏi đó.

Giới thiệu cơ bản về Giao diện Lập trình Ứng dụng API

1. Khái niệm API

API cũng như Web API hiện đang được cộng đồng lập trình sử dụng rất nhiều, nên khái niệm API có thể không còn mới đối với một số người. API – Application Programming Interface – giao diện lập trình ứng dụng, là phương thức kết nối giữa các thư viện và ứng dụng khác nhau với mục đích cuối là giúp ứng dụng của người dùng có thể truy cập đến một tệp các hàm thực hiện chức năng như tương tác hoặc trao đổi thông tin với nhau.

Ví dụ: Bạn không biết nhiệt độ hôm nay là bao nhiêu, bạn lấy chiếc smartphone của mình ra và vào ứng dụng kiểm tra nhiệt độ quen thuộc, khi ấy bạn đang sử dụng API. Bởi vì, khi người dùng vào kiểm tra nhiệt độ trên ứng dụng, ứng dụng sẽ kết nối với Internet và truyền dữ liệu tới máy chủ. Máy chủ nhận, phân tích và xử lý dữ liệu; sau đó gửi dữ liệu trở lại cho người dùng. Ứng dụng giải thích dữ liệu và hiển thị chúng cho bạn xem được, gọi là API.

API là gì
API là gì ?

API không phải là một ngôn ngữ lập trình. Các hàm API cũng tương tự như các hàm thông thường khác.

API đã ra đời từ lâu, được ứng dụng ở nhiều loại ứng dụng và phần mềm khác nhau. Thế hệ mới nhất của API, Web API có thể dùng cho mọi hệ thống (hệ điều hành, cơ sở dữ liệu, hệ thống nền web hay còn gọi là web-based system, thư viện ứng dụng,..) thậm chí cả phần cứng máy tính.

2. Có những loại API nào?

Nếu dựa trên phân ngành trong ngành công nghệ thông tin thì API có các loại sau:

Web API – hệ thống API trên nền tảng web

Loại này rất phổ biến, các website lớn đều thiết kế web-app với nền tảng hệ thống API giúp bạn kết nối, lấy dữ liệu hoặc đôi khi là cập nhật dữ liệu vào hệ thống.

Web API là gì?
Web APIs là gì?

 

Chẳng hạn, bạn mở một gian hàng trên Shopee. Bạn sẽ phải thực hiện một số tác vụ như là tạo sản phẩm mới, cập nhật sản phẩm mới. Nếu bạn tự tạo, tự cập nhật một cách thủ công, đến một lúc nào đó-khi số lượng hàng hóa bạn bán trở nên nhiều, đa dạng: bạn sẽ khó lòng kiểm soát mọi thứ nếu không có hệ thống. Để tránh trường hợp này Shopee đã cung cấp hệ thống API, từ đó bạn có thể kết nối từ hệ thống của bạn sang Shopee và mọi thứ sẽ được đồng bộ với nhau, tránh nhầm lẫn, khó kiểm soát.

Hệ thống API trên hệ điều hành

APIs trên hệ điều hành
APIs trên hệ điều hành

Windows cũng như Linux cung cấp các tài liệu API đặc tả các hàm, phương thức và các giao thức kết nối. Nhờ đó, lập trình viên có thể tạo được các phần mềm ứng dụng có chức năng tương tác với hệ điều hành. Đối với Windows thì bạn có thể tạo ứng dụng chạy trên máy tính bằng C++ và Win32 API. Còn với Linux bạn có thể tham khảo thử Electron API.

API của thư viện phần mềm (framework)

API Framework
Cách hoạt động của API đối với Frameworks

 

API mô tả cũng như quy định các hoạt động mong muốn mà thư viện cung ứng. Một API có thể có nhiều cách triển khai hoạt động khác nhau. API cũng có thể giúp cho một chương trình được viết bằng ngôn ngữ này nhưng có thể sử dụng được thư viện được viết bằng ngôn ngữ khác.

Nếu dựa trên quyền truy cập thì có thể phân API thành các loại sau:

API mở (Open API): Có sẵn, công khai, không hạn chế quyền truy cập.

API đối tác (Partner API): Cần có quyền hoặc giấy phép cụ thể mới truy cập được.

API nội bộ (Internal API): Chỉ dùng cho các hệ thống nội bộ (chẳng hạn như công ty, tổ chức). Các đội ngũ phát triển nội bộ khác nhau có thể sử dụng chúng để cải thiện cho các sản phẩm hay dịch vụ chỉ phục vụ cho riêng nhân viên công ty.

3. Ưu điểm của API

  • Tính tự động hóa rất cao: API có thể thay thế chúng ta quản lý công việc cực kì hiệu quả. API giúp các cơ quan có thể cập nhật, xử lý hoàn thiện công việc nhanh và chất lượng hơn.
  • Ứng dụng cực kỳ linh hoạt: API có thể truy cập vào các thành phần ứng dụng giúp việc cung cấp dịch vụ và thông tin linh hoạt hơn nhiều.
  • Khả năng thích ứng tốt: API có chức năng thay đổi cũng như dự đoán thay đổi theo thời gian cho nên dữ liệu được truyền tốt hơn, thông tin được chọn lọc kĩ hơn, dịch vụ tốt hơn.
  • Cá nhân hóa: Người dùng có thể tinh chỉnh API cho phù hợp nhu cầu sử dụng.
  • Dữ liệu có sẵn: API cho phép mọi thông tin được tạo ở dạng chính chủ luôn có sẵn cho mọi người xem được.
  • Phạm vi: Ngoài dữ liệu mới có sẵn được chia sẻ rộng rãi, người dùng còn có thể hiệu chỉnh web API để cung cấp dịch vụ, thông tin cá nhân hóa.

4. Nhược điểm của API

  • API chỉ hỗ trợ mặc định get, post chưa hoàn toàn là restful service.
  • Cấu hình cố hữu của wcf làm cấu hình của API cực kì khó nhớ. Nếu mới sử dụng, người dùng khó mà nhớ và dùng dễ dàng như các ứng dụng khác.
  • Web API tốn kha khá chi phí vận hành, phát triển, hiệu chỉnh và đòi hỏi kiến thức chuyên sâu. Khi bị tấn công hệ thống, người dùng đôi lúc gặp rắc rối về bảo mật.

Hy vọng bài viết trên đây giúp bạn hiểu được sơ lược về AOP. Để nắm bắt chuyên sâu hơn về kiến thức lập trình, mời bạn tham khảo thêm các bài viết khác của web nhé.