Công cụ cho nhà phát triển ứng dụng nhỏ

Trải nghiệm của nhà phát triển

Sau khi đề cập đến ứng dụng mini per se, tôi muốn tập trung vào trải nghiệm của nhà phát triển đối với các nền tảng siêu ứng dụng khác nhau. Quá trình phát triển ứng dụng mini trên tất cả các nền tảng diễn ra trong IDE do các nền tảng siêu ứng dụng cung cấp miễn phí. Mặc dù có nhiều nền tảng hơn, nhưng tôi muốn tập trung vào 4 nền tảng phổ biến nhất và nền tảng thứ 5 cho Ứng dụng nhanh để so sánh.

IDE ứng dụng mini

Giống như các siêu ứng dụng, phần lớn IDE chỉ có bằng tiếng Trung. Bạn thực sự muốn đảm bảo rằng mình cài đặt phiên bản tiếng Trung chứ không phải phiên bản tiếng Anh (hoặc phiên bản ở nước ngoài) đôi khi có sẵn, vì phiên bản đó có thể không phải là phiên bản mới nhất. Nếu bạn là nhà phát triển macOS, hãy lưu ý rằng không phải tất cả IDE đều được ký. Điều này có nghĩa là macOS từ chối chạy trình cài đặt. Bạn có thể, tự chịu rủi ro, bỏ qua bước này như hướng dẫn trợ giúp của Apple.

Dự án khởi đầu ứng dụng mini

Để nhanh chóng bắt đầu phát triển ứng dụng mini, tất cả nhà cung cấp siêu ứng dụng đều cung cấp các ứng dụng minh hoạ mà bạn có thể tải xuống và kiểm thử ngay lập tức. Các ứng dụng này đôi khi cũng được tích hợp trong trình hướng dẫn "Dự án mới" của nhiều IDE.

Quy trình phát triển

Sau khi khởi chạy IDE và tải hoặc tạo ứng dụng mini (minh hoạ), bước đầu tiên luôn là đăng nhập. Thông thường, bạn chỉ cần quét mã QR bằng siêu ứng dụng (nơi bạn đã đăng nhập) do IDE tạo. Rất hiếm khi bạn phải nhập mật khẩu. Sau khi bạn đăng nhập, IDE sẽ biết danh tính của bạn và cho phép bạn bắt đầu lập trình, gỡ lỗi, kiểm thử và gửi ứng dụng của bạn để xem xét. Sau đây, bạn có thể xem ảnh chụp màn hình của 5 IDE được đề cập trong đoạn trên.

Cửa sổ ứng dụng WeChat DevTools cho thấy trình mô phỏng, trình soạn thảo mã và trình gỡ lỗi.
WeChat DevTools có trình mô phỏng, trình soạn thảo mã và trình gỡ lỗi.
Cửa sổ ứng dụng Alipay DevTools cho thấy trình soạn thảo mã, trình mô phỏng và trình gỡ lỗi.
Alipay DevTools có trình soạn thảo mã, trình mô phỏng và trình gỡ lỗi.
Cửa sổ ứng dụng Baidu DevTools cho thấy trình mô phỏng, trình soạn thảo mã và trình gỡ lỗi.
Baidu DevTools có trình mô phỏng, trình soạn thảo mã và trình gỡ lỗi.
Cửa sổ ứng dụng Công cụ cho nhà phát triển của ByteDance cho thấy trình mô phỏng, trình soạn thảo mã và trình gỡ lỗi.
ByteDance DevTools có trình mô phỏng, trình soạn thảo mã và trình gỡ lỗi.
Cửa sổ ứng dụng Quick App DevTools cho thấy trình soạn thảo mã, trình mô phỏng và trình gỡ lỗi.
Quick App DevTools có trình soạn thảo mã, trình mô phỏng và trình gỡ lỗi.

Như bạn có thể thấy, các thành phần cơ bản của tất cả IDE đều rất giống nhau. Bạn luôn có một trình soạn thảo mã dựa trên Trình soạn thảo Monaco, cùng một dự án cũng hỗ trợ VS Code. Trong tất cả IDE, có một trình gỡ lỗi dựa trên giao diện người dùng Chrome DevTools với một số sửa đổi. Bạn sẽ tìm hiểu thêm về các trình gỡ lỗi này sau (xem Trình gỡ lỗi). Các IDE per se được triển khai dưới dạng ứng dụng NW.js hoặc Electron. Các trình mô phỏng trong IDE được hiện thực hoá dưới dạng thẻ <webview> NW.js hoặc thẻ <webview> Electron, lần lượt dựa trên thẻ <webview> Chromium. Nếu bạn quan tâm đến nội bộ IDE, bạn thường có thể kiểm tra các IDE đó bằng Chrome DevTools bằng phím tắt Control+Alt+I (hoặc Command+Option+I trên máy Mac).

