Lập trình theo cách của ứng dụng nhỏ

Những điểm hiệu quả đối với ứng dụng mini

Trong chương này, tôi muốn xem xét những bài học mà tôi rút ra được từ việc nghiên cứu ứng dụng mini theo quan điểm của nhà phát triển web, hoặc trả lời câu hỏi về ý nghĩa của việc phát triển ứng dụng mini.

Thành phần

Thay vì phát minh lại và yêu cầu nhà phát triển xây dựng một cách triển khai khác cho các mô hình giao diện người dùng phổ biến như thẻ, ngăn xếp, băng chuyền, v.v., ứng dụng mini chỉ đi kèm với một lựa chọn mặc định về các thành phần có thể mở rộng trong trường hợp bạn cần thêm. Tương tự như vậy, trên web cũng có nhiều tuỳ chọn, một số tuỳ chọn trong đó tôi đã liệt kê trong chương về thành phần ứng dụng mini. Lý tưởng nhất là các thư viện thành phần trên web được xây dựng theo cách bạn có thể tự do kết hợp các thư viện đó. Trong thực tế, có quá nhiều trường hợp bạn cần phải mua một hệ thống thiết kế nhất định khi sử dụng một thành phần, hoặc thư viện thành phần được phân phối theo cách toàn bộ hoặc không có gì, nhưng không thể dễ dàng thêm từng thành phần vào một dự án. Tuy nhiên, có một số thành phần nguyên tử mà bạn có thể sử dụng riêng biệt hoặc các thư viện như generic-components được tạo kiểu một cách có chủ ý. Bạn nên tìm và sử dụng những công cụ đó.

Mô hình-thành phần hiển thị-viewmodel

Mẫu cấu trúc mô hình – chế độ xem – viewmodel (MVVM) – hỗ trợ việc tách biệt quá trình phát triển giao diện người dùng đồ hoạ (chế độ xem) thông qua ngôn ngữ đánh dấu với quá trình phát triển logic phụ trợ (mô hình) – có nghĩa là chế độ xem không phụ thuộc vào bất kỳ nền tảng mô hình cụ thể nào. Mặc dù có một số điểm bất lợi được ghi nhận của mẫu này, nhưng nhìn chung, mẫu này hoạt động rất hiệu quả đối với các ứng dụng có độ phức tạp của ứng dụng mini. Thư viện này có thể phát huy hiệu quả đặc biệt với các thư viện tạo mẫu phong phú (xem chương tiếp theo).

Tư duy theo trang

Việc gỡ lỗi ứng dụng mini cho thấy rằng về cơ bản, chúng là các ứng dụng nhiều trang (MPA). Điều này có nhiều ưu điểm, chẳng hạn như cho phép định tuyến không quan trọng và tạo kiểu không xung đột trên mỗi trang. Mọi người đã áp dụng thành công cấu trúc MPA cho Ứng dụng web tiến bộ. Việc suy nghĩ theo trang cũng giúp quản lý các tài nguyên như tệp CSS và JavaScript của mỗi trang, cũng như các thành phần khác như hình ảnh và video. Quan trọng nhất, việc tạo theo cách này có nghĩa là bạn sẽ được phân tách mã dựa trên tuyến miễn phí nếu không tải bất kỳ nội dung nào khác. Trong trường hợp đó, theo định nghĩa, mỗi trang chỉ tải những nội dung cần thiết để hoạt động.

Quy trình xây dựng

Ứng dụng thu nhỏ không có quy trình xây dựng rõ ràng. Trên web, các công cụ xây dựng hiện đại như Snowpack tận dụng hệ thống mô-đun tích hợp sẵn của JavaScript (còn gọi là ESM) để tránh công việc không cần thiết và luôn nhanh chóng bất kể dự án phát triển lớn đến mức nào. Mặc dù còn ở giai đoạn đầu đối với các công nghệ như Gói web, nhưng đây là một công nghệ có thể dễ dàng thêm vào quy trình xây dựng.

Các tính năng mạnh mẽ

Gần đây, nền tảng web đã có thêm nhiều tính năng mới. Giờ đây, bạn có thể truy cập vào thiết bị thông qua Bluetooth, USB, HID, nối tiếpNFC. Khi các ứng dụng mini chạy trong WebView và phụ thuộc vào cầu JavaScript trên web, bạn có thể sử dụng trực tiếp các chức năng mạnh mẽ này mà không cần lập trình dựa trên API do cầu JavaScript cung cấp, mà dựa trên API trình duyệt mà không cần thực thể trung gian.

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.