HDG Giải thích: API là gì?

Trên một mạng internet chứa đầy những từ viết tắt khó hiểu và không quen thuộc(confusing and unfamiliar acronyms) , bạn có thể dễ dàng trở nên nhầm lẫn. Một từ viết tắt web mà bạn có thể đã nghe nhưng chưa bao giờ cảm thấy hứng thú khi tìm hiểu là “API”.

API là gì? API là từ viết tắt của giao diện lập trình ứng dụng( application programming interface) , và là tên của một tập hợp các quy trình và giao thức giúp quá trình xây dựng các ứng dụng phần mềm dễ dàng hơn nhiều.

Một cách đơn giản để xem API là một lộ trình cho các thành phần của phần mềm biết cách tương tác. Nếu không sử dụng API , mã nguồn có thể giống như một mớ hỗn độn lộn xộn, khó hiểu.

Tuy nhiên, các API(APIs) rất phức tạp và đòi hỏi nhiều hơn một bản tóm tắt ngắn gọn. Trong bài viết này, chúng ta hãy xem xét cách hoạt động của các API(APIs) và những trang web và dịch vụ nào sử dụng chúng.

API là gì và nó hoạt động như thế nào?(What Is An API and How Does It Work?)

Bây giờ chúng ta đã thiết lập rằng API là một tập hợp các quy trình hướng phần mềm đi đúng hướng, chính xác thì tất cả điều này hoạt động như thế nào?

Cách tốt nhất để giải thích chức năng cốt lõi của API là cung cấp một ví dụ trong thế giới thực. Các(Food) dịch vụ giao đồ ăn, chẳng hạn như GrubHub , đang cực kỳ phổ biến ngay bây giờ, vì vậy hãy thảo luận về cách mã đằng sau các ứng dụng di động như thế này có thể hoạt động.

Khi bạn tìm kiếm nhà hàng hoặc món ăn trên một trong những ứng dụng này, bạn sẽ nhận được kết quả có liên quan dựa trên từ khóa và vị trí của mình. Sau khi chọn một kết quả, bạn sẽ được cung cấp các tùy chọn mặt hàng thực phẩm, thời gian giao hàng và các tùy chọn khác dành riêng cho nhà hàng.

Để lên lịch phân phối của bạn, phải có kết nối giữa trang web phân phối và cơ sở dữ liệu — trang web là giao diện người dùng và cơ sở dữ liệu là phụ trợ. Cơ sở dữ liệu là nơi lưu trữ dữ liệu của tất cả các nhà hàng này, tính khả dụng của họ trên mỗi địa điểm, lịch trình hoạt động, thực đơn, v.v.

API là kết nối giữa cơ sở dữ liệu này và trang web hoặc ứng dụng đang hiển thị dữ liệu của nó. Điều quan trọng là phải có API để tạo kết nối này, thay vì sử dụng dữ liệu được mã hóa cứng, chủ yếu vì sự phổ biến của tích hợp bên thứ ba. 

Ví dụ: sẽ có lợi cho một trang web nếu các công ty tổng hợp của bên thứ ba có thể liệt kê và sắp xếp tất cả các nhà hàng và mặt hàng mà nó có sẵn, phải không? Nếu không có API , điều này sẽ không thể thực hiện được nếu không sử dụng các kỹ thuật tìm kiếm web kém hiệu quả.

API là giao diện chịu trách nhiệm cung cấp dữ liệu từ cơ sở dữ liệu đến ứng dụng, có thể là trang web, ứng dụng dành cho thiết bị di động hoặc bất kỳ thứ gì khác. API(APIs) đã trở thành cách tiêu chuẩn để truy cập và giao tiếp dữ liệu ứng dụng trên web và mọi trang web hoặc dịch vụ chính phụ thuộc vào kết nối của bên thứ ba đều được hưởng lợi rất nhiều khi cung cấp một.

Có những loại API nào?(What Types Of APIs Are There?)

Có nhiều loại giao thức API khác nhau , nhưng ba loại phổ biến nhất là SOAP ( Giao thức truy cập đối tượng đơn giản(Simple Object Access Protocol) ), REST ( Chuyển trạng thái đại diện(Representational State Transfer) ) và RPC ( Gọi thủ tục từ xa(Remote Procedure Call) ).