Chrome DevTools được dùng để kiểm tra Công cụ của Baidu cho nhà phát triển, cho thấy thẻ webview của trình mô phỏng trong bảng điều khiển Phần tử của Chrome DevTools.
Việc kiểm tra Baidu DevTools bằng Chrome DevTools cho thấy trình mô phỏng được hiện thực hoá dưới dạng thẻ Electron <webview>.

Kiểm thử và gỡ lỗi trên trình mô phỏng và thiết bị thực

Trình mô phỏng có thể so sánh với những gì bạn có thể biết từ Chrome DevTools' chế độ thiết bị. Bạn có thể mô phỏng nhiều thiết bị Android và iOS, thay đổi tỷ lệ và hướng thiết bị, nhưng cũng có thể mô phỏng nhiều trạng thái mạng, áp lực bộ nhớ, sự kiện đọc mã vạch, việc chấm dứt không mong muốn và chế độ tối.

Mặc dù trình mô phỏng tích hợp đủ để bạn cảm nhận sơ bộ về cách ứng dụng hoạt động, nhưng việc kiểm thử trên thiết bị (như với các ứng dụng web thông thường) là không thể thay thế. Bạn chỉ cần quét mã QR để kiểm thử ứng dụng mini đang trong quá trình phát triển. Ví dụ: trong ByteDance DevTools, việc quét mã QR do IDE tạo động bằng thiết bị thực sẽ dẫn đến phiên bản được lưu trữ trên đám mây của ứng dụng mini. Sau đó, bạn có thể kiểm thử ngay trên thiết bị. Cách hoạt động của ByteDance là URL đằng sau mã QR (ví dụ) chuyển hướng đến một trang được lưu trữ (ví dụ), chứa các đường liên kết có lược đồ URI đặc biệt, chẳng hạn như snssdk1128://, để xem trước ứng dụng mini trên nhiều siêu ứng dụng ByteDance như Douyin hoặc Toutiao (đây là một ví dụ). Các nhà cung cấp siêu ứng dụng khác không chuyển qua trang trung gian mà mở trực tiếp bản xem trước.

ByteDance DevTools cho thấy mã QR mà người dùng có thể quét bằng ứng dụng Douyin để xem ứng dụng thu nhỏ hiện tại trên thiết bị của họ.
ByteDance DevTools hiển thị mã QR mà người dùng có thể quét bằng ứng dụng Douyin để kiểm thử ngay trên thiết bị.
Trang đích trung gian để xem trước một ứng ứng dụng nhỏ của ByteDance trong nhiều siêu ứng dụng của công ty, được mở trên một trình duyệt dành cho máy tính thông thường để kỹ thuật đảo ngược quy trình.
Trang đích trung gian của ByteDance để xem trước ứng dụng mini (được mở trên trình duyệt dành cho máy tính để hiển thị quy trình).

Một tính năng hấp dẫn hơn nữa là gỡ lỗi từ xa bản xem trước dựa trên đám mây. Sau khi chỉ cần quét mã QR đặc biệt do IDE tạo, ứng dụng mini sẽ mở trên thiết bị thực, với cửa sổ Chrome DevTools chạy trên máy tính để gỡ lỗi từ xa.

Một chiếc điện thoại di động đang chạy một ứng dụng nhỏ với các phần của giao diện người dùng được làm nổi bật bởi trình gỡ lỗi ByteDance DevTools đang chạy trên một chiếc máy tính xách tay đang kiểm tra nó.
Gỡ lỗi từ xa không dây cho ứng dụng mini trên thiết bị thực bằng ByteDance DevTools.

Trình gỡ lỗi

Gỡ lỗi phần tử

