API là gì và các nhà phát triển sử dụng chúng như thế nào?

API là gì

Bạn có thể đã thấy thuật ngữ “API” xuất hiện. Các bản cập nhật hệ điều hành, trình duyệt web và ứng dụng thường thông báo các API mới cho các nhà phát triển. Nhưng API là gì và các nhà phát triển sử dụng chúng như thế nào?

Giao diện lập trình ứng dụng là gì

Thuật ngữ API là một từ viết tắt, và nó là viết tắt của “Giao diện lập trình ứng dụng”.

Hãy nghĩ về một API giống như một thực đơn trong nhà hàng. Thực đơn cung cấp danh sách các món ăn bạn có thể gọi, cùng với mô tả của từng món ăn. Khi bạn chỉ định những món bạn muốn trong thực đơn, nhà bếp của nhà hàng sẽ thực hiện công việc và cung cấp cho bạn một số món ăn đã hoàn thành. Bạn không biết chính xác cách nhà hàng chuẩn bị món ăn đó, và bạn không thực sự cần thiết.

Tương tự, một API liệt kê một loạt các hoạt động mà các nhà phát triển có thể sử dụng, cùng với mô tả về những gì họ làm. Ví dụ, nhà phát triển không nhất thiết phải biết cách một hệ điều hành xây dựng và trình bày hộp thoại “Lưu dưới dạng”. Họ chỉ cần biết rằng nó có sẵn để sử dụng trong ứng dụng của họ.

Đây không phải là một phép ẩn dụ hoàn hảo, vì các nhà phát triển có thể phải cung cấp dữ liệu của riêng họ cho API để nhận được kết quả, vì vậy có lẽ nó giống như một nhà hàng sang trọng, nơi bạn có thể cung cấp một số nguyên liệu của riêng mình cho nhà bếp.

Nhưng nó chính xác rộng rãi. API cho phép các nhà phát triển tiết kiệm thời gian bằng cách tận dụng việc triển khai của nền tảng để thực hiện công việc thực tế. Điều này giúp giảm số lượng nhà phát triển mã cần tạo và cũng giúp tạo ra sự nhất quán hơn giữa các ứng dụng cho cùng một nền tảng. API có thể kiểm soát quyền truy cập vào tài nguyên phần cứng và phần mềm.

API làm cho công việc của nhà phát triển ứng dụng trở nên dễ dàng hơn

Giả sử bạn muốn phát triển một ứng dụng cho iPhone. Hệ điều hành iOS của Apple cung cấp một số lượng lớn các API — như mọi hệ điều hành khác — để giúp bạn điều này dễ dàng hơn.

Ví dụ: nếu bạn muốn nhúng trình duyệt web để hiển thị một hoặc nhiều trang web, bạn không phải lập trình trình duyệt web của riêng mình từ đầu chỉ dành cho ứng dụng của bạn. Bạn sử dụng API WKWebView để nhúng đối tượng trình duyệt WebKit (Safari) vào ứng dụng của mình.

Nếu bạn muốn chụp ảnh hoặc quay video từ camera của iPhone, bạn không cần phải viết giao diện camera của riêng mình. Bạn sử dụng API camera để nhúng camera tích hợp của iPhone vào ứng dụng của mình. Nếu các API không tồn tại để giúp việc này trở nên dễ dàng, các nhà phát triển ứng dụng sẽ phải tạo phần mềm máy ảnh của riêng họ và giải thích các đầu vào của phần cứng máy ảnh. Nhưng các nhà phát triển hệ điều hành của Apple đã làm tất cả những công việc khó khăn này để các nhà phát triển chỉ có thể sử dụng API máy ảnh để nhúng máy ảnh và sau đó tiếp tục xây dựng ứng dụng của họ. Và, khi Apple cải thiện API máy ảnh, tất cả các ứng dụng dựa trên nó sẽ tự động tận dụng sự cải tiến đó.

Điều này áp dụng cho mọi nền tảng. Ví dụ, bạn có muốn tạo một hộp thoại trên Windows không? Có một API cho điều đó . Bạn muốn hỗ trợ xác thực vân tay trên Android? Cũng có một API cho điều đó , vì vậy bạn không cần phải kiểm tra mọi cảm biến vân tay của nhà sản xuất Android khác nhau. Các nhà phát triển không cần phải sáng tạo lại bánh xe nhiều lần.

