Ứng dụng nhỏ là gì?

Khối xây dựng và khả năng tương thích

Ứng dụng mini là các ứng dụng nhỏ (thường là 2-4 MB) cần có một ứng dụng siêu lớn để chạy. Điểm chung của các ứng dụng này, độc lập với ứng dụng siêu, là chúng được tạo bằng ("ngôn ngữ" của) các công nghệ web HTML, CSS và JavaScript. Thời gian chạy của ứng dụng mini là một WebView trong ứng dụng siêu cấp, chứ không phải hệ điều hành cơ bản, giúp ứng dụng mini hoạt động trên nhiều nền tảng. Cùng một ứng dụng mini có thể chạy trong cùng một ứng dụng siêu, bất kể ứng dụng siêu đó chạy trên Android, iOS hay một hệ điều hành khác. Tuy nhiên, không phải ứng dụng mini nào cũng có thể chạy trong tất cả ứng dụng siêu. Chúng ta sẽ tìm hiểu thêm về vấn đề này sau.

Chiến dịch Khám phá

Ứng dụng mini thường được phát hiện ngẫu nhiên thông qua mã vạch 2D mang thương hiệu. Mã vạch này giúp giải quyết một thách thức quan trọng từ ngoại tuyến sang trực tuyến, chẳng hạn như chuyển từ thực đơn nhà hàng thực tế sang ứng dụng mini thanh toán hoặc từ xe tay ga điện thực tế sang ứng dụng mini cho thuê. Hình ảnh bên dưới cho thấy ví dụ về một mã vạch 2D mang thương hiệu như vậy cho ứng dụng mini minh hoạ của WeChat. Khi mã được quét bằng siêu ứng dụng WeChat, ứng dụng mini sẽ khởi chạy trực tiếp. Các ứng dụng siêu đa năng khác thường không thể nhận dạng mã vạch.

Mã vạch 2D mang thương hiệu WeChat.
Khi quét mã vạch 2D này bằng ứng dụng WeChat, một ứng dụng mini minh hoạ sẽ khởi chạy.

Người dùng cũng có thể khám phá ứng dụng mini thông qua tính năng tìm kiếm thông thường trong ứng dụng siêu ứng dụng, chia sẻ trong tin nhắn trò chuyện hoặc trong một mục tin tức trong trang thông tin. Một số ứng dụng siêu lớn có khái niệm về tài khoản đã xác minh có thể chứa các ứng dụng nhỏ trong hồ sơ của chúng. Các ứng dụng thu nhỏ có thể được làm nổi bật khi ở gần người dùng về mặt địa lý, chẳng hạn như ứng dụng thu nhỏ của một doanh nghiệp mà người dùng đang đứng trước, hoặc ở gần người dùng về mặt ảo, chẳng hạn như khi người dùng xem đường đi trên bản đồ hiển thị trong ứng dụng siêu. Các ứng dụng thu nhỏ thường dùng có trong ngăn ứng dụng. Trong nhiều ứng dụng siêu, bạn có thể truy cập vào các ứng dụng thu nhỏ thông qua cử chỉ vuốt xuống hoặc thông qua một phần đặc biệt trong trình đơn ứng dụng siêu.

Trải nghiệm người dùng

Tất cả ứng dụng siêu đều có giao diện người dùng ít nhiều giống nhau cho các ứng dụng mini. Một thanh trên cùng có thể tuỳ chỉnh với tên của ứng dụng thu nhỏ và ở góc trên của màn hình, một nút đóng ở ngoài cùng bên phải, trước đó là trình đơn thao tác cung cấp quyền truy cập vào các tính năng phổ biến như chia sẻ ứng dụng, thêm ứng dụng vào danh sách yêu thích hoặc màn hình chính, báo cáo ứng dụng sai trái, cung cấp ý kiến phản hồi và cài đặt. Ảnh chụp màn hình bên dưới cho thấy một ứng dụng mua sắm nhỏ đang chạy trong bối cảnh của ứng dụng siêu lớn Alipay với trình đơn thao tác đang mở.

Ứng dụng siêu lớn Alipay đang chạy một ứng dụng mua sắm thu nhỏ có thanh trên cùng, nút trình đơn thao tác và nút đóng được làm nổi bật. Trình đơn thao tác sẽ mở ra.
Trình đơn thao tác đã mở của một ứng dụng mua sắm mini chạy trong siêu ứng dụng Alipay.

Mô hình giao diện người dùng

Thường thì sẽ có một thanh thẻ dưới cùng cho bảng điều hướng chính của ứng dụng thu nhỏ. Hầu hết nhà cung cấp ứng dụng siêu lớn đều cung cấp các thành phần giúp nhà phát triển nhanh chóng triển khai các mô hình giao diện người dùng phổ biến, chẳng hạn như băng chuyền, trình đơn dạng xếp, thanh tiến trình, trình đơn vòng quay, nút chuyển, bản đồ, v.v. Điều này cũng giúp mang lại trải nghiệm nhất quán cho người dùng giữa các ứng dụng mini, điều này được khuyến khích theo Nguyên tắc thiết kế chương trình mini của WeChat. Điều này tương tự như những gì Apple khuyến khích thông qua Hướng dẫn giao diện người dùng của Apple và Google thông qua các đề xuất Thiết kế cho Android.

