2009-02-20 16 views
6

Xin lỗi vì phần giới thiệu dài - chỉ cần cố gắng đặt cảnh phù hợp để tránh sự mơ hồ và nhầm lẫn.Sự xuống cấp duyên dáng bên ngoài miền của ứng dụng web: vấn đề quan trọng như thế nào?

Các ứng dụng web đã phát triển từ các giao diện dựa trên trình duyệt câm để logic phía máy chủ thành các ứng dụng dựa trên trình duyệt với nhu cầu tối thiểu cho logic phía máy chủ. Có thể mô tả sự tiến hóa này thông qua việc xác định các thế hệ ứng dụng web rõ ràng.

Hãy xem xét, hiện tại, chỉ hai thế hệ: trước và sau ajax. Chắc chắn có những yếu tố khác, chẳng hạn như những yếu tố liên quan đến hỗ trợ CSS và các tiêu đề Kiểm soát Truy cập, nhưng chúng ta hãy bắt đầu đơn giản.

Bắt đầu từ một hệ thống đơn giản không có JavaScript đơn giản, bổ sung các lớp cải tiến làm giảm chất lượng và hoàn thiện với ứng dụng hiện đại, được đáp ứng nhanh và đầy thách thức. Nó không phải là dễ dàng.

Cho bất kỳ ứng dụng web nào có thể xuất hiện thuộc về tùy thuộc vào phương tiện mà ứng dụng được truy cập. Ứng dụng web tương tự sẽ xuất hiện là ứng dụng thế hệ đầu tiên nếu được truy cập thông qua Lynx và ứng dụng thế hệ mới nhất nếu được truy cập qua FireFox 3.1, với một vài cấp ở giữa tùy thuộc vào tác nhân người dùng được sử dụng để truy cập ứng dụng.

Vấn đề tạo ứng dụng web giảm xuống tùy thuộc vào khả năng của tác nhân người dùng, nơi một thứ gì đó được tạo để tận dụng các tính năng trình duyệt hiện tại sẽ hoàn nguyên về chức năng của một số thứ được tạo ra có lẽ cách đây 15 năm với Lynx, rất khó.

Tôi không thể tưởng tượng ứng dụng dành cho máy tính để bàn phải đối mặt với sự khác biệt như vậy trong môi trường hoạt động.

Một thực thi duy nhất (trái ngược với một tập hợp các biến thể hệ điều hành cụ thể) có khả năng tận dụng các tính năng trong Vista cũng có thể đối phó đầy đủ khi chạy dưới XP và khi thiếu một số tính năng của Vista. Để làm suy giảm khoảng cách so sánh như một ứng dụng web, ứng dụng máy tính để bàn tương tự sẽ vẫn hoạt động, mặc dù trong một thời trang ít lạ mắt hơn, khi chạy trong một môi trường chỉ có dòng lệnh như DOS.

Chạy ứng dụng dưới Lynx, đây là ứng dụng web thế hệ đầu tiên. Chạy tương tự dưới FireFox 3.1, đây là một ứng dụng web hiện đại, sáng bóng. Nếu phải đối mặt với một vấn đề như vậy, bạn sẽ xem xét nó khó khăn, phức tạp nhưng khả thi.

Chạy ứng dụng dưới DOS, đây là ứng dụng dòng lệnh. Chạy nó tương tự dưới Vista, nó là một ứng dụng web đương đại sáng bóng, lạ mắt. Nếu phải đối mặt với một vấn đề như vậy, bạn sẽ xem xét nó điên rồ. Hay bạn?

Ứng dụng dành cho máy tính để bàn có phải đối mặt với sự khác biệt về môi trường hoạt động như các ứng dụng web có thể không?

Vấn đề này (bề rộng phương sai, không phải chính phương sai) duy nhất đối với miền của ứng dụng web, hoặc nó có thể được tìm thấy trong phát triển máy tính để bàn không?

Trả lời

1

Ứng dụng dành cho máy tính để bàn không gặp phải vấn đề tương tự với các ứng dụng web. Chúng thường được thực hiện để chạy trên một nền tảng được xác định rõ.

Điều này có thể thay đổi trong tương lai. Máy tính đang chuyển từ máy tính để bàn sang điện thoại di động và máy tính xách tay nhỏ hơn. Các ứng dụng trên máy tính để bàn sẽ phải chạy trên nhiều nền tảng khác nhau trong tương lai. Điều này có thể gây ra vấn đề bởi vì hầu hết các khung công tác chúng tôi sử dụng để phát triển các ứng dụng máy tính để bàn xử lý điều này thậm chí tệ hơn khung công tác cho các ứng dụng web.

+0

oh, tôi không biết .. QT thực sự khá tốt cho phát triển nền tảng chéo. Vấn đề lớn nhất của bạn sau đó sẽ là khả năng của thiết bị - ví dụ như kích thước màn hình trên điện thoại so với máy tính để bàn. – gbjbaanb

+0

Tôi đồng ý, phát triển nền tảng chéo đã có thể thực hiện được với nhiều ngôn ngữ và khung công tác. Nhưng sự suy thoái một cách duyên dáng là giảm quy mô cho độ phân giải màn hình thấp hơn, băng thông, CPU, bộ nhớ, vv khi cần thiết. Qt hoặc các khung công tác khác không thực sự xử lý tốt điều này. – Mendelt

0

Trong lĩnh vực ứng dụng và hệ điều hành (OS), sự cố thường bị đảo ngược. Nó là hệ điều hành xử lý tất cả sự phức tạp của việc duy trì tính tương thích. Mặt khác, ứng dụng thường ra lệnh cho một phiên bản hệ điều hành tối thiểu.

Một nơi khác mà các ứng dụng bắt đầu thấy vấn đề này là thế giới Java và ở mức độ thấp hơn, tất cả các ngôn ngữ kịch bản khác hoạt động trên nhiều hệ điều hành.

1

Tôi không thể tưởng tượng ứng dụng dành cho máy tính để bàn phải đối mặt với sự khác biệt như vậy trong môi trường hoạt động.

Ứng dụng dành cho máy tính để bàn phải đối phó với phương sai, chỉ là một loại khác. Thẻ đồ họa trong trò chơi là một ví dụ tốt về điều đó: bạn muốn hỗ trợ phong nha cho khách hàng cơ bản, nhưng khách hàng cao cấp của bạn với thẻ đồ họa mới sáng bóng sẽ muốn chạy cho tiền của họ. Khi bạn nhập vào lĩnh vực xử lý trên GPU và quản lý bộ nhớ trên thẻ, bạn sẽ có đủ lý do để nguyền rủa phương sai trong môi trường hoạt động.

Bạn cũng thường xử lý nhiều phần mềm xử lý và bộ nhớ chuyên sâu hơn ứng dụng web, vì vậy bạn cũng sẽ phải tính đến điều đó. Và tôi thậm chí không nói về khả năng hoạt động giữa các hệ điều hành (mà nhiều phần mềm máy tính để bàn xử lý rất duyên dáng).

Tất nhiên, không có gì giữ nhà xuất bản phần mềm máy tính để áp dụng các tiêu chí nghiêm ngặt về môi trường. Đó chỉ là vấn đề kinh doanh. Nhưng không có gì buộc bạn phải hỗ trợ các trình duyệt không chính thống hoặc (và hầu hết các ứng dụng web thực sự hỗ trợ Lynx?!?).

+0

"Và hầu hết các ứng dụng web thực sự hỗ trợ Lynx?" - Lynx đã được đề cập để chứng minh độ rộng khả thi của phương sai trong môi trường hoạt động tức là trong khi hiếm, nó không phải là không khả thi mà hỗ trợ cho phương sai như vậy sẽ là một yêu cầu. –

+0

Nếu bạn muốn so sánh táo với táo, bạn nên xem xét những gì được coi là "chủ đạo" trong cả hai thế giới. Đối với tôi, tương đương với việc hỗ trợ Lynx giống như hỗ trợ Vista và một phiên bản 10 tuổi của RedHat (có thể là một yêu cầu hợp lý trong nhiều trường hợp) – Kena

+0

Vista/RedHat không hoàn toàn giống nhau. Bạn sẽ không thực thi chính xác cùng một công việc trên cả hai, bạn sẽ có các biến thể hệ điều hành rất giống nhau cho mỗi loại. So sánh Vista/RedHat giống với phiên bản Lynx dành riêng cho ứng dụng web của bạn và phiên bản FireFox/IE/Safari/Chrome/Opera riêng biệt. –