2010-05-19 33 views
22

Khung tốt nhất (loại jquery, extjs, v.v.) để sử dụng nếu tôi muốn sử dụng mạnh mẽ tất cả các công nghệ mới nhất của ngăn xếp HTML5 được cung cấp bởi các trình duyệt hiện đại (Firefox 7, Safari 5, Chrome 14) và có hoàn toàn không cần hỗ trợ bất kỳ trình duyệt cũ nào (bao gồm cả không cần hỗ trợ IE chút nào và không cần Firefox hoặc Chrome trước bản phát hành ổn định mới nhất)? Tôi muốn có được tất cả sự tốt lành sẵn có mới nhất mà không cần (thậm chí trừu tượng bởi một lớp thư viện) một dòng mã có nghĩa là chỉ cần tương thích trước đây di sản hoặc giữ bất kỳ điều gì gây ra di sản trong tâm trí.Bạn có biết HTML5 tận dụng tối đa, thừa kế JavaScript không?

Để làm mềm bộ lọc, lấy hy vọng rất khiêm tốn về một khung làm việc lý tưởng để tồn tại, ít nhất (mức hỗ trợ kế thừa tối đa) tôi muốn đồng ý không hỗ trợ các phiên bản IE cũ hơn IE8 hoặc tốt hơn không hỗ trợ IE.

+17

Tôi không tin thư viện như vậy tồn tại. Đối với hầu hết chúng ta những người slobs tội nghiệp không sống trong các tháp ngà, việc xử lý các trình duyệt cũ vẫn là thứ tự trong ngày. –

+1

Tôi tin rằng jQuery nhằm mục đích bao gồm ít mã trình duyệt cụ thể nhất có thể. Đúng là họ có nhiều cách giải quyết IE, nhưng họ cố gắng giữ chúng ở mức tối thiểu –

+1

@Robert Harvey: Bạn có vẻ hơi cay đắng về việc phải hỗ trợ IE6. ;) –

Trả lời

1

Còn Cappuccino thì sao? Tôi không thực sự biết bao nhiêu HTML5/CSS3 nó hỗ trợ, nhưng nó đòi hỏi IE7 ở mức tối thiểu. Nó tập trung vào phát triển ứng dụng web, không phải xây dựng trang web, vì vậy nó có thể không phải là những gì bạn đang tìm kiếm trong lĩnh vực đó.

4

Tôi thực sự gặp khó khăn trong việc hòa giải ý tưởng này sau một ý nghĩ nghiêm túc. Giả sử một khung như vậy tồn tại, nó sẽ chỉ tốt như trạng thái thực hiện hiện tại trong bất kỳ trình duyệt nào. Giả sử chỉ có hai trình duyệt và trạng thái triển khai HTML5 trông giống như sau:

Browser | Feature X | Feature Y 
------------------------------- 
A  | ✔   | ✘ 
B  | ✘   | ✔ 

Sau đó, ứng dụng HTML5 tiên tiến nhất của bạn có thể có X hoặc Y, chứ không phải cả hai. Nếu các tính năng mà nhu cầu ứng dụng của bạn có sẵn trên các phiên bản mới nhất của hầu hết các trình duyệt chính, thì tính năng đó không phải là xuất hiện. Nó sẽ bị chảy máu một năm trước.

Vì vậy, tùy thuộc vào phạm vi dự án và mục tiêu, ứng dụng B-E nhất có thể được viết sẽ phù hợp với một trình duyệt duy nhất (trình duyệt cung cấp tất cả/hầu hết các tính năng cần thiết cho ứng dụng của bạn).

Nếu bạn đang viết cho một trình duyệt đơn lẻ và không muốn sửa bất kỳ độ lệch triển khai nào từ thông số (vì thông số chưa được hoàn thành), thì về cơ bản là viết mã cho trình duyệt đã chọn bất kể bất kỳ thông số kỹ thuật nào.

Nếu trường hợp đó xảy ra, thì khung cơ bản là hành lý bổ sung để mang theo. Thay vào đó, các phím tắt cho hầu hết các API thường được sử dụng và các đơn giản hóa chung khác sẽ là cách tốt nhất để thực hiện.

Điều đó nói rằng, nếu bạn là mục tiêu là có một khung làm đơn giản hóa các API HTML5 không biết nơi các trình duyệt đứng ngày hôm nay, thì tôi rất muốn đóng góp cho dự án đó.

+0

