Một vấn đề trên iOS 9 vừa tái sinh cuộc chiến trình duyệt xưa của thập niên 90

Lê Hoàng

09:49 01/04/2016

Chính sách thực thi liên kết sâu giữa các ứng dụng iOS 9 đang khiến cho cộng đồng nhà phát triển của Apple đau đầu. Google cũng gặp vấn đề tương tự, thậm chí còn trầm trọng hơn.

Một vấn đề trên iOS 9 vừa tái sinh cuộc chiến trình duyệt xưa của thập niên 90

Ảnh minh họa.

Một người bạn gửi cho bạn tin nhắn iMessage có gắn đường dẫn tới một bài review trên Yelp về nhà hàng sushi mới cửa ở gần nhà bạn. Do bạn đã cài đặt sẵn ứng dụng Yelp, khi chạm tay vào đường link này, bài review trên sẽ được mở trong ứng dụng thay vì hiển thị trên Safari. Nhưng khi người bạn này gửi đường dẫn trên qua Facebook Messenger, khi được kích hoạt nội dung bài review trên Yelp sẽ mở trước tiếp trong Messenger dưới dạng web di động thay vì trong ứng dụng Yelp.
Vì sao lại có sự mâu thuẫn này?
Đây cũng là câu hỏi đã được rất nhiều nhà phát triển ứng dụng đặt ra từ khi iOS 9 ra mắt một chuẩn hiển thị đường dẫn tới các ứng dụng có tên "universal link" ("đường dẫn đồng nhất"). Vấn đề là trong khi Apple cho phép các nhà phát triển có thể tạo liên kết giữa các ứng dụng, không phải ứng dụng nào cũng sẽ thực hiện tính năng universal link.
Tình cảnh này khiến cho nhiều người nhớ lại thời kỳ "chiến tranh trình duyệt", khi các công ty phát triển nền tảng không chịu hợp tác và tuân theo các tiêu chuẩn chung, buộc các nhà phát triển phải mất thêm rất nhiều thời gian để giúp cho sản phẩm của họ có thể tương tác với tất cả các trình duyệt phổ biến.
Chèn đường dẫn mở trực tiếp nội dung bên trong ứng dụng thay vì mở nội dung này trên nền web không phải là một tính năng quá mới mẻL tên gọi của tính năng này là "deep link" (liên kết sâu). Nhưng các công ty làm chủ nền tảng di động mới chỉ bắt đầu nghiên cứu và thúc đẩy cách hoạt động của loại đường dẫn này. Cách thực thi deep link ưa thích của Apple là "universal link", một trong số các tính năng mới được cung cấp trên phiên bản hệ điều hành di động mới nhất của hãng, iOS 9.
Vấn đề là ở chỗ "đường dẫn đồng nhất" của Apple đang không được áp dụng đồng nhất trên toàn bộ các ứng dụng của iOS. Các ứng dụng do chính Apple phát triển như iMessage, Safari và Mail đều thực thi universal link; nhưng các ứng dụng độc lập lớn như Facebook, Twitter và Gmail lại không hỗ trợ tiêu chuẩn này. Đây cũng là lý do vì sao đường dẫn Yelp mà bạn click vào từ Facebook sẽ chỉ mở trong giao diện duyệt web di động thay vì kích hoạt ứng dụng Yelp như mong muốn.
Quyết định đáng buồn của Apple
Với bạn, việc phải xem nội dung đường dẫn vừa click trên giao diện web di động thay vì trên ứng dụng, hoặc phải mất thêm một bước để mở nội dung mong muốn bên trong ứng dụng có thể chỉ là một sự bất tiện nho nhỏ. Nhưng theo số lượng nghiên cứu của một công ty khởi nghiệp có tên Branch Metrics, khả năng bạn gỡ bỏ ứng dụng nói trên sẽ cao hơn nếu như các đường dẫn web không thể đưa bạn vào thẳng nội dung tương ứng bên trong ứng dụng này. Đây là một tin không mấy tốt lành với các startup mới nổi đang có tham vọng xây dựng một lượng người dùng trung thành.
Theo CEO Alexander Austin của Branch Metrics, đây là lý do vì sao Apple và Google cần phải đưa ra những biện pháp tốt hơn nhằm giúp các nhà phát triển có thể liên kết các ứng dụng của họ lại với nhau.
Austin khẳng định các nhà phát triển từng có khả năng thực thi deep link cho ứng dụng của họ trên iOS mà không cần phải phụ thuộc vào việc các ứng dụng khác có hỗ trợ universal link hay không. Ví dụ, Branch Metrics từng tạo ra cơ chế chuyển hướng đường dẫn lên Safari để kiểm tra xem ứng dụng mong muốn đã được cài đặt hay chưa. Nếu ứng dụng này đã được cài đặt, đường dẫn sẽ tự động mở ra nội dung bên trong ứng dụng. Nếu ứng dụng chưa được cài đặt, các nhà phát triển có thể yêu cầu người dùng cài ứng dụng đó hoặc cho phép họ tiếp tục sử dụng giao diện trình duyệt di động.
Đó không phải là một giải pháp hoàn hảo, nhưng ít nhất giải pháp đó đã luôn mang lại kết quả mong muốn cho người dùng. Thế nhưng, bắt đầu từ bản cập nhật iOS 9.2 ra mắt vào tháng 12 vừa qua, các nhà phát triển đã bị tước mất khả năng sử dụng Safari làm trạm trung chuyển đường dẫn. Đến phiên bản iOS 9.3 mới nhất vừa phát hành, tất cả mọi hy vọng rằng Apple sẽ thay đổi quyết định đều đã tiêu tan. Nếu bạn vẫn muốn cung cấp deep link trên iOS 9.2 và iOS 9.3, bạn buộc phải sử dụng tiêu chuẩn universal link của Apple.
Google còn tệ hơn nữa
Tình trạng trên Android còn tồi tệ hơn nữa. Google thay đổi cách thực thi deep link trên từng bản cập nhật lớn của Android. Do nhiều người dùng vẫn còn bị kẹt lại trên các bản Android cũ, các nhà phát triển ứng dụng buộc phải hỗ trợ nhiều cách thực thi deep link khác nhau. Điều này khiến cho công việc của họ trở nên vất vả hơn rất nhiều.
"Tình cảnh gần giống như là vào cuối thập niên 1990, khi tất cả các trình duyệt web đều khác nhau và bạn buộc phải tìm cách thiết kế cho trang web của mình tương thích với tất cả các trình duyệt đó", Austin khẳng định.
Điều các nhà phát triển ứng dụng cần bây giờ là một phương thức thực thi deep link thống nhất. Một bên độc lập thứ ba, ví dụ như tổ chức W3C (tổ chức đứng sau các tiêu chuẩn của Internet) có thể đứng ra định nghĩa tiêu chuẩn deep link mới. W3C đã giúp cho cuộc sống của các nhà phát triển web trở nên dễ dàng hơn, và giờ đây họ cần làm điều tương tự cho các ứng dụng di động.
Nhưng có lẽ một kịch bản tương tự sẽ khó có thể xảy ra trên những chiếc smartphone. Mike Fyall, phó chủ tịch phát triển sản phẩm tại công ty quảng cáo URX, công ty chuyên chèn deep link vào quảng cáo cho biết: "Chắc chắn sẽ là rất tuyệt vời nếu như có một tiêu chuẩn để các nhà phát triển không phải thực thi deep link theo 2 cách. Nhưng điều đó sẽ không sớm xảy ra. Apple và Google không bỗng dưng gặp nhau và nói 'Này, hãy giúp cho việc phát triển ứng dụng cho cả Android và iOS trở nên dễ dàng".
Mâu thuẫn quyền lợi giữa các ứng dụng, dịch vụ có thể là lý do vì sao universal link không được hưởng ứng. Ví dụ, Facebook cũng có tính năng đánh giá nhà hàng giống Yelp.
Mâu thuẫn quyền lợi giữa các ứng dụng, dịch vụ có thể là lý do vì sao universal link không được hưởng ứng. Ví dụ, Facebook cũng có tính năng đánh giá nhà hàng giống Yelp.
Do đó, giải pháp tốt nhất cho iOS lúc này vẫn là tìm cách thuyết phục càng nhiều nhà phát triển hỗ trợ universal link (hướng từ trong ứng dụng của họ ra ứng dụng khác) càng tốt. Cùng lúc, nếu bạn muốn phát triển các ứng dụng có chất lượng trải nghiệm tương đương với nền web, tốt nhất là bạn nên chuyển hẳn sang phát triển phiên bản web di động cho nội dung của mình.

Theo Tri Thức Trẻ

Từ khóa: Apple, iPhone