API là viết tắt của Application Programming Interface – tức giao diện lập trình ứng dụng. Đây là phương thức cho hai hoặc nhiều ứng dụng trao đổi và tương tác với nhau. Với API, lập trình viên có thể tiếp cận và truy xuất dữ liệu từ máy chủ; từ đó, cho hiển thị chúng trên ứng dụng hoặc website một cách dễ dàng hơn.
Vậy tại sao nói API không phải là một “giao diện”?
Trong các bối cảnh khác, Interface được dịch thành giao diện là hoàn toàn chính xác. Ví dụ: GUI – Graphical User Interface – giao diện đồ họa người dùng; CLI – Command Line Interface – Giao diện dòng lệnh. Từ giao diện trong những trường hợp này được hiểu như bề mặt để con người tương tác với máy, như khi chúng ta dùng cửa sổ để tương tác với Windows hoặc dùng câu lệnh để tương tác với DOS.
Nhưng Interface trong API lại không phải là “giao diện” này. Nó là một “giao diện” giữa phần mềm với phần mềm, là cách để các phần mềm giao tiếp với nhau và tận dụng năng lực của nhau.
API thường ứng dụng vào đâu?
- Web API: hệ thống API được sử dụng trong các hệ thống website. Hầu hết các website đều sử dụng Web API cho phép bạn kết nối, lấy và cập nhật dữ liệu.
- API trên hệ điều hành: Cả windows hay Linux đều có rất nhiều API. Các tài liệu API được cung cấp như là hàm, phương thức, giao thức kết nối. Những tài liệu này có thể giúp lập trình viên tạo ra phần mềm ứng dụng có thể tương tác với hệ điều hành.
- API của thư viện phần mềm: Một API có nhiều cách triển khai khác nhau, giúp chương trình viết bằng ngôn ngữ này có thể sử dụng được thư viện viết bằng ngôn ngữ khác.
Một số cách ngăn rò rỉ lỗ lỏng thông tin trong API
- Xác thực ứng dụng.
- Sử dụng chứng chỉ SSL để mã hóa các dữ liệu quan trọng.
- Chữ số ký: là các chuỗi kỳ tự tượng trưng cho một người sử dụng. Lưu trữ chuỗi này trong CSDL và chỉ cung cấp nếu người dùng nhập đúng tên và mật khẩu.
- Tránh mật khẩu cố định được lưu cục bộ trên ứng dụng di động.
Vì sao phần mềm lại cần giao tiếp và tận dụng các phần mềm khác?
Khi bạn sử dụng một phần mềm hay một ứng dụng di động, trải nghiệm của bạn thực chất là thành quả lao động kết quả của ngành công nghệ phần mềm.
Lấy một ví dụ cho dễ hiểu, khi chơi Candy Crush trên iPhone 6 thì bạn đang sử dụng ứng dụng game là Candy Crush và hệ điều hành iOS. Ở đây, nếu không có hệ điều hành hay trình duyệt thì khối lượng công việc của King sẽ tăng lên “khổng lồ”. Cụ thể bao gồm:
- Nghiên cứu mã máy, cách giải phóng RAM, cách ghi luồng nhị phần lên ổ cứng, cách ra lệnh cho card màn hình xuất tín hiệu hiển thị.
- Thiết kế giao diện và cơ chế game cho Candy Crush.
Mỗi trải nghiệm đều là kết quả kết hợp của nhiều phần mềm với nhau. Nếu trải nghiệm của chúng ta không được chia làm nhiều phần mềm có khả năng giao tiếp và tác động lẫn nhau, mỗi nhà thiết kế, sản xuất ứng dụng sẽ phải làm rất nhiều công việc nằm ngoài trọng tâm.
Bản thân mỗi phần mềm cũng có nhiều thành phần giao tiếp khác nhau và hỗ trợ lẫn nhau. Ví dụ, phần mềm máy chủ của Facebook.com có nhiều thành phần như thành phần xử lý ảnh, thành phần xác thực danh tính người dùng, thành phần phân tích dữ liệu. Mỗi thành phần như vậy.
API chính là khớp nối giữa các thành phần phần mềm
Nếu bạn có một tính năng cần cung cấp cho phần mềm khác, bạn sẽ mở ra một API để phần mềm kia có thể truy cập vào. Ví dụ, hệ điều hành là phần mềm có khả năng truy cập tới các thiết bị phần cứng. Cho nên, hệ điều hành phải cung cấp API để ghi file, đọc, thu và truyền dữ liệu. Khi cần ghi file hya truyền dữ liệu, các ứng dụng sẽ gọi tới API tương ứng của hệ điều hành. Phần mềm gọi cung cấp dữ liệu đầu vào và đòi dữ liệu đầu ra từ phần mềm cung cấp API.
Lấy ví dụ, bạn có thể sử dụng tài khoản facebook để đăng nhập trên Intagram hay Quora. Để người dùng có thể sử dụng thông tin cá nhân trên facebôk để đăng nhập vào các tài khoản khác, Intagram cần tạo ra một API đăng nhập tài khoản facebook. Mỗi lần bạn nhấn vào nút “Đăng nhập với Facebook” trên Intagram thì các trang này sẽ gọi tới API của Facebook. Công việc xác thực danh tính sẽ do Facebook thực hiện. Sau khi xác thực xong, Facebook sẽ trả về lại cho các trang web gọi tới API lúc đầu một gói tin đã xác thực. Như vậy, nhờ có API mà Facebook có thể xác thực danh tính hộ các trang xã hội khác.
Để biết thêm thông tin chi tiết, vui lòng liên hệ chúng tôi để được hỗ trợ và tư vấn tốt nhất.
CÔNG TY TNHH PHẦN MỀM BNN VIỆT NAM
- Địa chỉ: số 50 đường 13, KĐT Vạn Phúc, phường Hiệp Bình Phước, quận Thủ Đức, TP.HCM
- Hotline: 0971.933.973
- Email: info@bnn.vn
- Website: https://bnn.vn/
- Facebook: https://www.facebook.com/BnnVi
- Youtube: https://www.youtube.com/channel/UCeVNxETEkcAB8CEZvDDDUKw?view_as=subscriber
BNN Việt Nam– Nhà cung cấp dịch vụ Công Nghệ Hàng Đầu Tại Việt Nam