2009-10-06 41 views
6

Tôi có nên quan tâm đến HTML 5 cho ứng dụng web của mình ... và tại sao?Tôi có nên quan tâm đến HTML 5 không?

Hay nói cách khác, một số tính năng mới của HTML5 mà tôi cần lưu ý là gì?

+1

Xem http://stackoverflow.com/questions/1418875/when-will-you-start-using-html-5 và các câu hỏi liên quan. – Gumbo

+0

Có, nhưng chưa. –

Trả lời

2

tốt, điều đó tùy thuộc. Nếu bạn chỉ đang làm một trang ở đây tôi, bạn có thể sử dụng HTML 4. Nếu bạn đang cố gắng để làm cho cạnh cắt youtube, có rất nhiều tính năng hữu ích trong đó. Câu hỏi này thực sự cần thêm nền tảng để trả lời.

+0

Một số tính năng mới của HTML 5 mà tôi cần lưu ý là gì? –

+0

thẻ video, thẻ âm thanh, hỗ trợ canvas, các thành phần mới cho cấu trúc trang web.Ngoài ra, hãy xem những gì CSS3 mang lại. Góc tròn, bóng, bộ chọn tốt hơn, v.v. –

3

Có. HTML 5 sẽ là tiêu chuẩn mới và cung cấp nhiều chức năng được tích hợp trong trình duyệt mà chúng tôi hiện đang dựa vào các ứng dụng của bên thứ ba để cung cấp (hỗ trợ video/âm thanh và hỗ trợ canvas để vẽ một vài tên).

0

Nếu bạn dự định sử dụng thứ gì đó như canvas và svg/bất kỳ điều gì không phù hợp thì tôi nghĩ đó thực sự là trường hợp duy nhất để sử dụng HTML 5 trong ngày và tuổi này (đối với các trang không phải cá nhân). Nếu không, hãy tuân theo chuẩn HTML 4 Strict/XHTML 1.0 vì các thông số này thực sự hoàn chỉnh.

1

HTML5 là bản sửa đổi chính tiếp theo của HTML (Ngôn ngữ đánh dấu siêu văn bản), ngôn ngữ đánh dấu lõi của World Wide Web. Nhóm công tác ứng dụng công nghệ siêu văn bản Web (WHATWG) bắt đầu làm việc theo đặc tả kỹ thuật vào tháng 6 năm 2004 dưới tên Ứng dụng Web.

HTML5 là tiêu chuẩn tiếp theo được đề xuất cho HTML 4.01, XHTML 1.0 và DOM Cấp 2 HTML. HTML5 dự kiến ​​sẽ là một sự thay đổi trong việc phát triển ứng dụng Web, làm cho các công nghệ ứng dụng Internet phong phú (RIA) dựa trên plug-in như Adobe Flash, Microsoft Silverlight và Sun JavaFX.

đọc:

Why HTML5 is a Game Changer and what it means for you.

HTML5 Is Coming: Ignore It at Your Own Peril

5

HTML5 là một mặt đất phát triển cho các tính năng trình duyệt mới. Bây giờ nó không phải là một tiêu chuẩn có thể sử dụng được và sẽ không phải là một thời gian rất dài. Bạn không nhận được gì cho ‘authoring to HTML5’; đặc điểm kỹ thuật chưa hoàn thành và sẽ thay đổi.

Một số tính năng xuất phát từ nỗ lực HTML5 có thể sử dụng được một phần hôm nay: canvas, audio/video, postMessage, DOM Storage, v.v. Nhiều tính năng trong số này được chia ra thành các đặc điểm kỹ thuật của riêng chúng - thật may là vì đặc tả HTML5 của công việc đang tiến triển quá lớn và lộn xộn để đối phó.

Ngoài ra, một số tính năng được đề cập trong thông số HTML5 không phải là phát minh mới, mà là các tiện ích mở rộng của trình duyệt cũ đã được hỗ trợ một số. ví dụ. con heo xấu xí nhưng phổ biến rộng rãi contentEditable. Thậm chí còn có "bạn bè" lớn tuổi hơn như <embed> được ghi nhận lần đầu tiên (nhiều điều đáng tiếc hơn).

When can I use... là tổng quan tốt về nơi chúng tôi đứng với một số tính năng HTML5 và CSS3. Ngoài ra còn có HTML5 comparison (PDF) của LIIP.

+0

Trình duyệt đã bắt đầu triển khai tiêu chuẩn được thực hiện, vì vậy bạn có thể bắt đầu sử dụng nó ngay bây giờ, nhưng các trình duyệt này chưa phổ biến, nhưng điều đó không có nghĩa là bạn không thể xác định những gì được hỗ trợ và khi nào có sẵn các tính năng mới hơn. –

+1

Tôi đồng ý với bobince; HTML5 chưa được hỗ trợ đầy đủ bởi các trình duyệt chính và nó chưa hoàn chỉnh và sẽ không hoàn thành trong vài năm. Một số chức năng đang được thêm vào, nhưng không đảm bảo rằng chúng sẽ nhất quán giữa tất cả các trình duyệt kể từ khi tiêu chuẩn chưa được thỏa thuận. Tôi nghĩ rằng nó sẽ là khôn ngoan khi nghĩ về nó như một công cụ khác mà bạn có thể sử dụng để phát triển các ứng dụng của mình, nhưng cũng giống như tất cả các công cụ khác mà bạn cần để đảm bảo nó giảm xuống một cách duyên dáng cho các trình duyệt không hỗ trợ nó. –

0

Nếu bạn muốn phát triển cho trình duyệt hiện đại, hoặc nếu bạn đang nhắm mục tiêu một thiết bị cụ thể, ví dụ như viết một ứng dụng HTML cho iPhone bằng cách sử dụng jQTouch thì vâng, đó là chính. Nó làm cho nó đơn giản để lưu trữ dữ liệu trên máy khách.

Bạn có thể sử dụng các thư viện như modernizr để dễ dàng phát hiện hỗ trợ cho các khả năng HTML5 và làm suy giảm một cách duyên dáng.Ngoài ra, không có gì ngăn bạn sử dụng tài liệu HTML5:

<!DOCTYPE html> 

vì nó đặt tất cả các trình duyệt có liên quan (IE6 đi kèm) vào chế độ tuân thủ tiêu chuẩn.

Ngoài ra, với sự xuất hiện của những thứ gây tranh cãi như Chrome Frame plugin cho IE 6,7,8, bạn có thể bắt đầu sử dụng các tính năng HTML5 sớm hơn là sau này.

2

Lý do chính để sử dụng HTML5 là hỗ trợ tích hợp âm thanh và video trực tiếp vào trình duyệt mà không cần bất kỳ phần mềm hoặc hướng dẫn lập trình bổ sung nào. Có một số vấn đề với lý do này.

1) HTML không tồn tại cho khả năng sử dụng hoặc đa phương tiện. Đây không phải là mục tiêu của nó và không phải là mục đích của ngôn ngữ. Mục đích của HTML là để mô tả và cấu trúc nội dung như dữ liệu dành cho tiêu dùng của con người bất kể nó được viết bởi một con người hay không.

2) 95 +% của tất cả các lỗ hổng bảo mật được báo cáo có liên quan đến kịch bản phía máy khách. Điều này bao gồm các công nghệ như: Flash, Acrobat, ActiveX, Silverlight, JavaScript, v.v. Việc tích hợp các tính năng của những công nghệ đó trực tiếp vào HTML có nghĩa là tích hợp những thất bại công nghệ liên quan đến bảo mật trực tiếp vào HTML. Các công nghệ kịch bản phía máy khách yêu cầu một plugin để thực thi cho phép nhà cung cấp các plugin đó phát triển nhanh chóng và phát hành các bản vá bảo mật khi khai thác bảo mật được phát hiện. HTML được cập nhật thường xuyên như thế nào?

3) HTML5 bỏ qua tất cả các sự cố liên quan đến các hình thức HTML hiện tại: bảo mật, khả năng truy cập và tuân thủ cú pháp. Những thay đổi tinh tế đối với HTML có thể làm điều kỳ diệu để cải thiện bảo mật trên web, chẳng hạn như áp đặt giới hạn khi sử dụng iframes là vector tấn công phát triển nhanh nhất cho khai thác JavaScript và ActiveX liên quan. Khả năng truy cập luôn là vấn đề với web và các yêu cầu khắt khe hơn với các thẻ tiêu đề (h1 - h6) có thể làm giảm đáng kể sự nhầm lẫn điều hướng nội dung đến người dùng trình đọc văn bản. HTML là ngôn ngữ lỏng lẻo và cú pháp phân biệt cú pháp nhất có thể được tạo ra, điều này vô cùng làm suy yếu hoặc loại bỏ quyền truy cập của nhiều công nghệ hỗ trợ.

Lý do hỗ trợ HTML5, như đã nêu ở điểm 1 ở trên là nhúng đa phương tiện. Lý do tại sao điều này là quan trọng là vô lý và không làm cho bất kỳ ý nghĩa. Hãy xem xét những yêu cầu chung cho hỗ trợ:

1) Đây là tương lai, vì vậy bạn phải hỗ trợ nó. Đây là một sai lầm của logic trên khuôn mặt của nó. Đó là sự lựa chọn của bạn để hỗ trợ nó bất kể nếu nó được tuyên bố là phiên bản tiếp theo của ngôn ngữ. Các trình duyệt sẽ không từ bỏ hỗ trợ cho HTML 4 hoặc XHTML1 trong ít nhất một thập kỷ.

2) Nếu bạn không hỗ trợ, bạn sẽ bị bỏ lại phía sau. Điều này xuất phát từ bài viết 'HTML5 đang đến: Bỏ qua nó tại mối nguy riêng của bạn' được liên kết trong một nhận xét về chủ đề này. Bài viết sử dụng một số phép ẩn dụ của các điều khiển từ xa của TV và sự tiến triển đến TV màu không có ý nghĩa gì đối với chủ thể hiện tại. Nếu bạn không hỗ trợ HTML5, bạn có thể tiếp tục hỗ trợ Flash, Silverlight và các công nghệ plugin phương tiện khác. Các nhà cung cấp sẽ tiếp tục hỗ trợ các sản phẩm đó ngay cả sau khi HTML5 được phát hành và họ sẽ tiếp tục thực hiện các công việc của họ và đổi mới giống như họ có trong quá khứ.

3) HTML5 sẽ cung cấp hỗ trợ cho âm thanh/video mà bạn hiện phải dựa vào plugin. Không có lý do gì các tính năng này phải tồn tại trong HTML. Flash là một plugin bổ sung hoàn toàn và không có lý do nào dựa trên flash phương tiện truyền thông là không có sẵn để tiêu thụ khán giả đến bất kỳ mức độ đo lường mà chỉ có thể được giải quyết bằng cách buộc những vấn đề vào HTML.

4) Thời gian cần thiết để học và viết mã như ActionScript là tốn kém và bằng cách buộc những lợi ích đó vào HTML5 sẽ tiết kiệm chi phí để phát triển. Điều này xuất phát từ bài viết 'Tại sao HTML5 là một Thay đổi Trò chơi và ý nghĩa của nó đối với bạn'. được liên kết trong chuỗi này. Điều này hoàn toàn được tạo thành. Truyền thông cần có thời gian để phát triển. Kịch bản phía máy khách để xử lý đa phương tiện trên web cần có thời gian để viết. Bây giờ vấn đề mà bạn buộc các công cụ để thực hiện từ đó vẫn là thời gian phát triển. Không có con số nào đằng sau bất kỳ phép đo hoặc nghiên cứu nào về tiết kiệm chi phí phát triển. Tác giả hoàn toàn làm điều này và tác giả sai. Thời điểm HTML tạo video cho bạn và cung cấp cho bạn mã quy trình xử lý video cho người dùng một cách tự động mà không quan tâm đến tùy chỉnh là thời điểm tác giả dừng lại sai, nhưng cho đến khi phương tiện đó luôn dành thời gian để tạo và xuất bản.

5) Chuỗi tài liệu quá khó hiểu để ghi nhớ và HTML5 giải quyết vấn đề này bằng khai báo loại tài liệu đơn giản. Điểm này không được nêu, cho đến nay, trong bất kỳ nhận xét nào của câu hỏi, nhưng nó được nêu ở nơi khác. Nếu một coder HTML không thể sao chép các khai báo doctype, được tìm thấy như là kết quả đầu tiên trong một tìm kiếm của Google, thì nhà phát triển đó có các vấn đề nghiêm trọng hơn để giải quyết. Thời điểm sao chép và dán trở nên quá phức tạp là thời điểm đã đến lúc dừng viết mã.

Ý kiến ​​của tôi là không có lý do chính đáng để hỗ trợ HTML5. Những thất bại và tổn hại về bảo mật đối với việc kinh doanh có chi phí trung bình là 11,3 triệu USD cho mỗi thỏa hiệp năm ngoái theo nghiên cứu của Symantec, vì vậy có những lý do mạnh mẽ để không hỗ trợ HTML5.

http://eval.symantec.com/mktginfo/enterprise/white_papers/b-whitepaper_government_internet_security_threat_report_04-2009.en-us.pdf

http://eval.symantec.com/mktginfo/enterprise/white_papers/b-whitepaper_internet_security_threat_report_xiv_04-2009.en-us.pdf

http://www.symantec.com/content/en/us/enterprise/media/security_response/whitepapers/web_based_attacks_02-2009.pdf

+0

1: Thêm hỗ trợ thực sự loại bỏ sự phức tạp không đáng tin cậy của các giải pháp kludgy cho phương tiện được nhúng. 2: Bạn đang gây nhầm lẫn đặc điểm kỹ thuật và thực hiện. 3: Một lần nữa, bạn đang nhầm lẫn đặc điểm kỹ thuật, trong đó có một vài thẻ kết thúc tùy chọn (ví dụ), với thực hiện, đó là hỗ trợ trình duyệt cho súp-tag (mà không xác nhận). ... và sau đó bạn tạo một người rơm. # 4 đặc biệt nghiêm trọng: nếu tôi đang tải lên một video đơn giản từ điện thoại và tôi chỉ có thể sử dụng thẻ video, nơi phát triển của nó? Đây không phải là một trường hợp góc. # 5 là một khiếu nại hợp lý. Bạn nên nghe http: //➡.ws/hmhtml5 – brianary

+0

1) Cách giải quyết kludgy để thực hiện plugin là một lý do khủng khiếp yếu để đẩy vi phạm bảo mật vào HTML. 2) Tôi không nhầm lẫn đặc điểm kỹ thuật để thực hiện. HTML5 không giải quyết các mối lo ngại về bảo mật cho các tính năng mới mà nó cung cấp, do đó các vấn đề không được giải quyết trong đặc tả sẽ giới thiệu các lỗi trong quá trình thực hiện. 3) Cụ thể hơn. Bạn không rõ ràng. 4) Bạn có thể làm điều đó với HTML4 bằng cách sử dụng một thẻ neo liên kết đến video. Đó không phải là một trường hợp góc. Khi HTML5 coi trọng vấn đề bảo mật là thời điểm đầu tiên cần xem xét. –

+0

Vui lòng nêu cụ thể về các mối quan ngại về bảo mật của bạn và tại sao chúng cần được giải quyết ở cấp độ đặc tả, thay vì bằng cách triển khai. Tôi xin lỗi tôi đã mất bạn, nhưng đó là đơn giản như tôi có thể làm cho nó. Hãy giải thích điều gì đã làm bạn bối rối. Phát triển trong tương lai sẽ xem các liên kết được kích hoạt thủ công tới video dưới dạng cổ xưa vì chúng tôi sẽ tìm thấy một trang web chỉ liên kết với ảnh, vì vậy có nó là một trường hợp góc (tên một số trang web thực hiện điều này, nếu không). – brianary

0

HTML 5 là nhiều ứng dụng web-centric hơn phiên bản trước của (X) HTML.

Có lẽ thay đổi quan trọng nhất là Biểu mẫu web 2.0, thêm xác thực (!), Đầu vào tạo khóa mã hóa, một số đầu vào ngày và giờ, đầu vào số, đầu vào email và URL, phần tử đầu ra và hơn thế nữa.

Có những thứ khác, như khả năng liệt kê URL để lưu trước, mô hình bố cục tốt hơn (phần tử đầu trang và chân trang) và giá trị tự động chuyển đổi: đồng hồ và thời gian, ví dụ, cho phép trình duyệt chuyển đổi dặm sang km để trưng bày trong các nền văn hóa nhất định. Có nhiều yếu tố mới cho những thứ như thanh tiến trình, sang một bên (cho sidebars), hình, chi tiết có thể mở rộng, menu và các thứ khác.

Quá nhiều người bị cuốn vào các thẻ âm thanh, video và canvas, điều này sẽ đơn giản hóa đáng kể việc nhúng phương tiện (today, it's a mess) và cung cấp kiểm soát người dùng tốt hơn. Mặc dù những gì bạn có thể đã nghe, điều này không có nghĩa là kết thúc của Flash hoặc Silverlight, nhất thiết. Những công nghệ này có thể dễ dàng được thừa hưởng bởi trình duyệt để cung cấp chức năng cho các thành phần này, nhưng sẽ phải cạnh tranh ở cấp độ người dùng, thay vì ở cấp độ nhà phát triển.

Nó vẫn còn khá nhiều tranh cãi, và không đảm bảo rằng các trình duyệt sẽ thực hiện công cụ này hoàn toàn (optgroup trong HTML4 là một thất bại ở đó), hoặc tốt (chứng chỉ khách hàng là một thất bại rất lớn), và spec không hoàn thành Tuy nhiên, do đó, nó có thể là một cái gì đó để chờ đợi nhiều hơn một chút để xem hỗ trợ hoàn toàn bakes trong năm tới hay như vậy.

0

Hoàn toàn sai khi nghĩ về HTML 5 là hiện thân tiếp theo của HTML 4, nó không phải. HTML 5 đi xa hơn những gì HTML 4 có khả năng.HTML 5 được thiết kế để trở thành một nền tảng ứng dụng dựa trên web hoàn toàn chính thức. Vì vậy, nó không chỉ là về cách hiển thị 'những thứ' trong một trình duyệt web.

  • Web Workers
  • Sockets Web
  • Ứng dụng cache
  • Global Storage
  • vv ....

Nó cũng đánh vần cuối của thời đại là chúng tôi nói chuyện về web 'các trang web' cần phải hoạt động mà không cần JavaScript. JavaScript là không thể thiếu đối với HTML 5 và tương lai của web.

Tất nhiên là tùy thuộc vào bạn nếu bạn muốn triển khai bất kỳ nội dung nào trong số này nhưng tôi đoán là trong vài năm tới, mọi người sẽ sử dụng tính năng này. Các nhà cung cấp trình duyệt ngoại trừ Microsoft đang triển khai các tính năng này với tốc độ đáng sợ. Rất nhiều API HTML 5 có thể đã được triển khai.

0

Câu trả lời đúng là: phụ thuộc.

Có rất nhiều bên liên quan trong lĩnh vực trình duyệt và một số (ho Microsoft ho) có một lịch sử của sự thù địch đối với các tiêu chuẩn công cộng. Mặc dù nhiều người cho rằng thẻ video là một lý do để sử dụng HTML5 nên chỉ ra rằng MS không hỗ trợ tất cả và Apple và Nokia đang gặp khó khăn về hỗ trợ định dạng (Apple sở hữu Quicktime, Nokia là một người giữ bằng sáng chế MP4-AVC).

Các tính năng khác như đề xuất lưu trữ dựa trên ý tưởng rằng người dùng và nhà cung cấp sẽ không chỉ tắt các tính năng này vì lo ngại về bảo mật (như cookie thường bị chặn).

Vấn đề cơ bản với HTML5 là sự phù hợp của nhà cung cấp trình duyệt là tùy chọn. Nó có thể dictate bất cứ điều gì nó muốn nhưng nó không thể làm cho các nhà cung cấp trình duyệt tuân thủ. Điều này cung cấp cho các nhà cung cấp cơ hội để nắm giữ thông số để đòi tiền chuộc, hoặc bỏ qua nó, hoặc "nắm lấy và mở rộng" nó như lợi ích của họ ra lệnh.

Từ những gì tôi đã thấy trong danh sách WHATWG, hầu hết các thành công của HTML sẽ nằm ở những khu vực có ít hoặc không có khả năng thu lợi từ sự không phù hợp. Điều này về cơ bản có nghĩa là những thứ như chú thích và thẻ thoại, thuộc tính tùy chỉnh và những thứ khác mà phần lớn các nhà phát triển web sẽ không bao giờ sử dụng, hiểu hoặc quan tâm.

Tôi về cơ bản thấy nó đi theo đường dẫn của Open GL 3.0. Bị xáo trộn bởi các chương trình nghị sự của công ty cho đến khi nó là một cái bóng của vinh quang được mong đợi của nó. Nó sẽ quá muộn để có nhiều giá trị và sẽ có hàng trăm bản triển khai HTML5 khác nhau dựa trên nhà cung cấp và phiên bản trình duyệt để các nhà thiết kế 10 năm tới sẽ vẫn viết thư cho HTML4 để có sự nhất quán trong các trang của họ.

Khá nhiều mọi thứ phụ thuộc vào Microsoft, vì mọi thứ không được hỗ trợ bởi IE sẽ thấy việc sử dụng không thường xuyên và mờ nhạt. Với lịch sử của Microsoft trong lĩnh vực này, kết hợp với sự vắng mặt rõ ràng của họ từ các cuộc thảo luận WHATWG, sự quảng bá tích cực của Silverlight và Windows Presentation Framework, việc tạo/tạo HTML không đạt chuẩn trong Office (xem tranh cãi của Outlook 2007) và việc sử dụng CSS3.0 chậm của họ và các tính năng HTML5 thật khó để có nhiều sự tự tin họ sẽ chơi bóng.

Các vấn đề liên quan