Trải nghiệm gỡ lỗi ứng dụng mini rất quen thuộc với bất kỳ ai đã từng làm việc với Chrome DevTools. Tuy nhiên, có một số điểm khác biệt quan trọng giúp quy trình làm việc phù hợp với ứng dụng mini. Thay vì bảng điều khiển Phần tử của Chrome DevTools' , IDE ứng dụng mini có một bảng điều khiển tuỳ chỉnh phù hợp với phương ngữ HTML cụ thể của chúng. Ví dụ: trong trường hợp WeChat, bảng điều khiển này được gọi là Wxml, viết tắt của WeiXin Markup Language. Trong Baidu DevTools, bảng điều khiển này được gọi là Phần tử Swan. ByteDance DevTools gọi nó là Bxml. Alipay đặt tên là AXML và Quick App chỉ tham chiếu bảng điều khiển này là UX. Tôi sẽ tìm hiểu sâu về các ngôn ngữ đánh dấu này sau.

Kiểm tra hình ảnh bằng bảng điều khiển &quot;Wxml&quot; của WeChat DevTools. Điều này cho thấy thẻ đang dùng là thẻ &quot;image&quot;.
Kiểm tra phần tử <image> bằng WeChat DevTools.

Các phần tử tuỳ chỉnh bên dưới

Việc kiểm tra WebView trên thiết bị thực thông qua about://inspect/#devices cho thấy WeChat DevTools đã cố tình che giấu sự thật. Trong đó, WeChat DevTools hiển thị <image>, thực tế là tôi đang xem một phần tử tuỳ chỉnh có tên là <wx-image> với <div> là phần tử con duy nhất. Điều thú vị cần lưu ý là phần tử tuỳ chỉnh này không sử dụng Shadow DOM. Bạn sẽ tìm hiểu thêm về các thành phần này sau.

Kiểm tra một ứng dụng WeChat thu nhỏ đang chạy trên một thiết bị thực bằng Chrome DevTools. Trong khi WeChat DevTools báo cáo rằng tôi đang xem thẻ &quot;image&quot;, thì Chrome DevTools cho thấy tôi thực sự đang xử lý một phần tử tuỳ chỉnh &quot;wx-image&quot;.
Việc kiểm tra phần tử <image> bằng WeChat DevTools cho thấy đây thực sự là phần tử tuỳ chỉnh <wx-image>.

Gỡ lỗi CSS

Một điểm khác biệt nữa là đơn vị độ dài mới rpx cho pixel thích ứng trong nhiều phương ngữ CSS (bạn sẽ tìm hiểu thêm về đơn vị này sau). WeChat DevTools sử dụng các đơn vị độ dài CSS không phụ thuộc vào thiết bị để giúp việc phát triển cho nhiều kích thước thiết bị trở nên trực quan hơn.

Kiểm tra một khung hiển thị có khoảng đệm trên và dưới được chỉ định là &quot;200rpx&quot; trong Công cụ phát triển WeChat.
Kiểm tra khoảng đệm được chỉ định bằng pixel thích ứng (200rpx 0) của một khung hiển thị bằng WeChat DevTools.

Kiểm toán hiệu suất

Hiệu suất là yếu tố quan trọng hàng đầu đối với các ứng dụng mini. Vì vậy, không có gì ngạc nhiên khi WeChat Công cụ cho nhà phát triển và một số Công cụ cho nhà phát triển khác có một công cụ kiểm tra tích hợp lấy cảm hứng từ Lighthouse. Các lĩnh vực trọng tâm của quá trình kiểm tra là Tổng số, Hiệu suất, Trải nghiệm và Phương pháp hay nhất. Bạn có thể tuỳ chỉnh khung hiển thị của IDE. Trong ảnh chụp màn hình bên dưới, tôi đã tạm thời ẩn trình soạn thảo mã để có thêm không gian màn hình cho công cụ kiểm tra.

Chạy quy trình kiểm tra hiệu suất bằng công cụ kiểm tra tích hợp. Điểm số cho thấy Tổng điểm, Hiệu suất, Trải nghiệm và Phương pháp hay nhất, mỗi điểm là 100/100.
Công cụ Kiểm tra tích hợp trong WeChat DevTools hiển thị Tổng số, Hiệu suất, Trải nghiệm và Phương pháp hay nhất.

Mô phỏng API

Thay vì yêu cầu nhà phát triển thiết lập một dịch vụ riêng biệt, việc mô phỏng các phản hồi API là một phần trực tiếp của WeChat DevTools. Thông qua giao diện dễ sử dụng, nhà phát triển có thể thiết lập các điểm cuối API và các phản hồi mô phỏng mong muốn.

Thiết lập phản hồi mô phỏng cho một điểm cuối API trong Công cụ cho nhà phát triển WeChat.
Tính năng mô phỏng phản hồi API tích hợp của WeChat DevTools.

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.