Ứng dụng minh hoạ nhỏ của Douyin giới thiệu thành phần thanh trượt (băng chuyền) Douyin có các nút bật/tắt để tự động chuyển tiếp, chỉ báo dấu chấm, v.v.
Thành phần thanh trượt (băng chuyền) của Douyin với nhiều tuỳ chọn.

Đang phân phối

Thay vì được phân phát từng phần dưới dạng tài nguyên riêng biệt, ứng dụng mini được phân phát dưới dạng ứng dụng đóng gói đã mã hoá, tức là dưới dạng tệp lưu trữ chứa tất cả tài nguyên chỉ trong một tệp. Không giống như các ứng dụng web thông thường, ứng dụng web này cũng không được phân phát từ nguồn gốc cụ thể của nhà sáng tạo ứng dụng mini mà được phân phát trực tiếp từ nhà cung cấp ứng dụng siêu. Các ứng dụng này vẫn có thể truy cập vào API từ máy chủ của trình tạo ứng dụng mini, nhưng tài nguyên cốt lõi (thường gọi là vỏ ứng dụng) phải được phân phát từ nhà cung cấp ứng dụng siêu. Ứng dụng mini phải khai báo nguồn gốc mà ứng dụng yêu cầu thêm dữ liệu.

Lưu vào bộ nhớ đệm, cập nhật và liên kết sâu

Ứng dụng mini được lưu trong bộ nhớ đệm của ứng dụng siêu, vì vậy, lần tiếp theo người dùng khởi chạy một ứng dụng mini đã lưu vào bộ nhớ đệm, ứng dụng đó sẽ tải gần như ngay lập tức. Nếu có bản cập nhật, một gói ứng dụng mới sẽ được tải. Số phiên bản có thể là một phần của URI khởi chạy (xem phần Khám phá), vì vậy, ứng dụng siêu lớn sẽ biết sớm liệu phiên bản được lưu vào bộ nhớ đệm cục bộ có còn mới hay không. URI khởi chạy cũng có thể chứa trang mong muốn của ứng dụng mini, vì vậy, bạn có thể liên kết sâu vào các trang cụ thể của ứng dụng mini. Thông qua một sơ đồ trang web, ứng dụng mini có thể khai báo trang nào của ứng dụng có thể được trình thu thập thông tin ứng dụng mini của nhà cung cấp ứng dụng siêu cấp lập chỉ mục.

Trình tìm kiếm macOS hiển thị một thư mục chứa các tệp `.wxapkg` của ứng dụng WeChat mini được lưu trong bộ nhớ đệm.
Các ứng dụng mini được lưu vào bộ nhớ đệm dưới dạng ứng dụng đóng gói được mã hoá.

Tính bảo mật và quyền truy cập

Ứng dụng mini được nhà cung cấp ứng dụng siêu lớn xem xét, tức là người dùng sẽ cảm thấy ứng dụng mini an toàn hơn ứng dụng web. Trước tiên, các ứng dụng này cần khai báo các quyền có thể cần thiết trong tệp kê khai hoặc tệp cấu hình ứng dụng mini. Đối với một số nhà cung cấp, các ứng dụng này cũng cần giải thích lý do cần có từng quyền. Tất nhiên, ứng dụng mini vẫn có thể nói dối, nhưng sẽ khó biện minh lý do tại sao chúng cố gắng truy cập vào cảm biến chuyển động mà không có lý do rõ ràng cho người dùng. Động lực tạo vân tay số cho người dùng thấp hơn đáng kể so với trên web, vì người dùng thường đã đăng nhập vào ứng dụng siêu cấp (xem phần Danh tính, thanh toán và biểu đồ xã hội).

Bất cứ khi nào một ứng dụng mini thực hiện một thao tác cần có quyền đặc biệt, hệ thống sẽ hiển thị lời nhắc cho người dùng. Nếu nền tảng thực thi, lời nhắc này cũng sẽ bao gồm lý do sử dụng như nhà phát triển đã nêu. Ảnh chụp màn hình bên dưới cho thấy ứng dụng mini minh hoạ Douyin khi ứng dụng này yêu cầu người dùng cấp quyền chia sẻ vị trí của họ. Trong một số ứng dụng siêu lớn, cũng có một API bắt buộc mà các ứng dụng nhỏ có thể tận dụng để yêu cầu quyền mà không cần sử dụng ngay hoặc chỉ để kiểm tra trạng thái của một quyền. Thậm chí, trang này có thể bao gồm một API để mở phần cài đặt quyền của siêu ứng dụng trung tâm, tương ứng với Cài đặt trang web của Chrome. Ứng dụng mini cũng phải khai báo trước nguồn gốc của tất cả máy chủ mà ứng dụng có thể yêu cầu dữ liệu.