API SOAP(SOAP APIs)

SOAP lần đầu tiên được giới thiệu vào cuối những năm 1990 và cho phép các ứng dụng chia sẻ tài nguyên một cách đơn giản thông qua kết nối mạng. SOAP dựa trên các giao thức tiêu chuẩn, chẳng hạn như HTTPSMTP , cho phép nó được sử dụng trên thực tế mọi môi trường do sự phổ biến của các giao thức như vậy.

Sức mạnh chính của nó là nó được sử dụng và thiết lập rộng rãi. Nếu nó không bị hỏng, đừng sửa nó.

API REST(REST APIs)

REST được giới thiệu vào năm 2000 bởi Roy Fielding . Mục tiêu trước mắt của nó là hoạt động như một phản ứng đối với nhiều vấn đề được tạo ra bởi việc áp dụng rộng rãi SOAP .

Tương tự như SOAP , REST dựa vào HTTP để truyền thông tin giữa các ứng dụng. Tuy nhiên, một điểm khác biệt chính khiến nó trở nên khác biệt với SOAP , vốn yêu cầu dữ liệu được truyền qua định dạng dữ liệu XML , là nó hỗ trợ JSON . JSON là một định dạng dữ liệu được nhiều người đồng ý là dễ đọc và viết hơn. Ngoài ra, các API REST(REST APIs) có thể lưu dữ liệu vào bộ nhớ cache, cho phép hiệu suất tốt hơn nhiều.

REST hiện chiếm hơn 80% tất cả các API(APIs) , theo một báo cáo năm 2017 của Cloud Elements .

API RPC(RPC APIs)

Các API RPC(RPC APIs) có nhiều loại, nhưng như chúng ta đã học được từ các API REST(REST APIs) , JSON là một định dạng dữ liệu rất phổ biến, vì vậy JSON-RPC là định dạng phổ biến nhất.

JSON-RPC là một giao thức phù hợp nhất cho những người theo chủ nghĩa tối giản và những người dùng dựa vào tính đơn giản của API của họ . Phạm vi của nó hẹp hơn nhiều khi so sánh với SOAPREST , và nó rất hạn chế về tính linh hoạt và bộ lệnh — nhưng đối với một số nhà phát triển, ít hơn là nhiều.

Có các loại API dựa trên RPC khác, chẳng hạn như gRPC, nhưng JSON-RPC là lựa chọn phù hợp nếu ưu tiên của bạn là sự đơn giản của việc triển khai.

Ai sử dụng API?(Who Uses APIs?)

Các nhà phát triển thuộc bất kỳ hình thức nào, dù là giao diện người dùng hay phụ trợ, đều phải có kinh nghiệm làm việc với các API(APIs) . Về trang web hoặc dịch vụ web, trên thực tế, tất cả những người chơi chính đều có sẵn một số loại API — rõ ràng nhất là Windows .

Với việc Microsoft Windows là hệ điều hành phổ biến nhất trên hành tinh, việc các nhà phát triển ứng dụng sẽ cần một bộ hướng dẫn về cách tương tác với giao diện người dùng của nó. Nếu không có quyền truy cập vào Windows API , việc lập trình một ứng dụng chủ yếu dựa vào việc tương tác với hệ điều hành sẽ là một vấn đề lớn.

Có hàng nghìn API(APIs) ngoài kia, một số miễn phí và một số trả phí. Đây chỉ là một vài ví dụ đáng xem xét:

API(APIs) là một trong những trình kết nối quan trọng đằng sau một số trang web và ứng dụng lớn nhất và quan trọng nhất. Mặc dù người dùng bình thường có thể không thấy được lợi ích mà các API(APIs) mang lại, nhưng chúng là món quà trời cho các nhà phát triển và dịch vụ web.



About the author

Tôi là chuyên gia tự do về Windows và Office. Tôi có hơn 10 năm kinh nghiệm làm việc với các công cụ này và có thể giúp bạn khai thác tối đa chúng. Các kỹ năng của tôi bao gồm: làm việc với Microsoft Word, Excel, PowerPoint và Outlook; tạo web trang và ứng dụng; và giúp khách hàng đạt được mục tiêu kinh doanh của họ.



Related posts