Nếu chúng ta quay trở lại từ A & B sang thế giới thực, chúng ta có thể thấy nhiều hơn nữa "trình duyệt chính": IE6, IE7, IE8, IE9 sớm, Chrome dựa trên Webkit và Safari, Mozilla Firefox (chỉ có các mốc quan trọng) 2, 3, 3,6, 3,7. Một bộ tôi gọi là "trình duyệt hiện đại" bao gồm Firefox 3.6+, Chrome 4+, Safari 4+ và Opera 10 rất gần đã có các tính năng phổ biến (hoặc được thực hiện hơi khác) mà thậm chí IE9 vẫn còn cách xa, không để nói về IE 7 và 6 và Firefox 2, chẳng hạn. – Ivan

+2

Và theo như tôi thấy, hôm nay nó rất khó khăn để thuyết phục một người dùng xem xét sử dụng "trình duyệt hiện đại" của sự lựa chọn của mình nếu anh ta đặc biệt quan tâm đến các tính năng ứng dụng của chúng tôi.Vì vậy, hỗ trợ các trình duyệt cũ, tôi có thể thực sự cần thiết trên các trang web hướng lưu lượng truy cập định hướng công cộng và các doanh nghiệp rất lớn, trong khi các cộng đồng phi lợi nhuận (đặc biệt là những người đam mê công nghệ) và mạng nội bộ doanh nghiệp có thể tận hưởng tất cả sự tốt lành các trình duyệt hiện đại. – Ivan

+0

Tôi hoàn toàn đồng ý và luôn bắt đầu với suy nghĩ đó mà không sợ mất người dùng, đặc biệt là cho các trang web thích hợp nơi khán giả mở cửa ý tưởng cài đặt thứ gì đó trên máy tính của họ và biết cách thực hiện điều đó. Nhưng ngay cả trong các trang web thích hợp, nếu người dùng quen với việc xem trang web của bạn trên IE7, và sau đó bạn thả bom vào nó, họ sẽ tức giận vì đó chỉ là bản chất của mọi thứ - không ai thích thay đổi. Thay vào đó, nếu người dùng được thông báo liên tục rằng hỗ trợ cho một trình duyệt cụ thể sẽ bị xóa nếu trình duyệt bắt đầu bị lỗi. – Anurag

2

Sproutcore là một cách khác phù hợp với mô tả mở đầu của bạn "Làm thế nào để chúng tôi xây dựng các ứng dụng web trên máy tính để bàn nhanh, nhanh chóng?". Apple quan tâm đến nó và tôi đã nghe báo cáo tốt.

Một cách tiếp cận khác sẽ là Tách mã Dash. Nó sử dụng html (5) css (3) và JavaScript để xây dựng cả Mac Widgets nhưng cũng dựa trên trang web. Về cơ bản vì nó có ít hoặc không có di sản, nó sẽ chỉ chạy hiệu quả trong Safari và Google Chrome, ít hiệu quả hơn trong Firefox và hoàn toàn không có trong IE.

Để sử dụng Cappuccino (đề cập trong một câu trả lời và một ý tưởng tốt để nhìn vào) và Sproutcore bạn, bạn sẽ có năng suất cao hơn trên máy Mac và Dashcode chắc chắn cần một máy Mac vì bạn sẽ cần phải cài đặt Xcode để có được Dashcode

0

Không chính xác một câu trả lời, nhưng tôi nghĩ rằng điều này sẽ có lợi cho cuộc thảo luận:

Phương pháp tiếp cận của Java (JavaScript biên dịch với deferred binding) phù hợp với quan điểm của bạn về việc nhận được số lượng mã JS tối thiểu, mà không có gánh nặng làm cho tất cả các trình duyệt trừu tượng trong mã phía khách hàng, và mang theo tất cả trọng lượng của mã đó cộng với trọng lượng của di sản bro mã hỗ trợ wser.

Tôi không chắc liệu mức độ chi tiết hiện tại mà theo đó nó tạo ra phiên bản tối ưu hóa cho mỗi trình duyệt là phiên bản bạn đang nói đến, nhưng công nghệ cho phép.

Ngoài ra, không chắc chắn về tính năng hỗ trợ tính năng xuất hiện bên ngoài hộp HTML 5, nhưng lại có thể viết thư viện đó (nếu chúng chưa có) và chúng sẽ được hưởng lợi từ cùng một ràng buộc hoãn lại cơ chế, và bạn có thể biên dịch chỉ cho các hoán vị trình duyệt mà bạn muốn hỗ trợ.