Tầm Quan Trọng Của Tối Ưu Hóa Kích Thước App: Câu Chuyện Về @UBS

Mới đây, trên Twitter, anh bạn @mraleph đã có một thread siêu thú vị, bóc phốt nhẹ nhàng về cách quản lý kích thước app của @UBS. Câu chuyện xoay quanh việc app iOS của @UBS chứa cả đống JavaScript (JS) không được nén, JS đã nén, và cả source maps, làm cho kích thước app phình to không cần thiết. Anh bạn còn troll nhẹ nhàng khi chỉ ra rằng họ cố gắng tối ưu để tiết kiệm đúng... 4 byte, trong khi cả app thì nặng như "cục tạ" vì mấy thứ dư thừa. Nghe mà vừa buồn cười, vừa thấy đau lòng cho người dùng.
Thread này chạm đúng một vấn đề nhức nhối trong giới tech: làm sao cân bằng giữa "xịn sò" và "nhẹ nhàng". Một ví dụ được nhắc đến là Highcharts - framework mà @UBS đang dùng. Highcharts gần đây đã ra mắt phiên bản standalone nhẹ hơn hẳn so với mấy bản cồng kềnh đi kèm jQuery hay các thư viện khác. Nhưng mà, đoán xem? @UBS lại chọn bản nặng đô, khiến Highcharts.framework trong app của họ nặng tận 76MB. Ủa alo? Quy trình quyết định kiểu gì vậy trời?
Apple thì đã có hẳn tài liệu hướng dẫn tối ưu kích thước app, nhưng có vẻ như @UBS chưa thèm ngó ngàng tới. Chỉ cần chỉnh build settings một chút, dùng asset catalogs hợp lý, là có thể giảm đáng kể kích thước app, giúp app chạy mượt hơn và người dùng cũng vui hơn. Thread này như một lời nhắc nhở nhẹ nhàng (mà cũng hơi gắt) rằng @UBS cần xem lại cách làm app của mình, vì hiện tại trông như đang "bỏ qua bài tập về nhà" vậy.
Ngoài ra, chuyện minify code cũng là một điểm đáng nói. Thread này tuy không nói thẳng, nhưng ai cũng hiểu là cần dùng mấy tool như Terser để nén file JS. Minify code là bước cơ bản để giảm kích thước file bằng cách loại bỏ mấy ký tự thừa thãi và tối ưu cấu trúc code. Đặc biệt với app mobile, nơi mà tốc độ tải và trải nghiệm người dùng bị ảnh hưởng trực tiếp bởi kích thước app, thì việc này lại càng quan trọng.
Kích thước app quá lớn không chỉ gây phiền phức mà còn làm khổ người dùng, nhất là mấy bạn xài điện thoại dung lượng thấp hoặc mạng chậm. Cái sự đối lập giữa việc tiết kiệm 4 byte và cả đống code không tối ưu như một lời nhắc nhở "cà khịa" rằng: làm app thì phải làm cho tới, đừng nửa vời. Đây cũng là chủ đề mà dân tech hay bàn tán trên mấy diễn đàn như Hacker News, nơi mà ai cũng thích chia sẻ mấy mẹo tối ưu và tranh luận về cách làm app "ngon lành cành đào".
Tóm lại, thread của @mraleph là một bài học quý giá về việc tối ưu hóa kích thước app, đặc biệt là với trường hợp của @UBS. Nếu chịu khó áp dụng mấy best practices về quản lý code và tối ưu hóa, @UBS hoàn toàn có thể làm app của mình nhẹ hơn, mượt hơn, và người dùng cũng sẽ yêu thích hơn. Trong thời đại công nghệ phát triển không ngừng, việc cân bằng giữa "xịn" và "nhẹ" sẽ luôn là bài toán mà các dev và công ty phải giải quyết.