Những thách thức đối với hệ điều hành Android

Một phần của tài liệu Tìm hiểu hệ điều hành Android và xây dựng ứng dụng Android Explorer (Trang 32 - 34)

5.1. Sự phân mảnh

Sự phân mảnh của Android là gì? Đó là sự phân chia thành nhiều loại khác nhau khi nói đến phiên bản Android, kích thước màn hình của những thiết bị Android, độ phân giải, giao diện, tên nhà sản xuất, model máy,... Hiện tượng phân mảnh sẽ làm suy yếu khả năng tương tác trên cùng một nền tảng (ở đây là Android). Khi ứng dụng tương thích với phiên bản hệ điều hành này và thiết bị này lại không chạy được trên phiên bản khác và thiết bị khác sẽ gây khó khăn cho người dùng, nhà sản xuất và cả lập trình viên. Vì vậy, các nhà cung cấp sẽ gặp trở ngại lớn khi cần tạo ra những ứng dụng thích hợp với nhiều dòng máy khác nhau.

5.1.1. Phần cứng ly tán

Phân hóa trong phần mềm đã tồi tệ, phân hóa trong phần cứng còn khó chịu hơn. Vì Android là HĐH mở nên ai cũng có thể sản xuất 1 smartphone chạy

Trần Đức Trình và Trần Hoàng Quân – Lớp 09T4 – Nhóm 10

Android. Có nghĩa là bạn sẽ có rất nhiều lựa chọn về phần cứng, chip 600Mhz hay 1Ghz, thậm chí là lõi kép, RAM 512Mb hay 1Gb, bàn phím cứng hay không đều không thành vấn đề.

Có lẽ nguyên nhân của vấn đề bắt nguồn từ bản chất của OHA. Liên minh Android được thành lập bởi hàng loạt các công ty sản xuất chip điện tử cũng như phần cứng, một vài cái tên đáng chú ý có thể kể đến như HTC, Motorola, Samsung, Intel, Qualcomm, Nvidia.... Tất cả các thành viên đó chắc chắn đều muốn rằng Android có thể chạy ổn định trên phần cứng của mình, dẫn đến tính "dễ dãi" của Android là không thể tránh khỏi. Nhìn chung, đó là một điểm mạnh của Android, nhưng cũng vì thế mà phần cứng của Android rải rác khắp thượng vàng hạ cám. Riêng GPU đã có 4,5 kiến trúc xử lý. Andreno của Qualcomm, PowerVR của Samsung, GeForce ULV của Nvidia...

Điều này lại dẫn tới 1 hệ quả khác, đó là 1 phần mềm (game chẳng hạn) có thể chạy rất tốt trên 1 thiết bị, nhưng sang 1 thiết bị khác, có sức mạnh phần cứng tương đương (thậm chí là mạnh hơn), thì lại không thể hoạt động được. Lý do là vì kiến trúc xử lý không hỗ trợ. Vì thế khi viết 1 game cho Android, nhà phát hành game sẽ phải viết game cho 4,5 hệ thống xử lý khác nhau, dẫn tới chi phí và thời gian phát triển tăng vọt.

Sự tăng tiến của Android dẫn đến một hiệu ứng dây chuyền: Android phát triển càng nhanh, các sản phẩm được tung ra càng nhiều thì sự phân hóa càng sâu sắc và rõ rệt, kết quả là các nhà sản xuất sẽ càng cảm thấy "thối chí" khi việc phát triển phần mềm cho Android quá phức tạp. Và bên chịu thiệt nhất tất nhiên vẫn là người sử dụng.

5.1.2. Phân mảnh phiên bản

Do Google tung ra các phiên bản Android quá nhanh trong thời gian ngắn nên dẫn đến nhiều vấn đề. Nếu một chiếc điện thoại Android muốn nâng cấp lên phiên bản mới hơn thì nhà sản xuất điện thoại đó phải hiệu chỉnh lại nhiều thứ. Và việc cập nhập một sản phẩm cũ đắt hơn so với việc phát triển một sản phẩm mới. Vì thế người ta chẳng buồn cập nhật, mà chỉ đơn giản là làm luôn ra 1 sản phẩm khác và đem tiếp thị, mặc người sử dụng mắc kẹt với những phiên bản phần mềm cũ kỹ.

Điều này cộng với khi phát triển phần mềm, người lập trình luôn hướng tới số đông . Vì thế ngay cả khi Android đã lên 2.3, thì phần lớn số lượng ứng dụng mới đưa lên Android Market vẫn được viết để tương thích với phiên bản 2.2. Chính điều này khiến cho người sử dụng điện thoại chịu nhiều thiệt thòi, mua thiết bị mới nhất, nhưng đại đa số các phần mềm lại hoạt động không ổn định, thiếu cập nhật, vì chúng còn phải phục vụ những thiết bị mang phiên bản cũ hơn, chiếm số đông.

Trần Đức Trình và Trần Hoàng Quân – Lớp 09T4 – Nhóm 10

Việc trên cùng 1 nền tảng tồn tại quá nhiều phiên bản cùng hoạt động sẽ gây lãng phí rất nhiều đến công sức của các nhà phát triển phần mềm. Thay vì bỏ công sức tập trung viết cho nền tảng mới nhất, thì họ lại phải loanh quanh đi tìm cách sửa lỗi để phần mềm của mình hoạt động ổn định trên tất cả các phiên bản. Và hãy nhìn bức tranh tổng thể để thấy được tính nghiêm trọng của sự việc: Nếu đến tận khi Android ra phiên bản 2.5 2.6 mà bạn vẫn bị "kẹt" ở phiên bản 2.2, đồng nghĩa với việc bạn phải chấp nhận một chiếc smartphone chậm chạp, thiếu tính năng.

Google cũng rất dễ dãi trong việc quản lý mã nguồn của mình. Sự dễ dãi này khiến việc sản xuất 1 smartphone chạy Android trở nên dễ dàng và cực rẻ nhưng đồng thời nó cũng làm cho sự phát triển của Android càng lúc càng...lung tung. Ở một thị trường không trọng điểm như Việt Nam, điều này thể hiện không rõ rệt lắm, nhưng thử nhìn như ở Mỹ, ngoài Android Market còn có đến 3,4 "chợ ứng dụng" khác song song hoạt động. Mới đây nhất Amazon cũng cho ra đời "chợ ứng dụng" của mình. Sự phân mảng trong cơ cấu phân phối ứng dụng khiến cho người sử dụng gặp nhiều khó khăn. Thay vì tìm mua tất cả những ứng dụng bạn cần ở 1 nơi như cách mà người sử dụng iOS có thể làm. Người sử dụng Android có thể sẽ mất rất nhiều công tìm kiếm ứng dụng mà mình cần.

5.2. Sự cạnh tranh từ các hệ điều hành khác

Bên cạnh iOS từ Apple cho các thiết bị di động , giờ đây Android cũng đang phải đối mặt sự cạnh tranh đến từ WindowPhone của Microsoft. Sự phân mảnh của Android cũng là một trong những lý do khiến các nhà sản xuất thiết bị di động dần chuyển hướng sang các hệ điều hành khác. Thách thức này yêu cầu Android phải có sự chuẩn hóa trong sự phát triển tiếp theo, không chỉ chuẩn hóa phần cứng mà phải chuẩn hóa cả phiên bản phát triển sau này để cho nhà sản xuất và người dùng hệ điều hành này có thể tiếp tục sử dụng hiệu quả các thiết bị trên nền tảng Android.

Một phần của tài liệu Tìm hiểu hệ điều hành Android và xây dựng ứng dụng Android Explorer (Trang 32 - 34)