Adobe giảm được 20% kích thước ứng dụng nhờ sử dụng gói ứng dụng và Dynamic Delivery
Thông tin khái quát
Từ năm 1982, các công cụ hỗ trợ sáng tạo và cải thiện hiệu suất của Adobe đã giúp ích cho nhiều người. Mặc dù các ứng dụng của Adobe như Photoshop, Illustrator và Lightroom được giới sáng tạo yêu thích mấy mươi năm qua, nhưng chính định dạng PDF đơn giản (mà Adobe phát minh gần 30 năm về trước) mới là cái tên quen thuộc nhất với mọi người.
Ứng dụng Android hàng đầu của Adobe dành cho thiết bị di động, Adobe Acrobat Reader, trở thành chuẩn mực về ứng dụng miễn phí trên toàn cầu mà mọi người có thể yên tâm dùng để xem, ký và ghi nhận xét trên tài liệu PDF. Ứng dùng này hiện có hơn 500 triệu lượt tải xuống. Sau ngần ấy năm, Adobe Acrobat Reader ngày càng trở nên hoàn thiện hơn. Shubham Garg, Chuyên gia về Khoa học Máy tính tại Adobe cho biết: "Năm qua, chúng tôi đã thêm nhiều tính năng vào ứng dụng Android". Mặc dù người dùng yêu thích các tính năng mới nhưng họ cũng bắt đầu nhận thấy kích thước ứng dụng tăng lên, khiến số lượt chuyển đổi giảm xuống. Đây là một trở ngại "đặc biệt xảy ra ở những các nền kinh tế đang phát triển mà theo như chúng tôi thấy thì cả hai vấn đề này đều nổi bật hơn cả", trích lời của Shubham.
Những việc họ đã làm
Android App Bundle giúp Adobe dễ dàng giảm kích thước ứng dụng của Acrobat. Shubham nói: "Chuyển sang dùng App Bundle thật là dễ". "Ứng dụng của chúng tôi đã hỗ trợ phiên bản SDK Android tối thiểu và đáp ứng các yêu cầu của Gradle nên chúng tôi chỉ phải thay đổi một ích mã lệnh để hỗ trợ App Bundle." Anh còn cho biết thêm sau khi họ chuyển một bản sao của khóa ký đến Google một cách an toàn thì việc phát hành ứng dụng diễn ra dễ dàng.
Ngoài việc sử dụng App Bundle, Adobe còn chọn mô-đun hóa một số tính năng của ứng dụng để giảm kích thước ứng dụng hơn nữa. Shubham chia sẻ: "Chúng tôi từng sử dụng các mô-đun thư viện trong ứng dụng nhưng các tính năng động khiến chúng tôi thay đổi suy nghĩ về việc mô-đun hóa". "Ứng dụng này có thể được phân phối theo dạng độc lập mà chúng tôi không phải thêm phần phụ thuộc vào các tính năng trong thời gian biên dịch. Người dùng có thể cài đặt các tính năng sau này."
Tính năng đầu tiên mà họ mô-đun hóa là "Fill & Sign" (Điền và Ký). Khi sử dụng Dynamic Delivery, họ không còn phải thêm mật độ màn hình và tài nguyên theo từng ngôn ngữ vào mỗi APK nữa. Vì họ đã phân tách các APK cũ theo cấu trúc nên nhóm phát triển không phải tốn thêm công sức để làm cho các APK này tương thích với App Bundle.
Kết quả
App Bundle và Dynamic Delivery có thể giảm 15 MB kích thước ứng dụng của Acrobat, tức là khoảng 22% - 25%. Đối với một số thiết bị, kích thước ứng dụng còn giảm nhiều hơn, khoảng 30%. Việc phát hành ứng dụng diễn ra cực kỳ thuận lợi. Shubham cho biết: "Chúng tôi không gặp phải vấn đề suy giảm hiệu suất và người dùng có thể tải ứng dụng xuống một cách liền mạch". Anh cho rằng một phần của thành công này là nhờ việc dễ dàng thử nghiệm ứng dụng. "Chúng tôi sử dụng tính năng chia sẻ ứng dụng nội bộ để có được trải nghiệm trên Cửa hàng Play. Tính năng này còn giúp chúng tôi tải các ứng dụng có thể gỡ lỗi lên mà không cần phải lo lắng về việc xác định phiên bản."
App Bundle còn giúp nhóm tiết kiệm thời gian vì giờ đây, họ chỉ cần tải một cấu phần phần mềm duy nhất lên Google Play. Shubham cho biết: "Trước đây, chúng tôi phải dựa vào 4 loại APK được phân tách theo cấu trúc." Giờ thì họ chỉ cần một cấu phần phần mềm duy nhất. Họ còn nhận thấy tỷ lệ chuyển đổi về lượt cài đặt tăng 5% - 7% và số người dùng than phiền về kích thước ứng dụng giảm xuống.
Nhờ Dynamic Delivery, "kích thước ứng dụng nhỏ hơn, còn việc cài đặt ứng dụng diễn ra nhanh hơn", trích lời của Shubham. Trước khi tiến hành mô-đun hóa, nhóm thường tải 4 loại APK lên cho mỗi bản phát hành. Vì mỗi APK có một mã phiên bản khác nhau nên họ phải đo lường riêng biệt các chỉ số quan trọng và số liệu phân tích. Đây là một quá trình thực sự rườm rà và dễ xảy ra sai sót. Tuy nhiên với App Bundle, họ chỉ cần tải một cấu phần phần mềm duy nhất lên kèm theo một mã phiên bản duy nhất. Shubham chia sẻ: "Tính năng này giúp chúng tôi đơn giản hóa quá trình phát triển ứng dụng. Giờ đây, chúng tôi có thể chia sẻ từng bản dựng với người kiểm tra và yên tâm rằng ứng dụng sẽ hoạt động trên mọi thiết bị".
Tiếp theo là gì? Shubham cho biết: "Chúng tôi muốn thử nghiệm các tính năng phân phối có điều kiện để thấy được lợi ích của việc giảm kích thước ứng dụng hoặc mô hình phân phối động (dynamic delivery) dành cho một số tính năng bằng cách hướng đến những đối tượng cụ thể".
Bắt đầu
Mọi nhà phát triển ứng dụng và trò chơi đều có thể sử dụng Android App Bundle. Hãy bắt đầu ngay hôm nay!