Ứng dụng minh hoạ thu nhỏ của Douyin hiển thị lời nhắc vị trí địa lý với hai lựa chọn: "Không được phép" và "Được phép".
Ứng dụng minh hoạ nhỏ của Douyin yêu cầu quyền truy cập thông tin vị trí địa lý.

Sử dụng các tính năng mạnh mẽ

Ứng dụng siêu cấp lưu trữ cung cấp quyền truy cập vào các API mạnh mẽ thông qua một cầu JavaScript được chèn vào WebView do ứng dụng siêu cấp cung cấp (xem phần Khối xây dựng và khả năng tương thích). Cầu JavaScript này cung cấp các trình nối vào API của hệ điều hành. Ví dụ: một hàm JavaScript của ứng dụng mini như getConnectedWifi() – khả năng của ứng dụng mini để lấy tên của mạng Wi-Fi đang hoạt động – được hỗ trợ thông qua API getConnectionInfo() của Android hoặc API CNCopyCurrentNetworkInfo() của iOS. Một số ví dụ khác về API thiết bị mạnh mẽ được hiển thị trong các ứng dụng siêu phổ biến là Bluetooth, NFC, iBeacon, GPS, bảng nhớ tạm của hệ thống, cảm biến hướng, thông tin pin, quyền truy cập vào lịch, quyền truy cập vào danh bạ, điều khiển độ sáng màn hình, quyền truy cập vào hệ thống tệp, phần cứng rung để phản hồi vật lý, quyền truy cập vào máy ảnh và micrô, quay màn hình và tạo ảnh chụp màn hình, trạng thái mạng, ổ cắm UDP, quét mã vạch, thông tin bộ nhớ thiết bị, v.v.

Ứng dụng WeChat mini minh hoạ hiển thị một thanh trượt điều khiển độ sáng màn hình của thiết bị được di chuyển hết cỡ đến mức tối đa.
Ứng dụng WeChat mini minh hoạ cách đặt độ sáng màn hình của thiết bị ở mức tối đa.

Truy cập vào dịch vụ đám mây

Nhiều ứng dụng siêu cũng cung cấp quyền truy cập "không có máy chủ" vào các dịch vụ đám mây của nhà cung cấp ứng dụng siêu. Ngoài điện toán đám mây thô và bộ nhớ trên đám mây, các dịch vụ này thường cũng bao gồm các tác vụ cấp cao hơn như dịch văn bản, phát hiện đối tượng hoặc phân loại nội dung trong hình ảnh, nhận dạng lời nói hoặc các tác vụ Học máy khác. Bạn có thể kiếm tiền từ ứng dụng mini bằng quảng cáo, thường do các nhà cung cấp ứng dụng siêu lớn cung cấp. Các nền tảng siêu ứng dụng thường cũng cung cấp dữ liệu phân tích trên đám mây, nhờ đó, nhà phát triển ứng dụng mini có thể hiểu rõ hơn về cách người dùng tương tác với ứng dụng của họ.

Danh tính, thanh toán, biểu đồ xã hội

Một tính năng rất quan trọng của ứng dụng mini là thông tin nhận dạng và biểu đồ xã hội được chia sẻ từ siêu ứng dụng. Các siêu ứng dụng như Douyin hoặc WeChat bắt đầu là các trang mạng xã hội theo nghĩa rộng nhất, nơi người dùng có danh tính (đôi khi thậm chí là được chính phủ xác minh), mạng lưới bạn bè hoặc người theo dõi và thường cũng lưu trữ dữ liệu thanh toán. Ví dụ: ứng dụng mua sắm mini có thể (hoặc đôi khi thậm chí phải) xử lý mọi khoản thanh toán trực tiếp thông qua API thanh toán của ứng dụng siêu lớn và khi người dùng đồng ý, có thể lấy dữ liệu người dùng như địa chỉ giao hàng, số điện thoại và tên đầy đủ của họ, tất cả mà không cần buộc người dùng phải điền vào các biểu mẫu. Dưới đây, bạn có thể thấy ứng dụng nhỏ Walmart đang chạy trong WeChat, được mở lần đầu tiên, chào tôi bằng một khuôn mặt quen thuộc.

Ứng dụng mini Walmart hiển thị khuôn mặt và tên của tác giả trên thẻ "Tôi".
Ứng dụng thu nhỏ của Walmart có chế độ xem "Tôi" được cá nhân hoá trong lần truy cập đầu tiên.

Ứng dụng mini có thể trở nên phổ biến bằng cách cho phép mọi người chia sẻ thành tích của họ (chẳng hạn như điểm số cao trong trò chơi) và thách thức những người liên hệ của họ thông qua thông tin cập nhật trạng thái. Sau đó, người dùng chỉ cần nhấn một lần là có thể tham gia cuộc thi mà không gặp bất kỳ trở ngại nào. Nhờ đó, ứng dụng mini có thể mở rộng phạm vi tiếp cận.

Lời cảm ơn

Bài viết này đã được Joe Medley, Kayce Basques, Milica Mihajlija, Alan Kent và Keith Gu xem xét.