Quyền truy cập kiểm soát API vào tài nguyên

API cũng được sử dụng để kiểm soát quyền truy cập vào các thiết bị phần cứng và các chức năng phần mềm mà một ứng dụng có thể không nhất thiết phải có quyền sử dụng. Đó là lý do tại sao các API thường đóng một vai trò lớn trong bảo mật.

Ví dụ: nếu bạn đã từng truy cập một trang web và thấy thông báo trong trình duyệt rằng trang web yêu cầu xem vị trí chính xác của bạn , thì trang web đó đang cố gắng sử dụng API định vị địa lý trong trình duyệt web của bạn. Các trình duyệt web hiển thị các API như thế này để giúp các nhà phát triển web dễ dàng truy cập vào vị trí của bạn — họ chỉ cần hỏi “bạn đang ở đâu?” và trình duyệt thực hiện công việc khó khăn khi truy cập GPS hoặc các mạng Wi-Fi lân cận để tìm vị trí thực của bạn.

Trang web Google Maps yêu cầu quyền vị trí

Tuy nhiên, các trình duyệt cũng hiển thị thông tin này qua một API vì có thể kiểm soát quyền truy cập vào nó. Khi một trang web muốn truy cập vào vị trí thực tế chính xác của bạn, cách duy nhất họ có thể nhận được là thông qua API vị trí. Và, khi một trang web cố gắng sử dụng nó, bạn — người dùng — có thể chọn cho phép hoặc từ chối yêu cầu này. Cách duy nhất để truy cập tài nguyên phần cứng như cảm biến GPS là thông qua API, vì vậy trình duyệt có thể kiểm soát quyền truy cập vào phần cứng và giới hạn những gì ứng dụng có thể làm.

Nguyên tắc tương tự này được sử dụng trên các hệ điều hành di động hiện đại như iOS và Android, nơi các ứng dụng dành cho thiết bị di động có quyền có thể được thực thi bằng cách kiểm soát quyền truy cập vào các API. Ví dụ: nếu một nhà phát triển cố gắng truy cập máy ảnh thông qua API máy ảnh, bạn có thể từ chối yêu cầu cấp quyền và ứng dụng không có cách nào truy cập máy ảnh của thiết bị của bạn.

Các hệ thống tệp sử dụng quyền — giống như trên Windows, Mac và Linux — có các quyền đó được thực thi bởi API hệ thống tệp. Một ứng dụng điển hình không có quyền truy cập trực tiếp vào đĩa cứng vật lý thô. Thay vào đó, ứng dụng phải truy cập tệp thông qua API.

API được sử dụng để liên lạc giữa các dịch vụ

API cũng được sử dụng cho tất cả các loại lý do khác. Ví dụ: nếu bạn đã từng thấy một đối tượng Google Maps được nhúng trên một trang web, thì trang web đó đang sử dụng API Google Maps để nhúng bản đồ đó. Google để lộ các API như thế này cho các nhà phát triển web, những người này sau đó có thể sử dụng các API để ghép các đối tượng phức tạp ngay trên trang web của họ. Nếu các API như thế này không tồn tại, các nhà phát triển có thể phải tạo bản đồ của riêng họ và cung cấp dữ liệu bản đồ của riêng họ chỉ để đưa một bản đồ tương tác nhỏ lên trang web.

Và, vì là một API, Google có thể kiểm soát quyền truy cập vào Google Maps trên các trang web của bên thứ ba, đảm bảo họ sử dụng nó theo cách nhất quán thay vì cố gắng nhúng một cách lộn xộn khung hiển thị trang web Google Maps, chẳng hạn.

Điều này áp dụng cho nhiều dịch vụ trực tuyến khác nhau. Có các API để yêu cầu dịch văn bản từ Google Dịch hoặc nhúng các bình luận hoặc tweet của Facebook từ Twitter trên một trang web.

Nếu bạn đã vượt qua điều này, bạn sẽ có ý tưởng tốt hơn về API là gì. Cuối cùng, bạn không thực sự cần biết API là gì trừ khi bạn là nhà phát triển. Tuy nhiên, nếu bạn thấy một nền tảng phần mềm hoặc dịch vụ đã thêm các API mới cho các phần cứng hoặc dịch vụ khác nhau, thì các nhà phát triển sẽ dễ dàng tận dụng các tính năng đó hơn.

Để lại một bình luận

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *