Apple đã tìm ra cách để ứng dụng iOS vượt trội hơn hẳn Android về độ mượt

Apple đã tìm ra cách để ứng dụng iOS vượt trội hơn hẳn Android về độ mượt

Muốn nhanh thì phải chạy trước

Nói một cách ngắn gọn, những gì Apple đang cố cải tiến trên iPhone là như sau: thay vì chỉ tải nội dung mới về máy khi bạn đã cuộn hết phần nội dung cũ, các API sẽ tải về các nội dung bạn sắp cần (theo dự đoán) tại một mốc thời gian sớm hơn.

Ví dụ, khi cuộn nội dung trên các ứng dụng như Facebook, 9GAG, Messenger hoặc Instagram, bạn sẽ thấy các ứng dụng này được phân bổ thành các "gói" (block) dữ liệu khác nhau. Ví dụ, Facebook sẽ tải về từng cụm bài viết, Messenger sẽ tải về từng cụm tin nhắn đến thời điểm nào đó. Nếu bạn cuộn quá nhanh, một số ứng dụng có thể gặp hiện tượng chậm giật vì phải liên tiếp tải quá nhiều block dữ liệu cùng lúc. Đây là hiện tượng "sụt giảm khung hình" - một hiện tượng tạo ra cảm giác kém chất lượng cho các ứng dụng.

Lý do dẫn đến hiện tượng này, theo Apple, là bởi các block dữ liệu chỉ được bắt đầu tải về khoảng vài mili-giây trước khi người dùng cuộn tới cuối trang.

 

Apple đã tìm ra cách để ứng dụng iOS vượt trội hơn hẳn Android về độ mượt

Để tránh được hiện tượng này, Apple sẽ cung cấp cơ chế để các ứng dụng có thể tải về nội dung cần thiết trước khi người dùng cuộn tới vị trí cuối trang. Điều này đảm bảo cho hiệu năng khi cuộn trang sẽ không bị ảnh hưởng đáng kể, thời gian tải được giảm thiểu. Độ mượt được Apple đề ra là 60 khung hình/giây, một con số mà các ứng dụng hiện nay thường không thể đáp ứng được.

Apple khẳng định kết quả thử nghiệm khi đẩy sớm thời điểm tải block dữ liệu cho thấy các ứng dụng hoàn toàn có thể chạm mốc 60 khung hình/giây một cách dễ dàng.

Không chỉ thực hiện "nạp dữ liệu từ sớm" ("pre-fetching"), Apple cũng tăng thời gian lưu bộ nhớ của các block nội dung cũ. Các block dữ liệu cũ, vốn sẽ được xóa khỏi màn hình khi bạn cuộn trang, nay sẽ được giữ trên bộ nhớ lâu hơn trong trường hợp người dùng nhớ ra một nội dung nào đó họ cần đã bị bỏ ở phía trên và muốn cuộn trở lại. Hiệu ứng giảm thời gian tải cũng sẽ được áp dụng trong trường hợp này.

Thay đổi cách truy nhập dữ liệu

Apple cũng đã thay đổi cách các ứng dụng truy cập vào dữ liệu. Các API mới vẫn sẽ truy cập dữ liệu theo cách không đồng bộ (async, phương pháp để giảm tải hệ thống) như trước, nhưng các lượt gọi (kích hoạt) API sẽ được thực hiện nhanh hơn. Giải pháp mới được Apple thiết kế để kết hợp với Core Data, song vẫn sẽ hoạt động tốt với các giải pháp khác.

 

Apple đã tìm ra cách để ứng dụng iOS vượt trội hơn hẳn Android về độ mượt 2

Từ khía cạnh này, các giải pháp database như Realm sẽ trở nên phù hợp hơn với các ứng dụng di động. Dù đã nhanh hơn Core Data và SQLite khá nhiều, các giải pháp tải dữ liệu của Apple giờ đây đã thực sự ngang ngửa với các công nghệ tân tiến nhất.

Theo thiết kế mới, API sẽ tải dữ liệu trên một queue (hàng xếp thứ tự) dưới nền để không ảnh hưởng đến luồng chính. API mới cũng sẽ tự thích nghi với tốc độ scroll để tốc độ tải dữ liệu có thể theo kịp hành vi của người dùng.

Thêm thông tin, ít vấn đề hơn

Nếu bạn đang băn khoăn về các ứng dụng có nhiều cột nội dung tương ứng với nhiều luồng dữ liệu, Apple cũng đã có giải pháp dành cho bạn.

Hiện nay, ở cùng một thời điểm các ứng dụng này đang tải tất cả các ô dữ liệu (cell) trong một hàng. Cũng giống như các ứng dụng chỉ có một cột thông tin duy nhất, mô hình nói trên có thể gây ra hiện tượng chậm giật. Với iOS 10, các ứng dụng có nhiều cột nội dung sẽ tải lần lượt các ô dữ liệu theo mô hình domino.

 

Apple đã tìm ra cách để ứng dụng iOS vượt trội hơn hẳn Android về độ mượt 3

Nhờ có mô hình này các ứng dụng phức tạp sẽ có hiệu năng ngang ngửa với các ứng dụng đơn giản và cũng không đòi hỏi các nhà phát triển phải bỏ thêm công sức tối ưu sản phẩm của họ. Apple cũng cho biết các ứng dụng nhiều cột sẽ hoạt động tốt nhất nếu các ô dữ liệu có kích cỡ tương đương nhau, dù rằng đây không phải là một yêu cầu bắt buộc.

Các ứng dụng có giao diện trang (page) hoặc bảng (table) cũng sẽ hưởng lợi từ mô hình mới, bởi API của Apple sẽ hoạt động với cả 2 loại ứng dụng này để tăng tốc độ tải dữ liệu.

Thay đổi không nhọc công

Điều thú vị nhất là các nhà phát triển ứng dụng sẽ không phải tốn một chút công sức nào để tận hưởng thành quả từ Apple. Tất cả các thay đổi đều được thực hiện ở backend của các API đã có sẵn. Do đó, bạn chỉ cần biên dịch lại các app đã có từ trước cho iOS 10 và ngay lập tức chúng sẽ trở nên mượt mà, nhanh nhạy hơn rất nhiều.

Nếu không thích sử dụng mô hình tải dữ liệu mới, các nhà phát triển chỉ cần thêm vào một dòng code duy nhất. Dĩ nhiên, họ sẽ chẳng có lý do gì để làm như vậy cả.

 

Apple đã tìm ra cách để ứng dụng iOS vượt trội hơn hẳn Android về độ mượt 4

Đây là một thắng lợi khổng lồ cho cả người tiêu dùng lẫn các nhà phát triển. Bằng cách mang tới một thay đổi to lớn nhưng lại không khiến các lập trình viên tốn một chút công sức nào, Apple đã giúp cho các ứng dụng hoạt động nhanh hơn - đồng nghĩa với một trải nghiệm người dùng tốt đẹp hơn rất nhiều so với trước đây.

Bài đọc nhiều nhất

Bài mới trong ngày

Huyền Thoại Marvel, Frank Miller Chỉ Ra Lý Do Phim Chuyển Thể Truyện Tranh Đánh Mất Bản Sắc

Huyền Thoại Marvel, Frank Miller Chỉ Ra Lý Do Phim Chuyển Thể Truyện Tranh Đánh Mất Bản Sắc

Khoa LêLê Khoa

Frank Miller, một trong những tác giả truyện tranh nổi tiếng nhất thế giới, mới đây đã lên tiếng về những tác động tiêu cực mà Hollywood gây ra đối với ngành công nghiệp truyện tranh, đặc biệt khi ngày càng nhiều tác phẩm được sáng tác với mục tiêu chuyển thể thành phim.

Phim Ảnh
Nicolas Cage suýt đánh mất bản thân khi hóa thân thành Castor Troy trong Face/Off

Nicolas Cage suýt đánh mất bản thân khi hóa thân thành Castor Troy trong Face/Off

Khoa NguyenNguyễn Tiến Khoa

Nicolas Cage tiết lộ vai diễn Castor Troy trong bộ phim hành động Face/Off (1997) từng khiến ông gặp áp lực tâm lý lớn và có thời điểm gần như đánh mất chính mình trong quá trình nhập vai. Chia sẻ tại New York Comic Con, nam diễn viên cho biết sự phức tạp của nhân vật khiến ông đôi lúc không còn phân biệt rõ mình đang hóa thân thành ai trong câu chuyện.

Phim Ảnh
Lời hồi đáp văn minh trước sức ép ngoại giao: Đài TBS chèn thông điệp cảnh báo đầu phim VIVANT, khẳng định tác phẩm không kích động thù hằn quốc gia

Lời hồi đáp văn minh trước sức ép ngoại giao: Đài TBS chèn thông điệp cảnh báo đầu phim VIVANT, khẳng định tác phẩm không kích động thù hằn quốc gia

hoanlagvnDũng Nhỏ TT

Cuộc khủng hoảng truyền thông xuyên biên giới xoay quanh sê-ri phim truyền hình bom tấn "VIVANT" của đài TBS vừa ghi nhận bước đi xử lý khủng hoảng đầy bản lĩnh và chuẩn mực từ phía nhà sản xuất Nhật Bản. Ngay khi tập 23 chính thức lên sóng, khán giả màn ảnh nhỏ bất ngờ nhận thấy một đoạn thông điệp cảnh báo miễn trừ trách nhiệm (disclaimer) được chèn trực tiếp ở phần mở đầu khung hình, nhằm làm rõ bản chất hư cấu của tác phẩm trước hàng loạt cáo buộc bóp méo hình ảnh quốc gia từ phía truyền thông Trung Quốc.

Giải trí
Anthropic siết Claude Code để ngăn sao chép game, nhưng dự án hợp pháp cũng bị ảnh hưởng

Anthropic siết Claude Code để ngăn sao chép game, nhưng dự án hợp pháp cũng bị ảnh hưởng

Khoa NguyenNguyễn Tiến Khoa

Anthropic đã bổ sung các giới hạn mới cho Claude Code nhằm ngăn công cụ AI này tái tạo những trò chơi điện tử đã tồn tại. Tuy nhiên, chính sách mới nhanh chóng gây tranh cãi khi một số nhà phát triển phản ánh rằng các dự án độc lập và quy trình làm việc hợp pháp của họ cũng bị từ chối xử lý.

Công Nghệ
Lên đầu trang