Tại sao phải mất quá nhiều thời gian để hoàn thiện thông số kỹ thuật HTML 5? [đóng cửa]


25

Tôi đang đọc cái này và một câu khiến tôi chú ý (nhấn mạnh vào tôi):

Vì vậy, Ian Hickson, nhà phê bình lớn nhất của XHTML, đã tạo ra HTML 5, một đặc tả trẻ theo định hướng hành động sẽ không đến tuổi trưởng thành cho đến năm 2022 , mặc dù một số có thể được sử dụng ngày nay.

Điều đó có đúng không? Đó thực sự là chu kỳ phát triển HTML 5? Tại sao nó mất nhiều thời gian? Điều gì làm cho nó rất khó để có được quyền mà nó sẽ không được cuối cùng cho đến 11 năm kể từ bây giờ?


35
Bạn đã bao giờ cố gắng để có được một nhóm người đồng ý về một cái gì đó?
George Marian

2
@George - Nên đã có một câu trả lời.
Ben L

Chỉ là một bên, bạn đã thấy kích thước của thông số kỹ thuật và nó phức tạp như thế nào?
JB King

@ben Rõ ràng, tôi nên có. Tôi đã không nghĩ rằng nó đủ thịt. :)
George Marian

Câu trả lời:


19

Ngày được đề cập cho quá trình hoàn thiện đã được thiết lập cho đến tương lai vì quy trình tiêu chuẩn cho thông số HTML được thiết lập theo cách đảm bảo chấp nhận rộng rãi thông số kỹ thuật.

Một số nền tảng: có hai cơ quan tiêu chuẩn hoạt động trên các bản nháp liên quan đến cái mà chúng ta thường gọi là "HTML5": World Wide Web Consortium (W3C) và Nhóm làm việc về công nghệ ứng dụng siêu văn bản Web (WHATWG). Trước tháng 7 năm 2012, cả hai nhóm đã làm việc (chủ yếu) cùng nhau để phát triển HTML.

Quá trình chính là chạy qua một loạt các cột mốc:

  • Dự thảo làm việc:  spec đang trong quá trình phát triển và thảo luận tích cực
  • Bản thảo làm việc cuộc gọi cuối cùng (LCWD): thông số kỹ thuật gần như đã hoàn tất và người triển khai có cơ hội đưa ra bất kỳ phản đối cuối cùng nào về thông số kỹ thuật trước khi nó đi vào quy trình hoàn thiện
  • Khuyến nghị của ứng viên:  thông số kỹ thuật được hoàn thiện một cách hiệu quả và an toàn để sử dụng cho người triển khai và tác giả nội dung
  • Khuyến nghị: hai triển khai độc lập, hoàn toàn tương thích của thông số kỹ thuật đã được hoàn thành đầy đủ

Cột mốc LCWD bắt đầu vào năm 2011 và giai đoạn Khuyến nghị của Ứng viên dự kiến ​​sẽ đến tương đối sớm vào năm 2014. Đó là cột mốc cuối cùng, Khuyến nghị, yêu cầu hai lần thực hiện đầy đủ thông số kỹ thuật, sẽ mất vài năm và là lý do cho năm 2022 ngày.

Trong mô hình này, cột mốc thực sự đầu tiên liên quan đến các tác giả nội dung (không phải người tạo tác nhân người dùng, như trình duyệt) là LCWD, vì thông số kỹ thuật dự định sẽ được hoàn thiện. Khi LCWD đã được hoàn thành, HTML5 sẽ đạt được cột mốc Khuyến nghị của Ứng viên và đó sẽ là một đặc điểm kỹ thuật cuối cùng trừ tên: bạn sẽ có thể thực hiện nó với sự miễn cưỡng, như là cột mốc cuối cùng, Khuyến nghị, sẽ không có ảnh hưởng đến nội dung của tiêu chuẩn và phần lớn không quan tâm đến các tác giả nội dung.

Tuy nhiên, vào tháng 7 năm 2012, W3C và WHATWG đã chính thức phân chia cách thức dự thảo HTML5 sẽ được phát triển. Sự phân chia này, đã được thực hiện chức năng trong một vài năm nay, thiết lập hai "bản nhạc" HTML khác nhau:

  • Một tiêu chuẩn sống, được phát triển bởi WHATWG và được gọi đơn giản là "HTML", trong đó đặc tả không bao giờ hoàn chỉnh. Đồng thuận hợp lý cho tiêu chuẩn được thiết lập nhưng không có yêu cầu để thực hiện mọi thứ.

  • Ảnh chụp nhanh định kỳ, ổn định của tiêu chuẩn được phát triển bởi W3C dưới dạng thông số HTML5. Kể từ tháng 9 năm 2012, W3C đang đề xuất đạt được cột mốc Khuyến nghị về "HTML 5.0" vào năm 2014, với các ảnh chụp nhanh điểm mỗi hai năm (ví dụ: "HTML 5.1" vào năm 2016).

Bởi vì của cựu, HTML5, như chúng ta đã đến để hiểu nó, là có thể sử dụng tại . Thật không may, vì đó là một tiêu chuẩn sống, sử dụng nó như một tác giả nội dung đòi hỏi phải hiểu từng triển khai của tác nhân người dùng.


Trong khi Windows XP vẫn nắm giữ 60-75% thị trường và Win7 (hoặc Vista) là bắt buộc để IE9 hoạt động, tôi không nghĩ việc áp dụng vào năm 2012 sẽ là hơn 20-30%. Tôi có nghĩa là áp dụng giải pháp hầu như không hoạt động, thay vì một cái gì đó đã sẵn sàng sản xuất, như HTML4 hoặc flash.
Slawek

@Slawek bất kể số lượng chia sẻ sử dụng mà bạn muốn tin là gì , hơn một nửa số tác nhân người dùng tại thời điểm Đề xuất của Ứng viên sẽ có giá trị hợp lý, nếu không hoàn thành, hỗ trợ cho HTML5.

2
Vâng, tôi thích học hỏi từ lịch sử hơn là tham khảo những lời cầu nguyện của một số đại diện Microsoft và FUD tiếp thị. DOM Level1 - đặc điểm kỹ thuật từ năm 1998, không có hỗ trợ tốt trong BẤT K version phiên bản trình duyệt nào của microsoft cho đến bây giờ (IE9 có thể sẽ hỗ trợ nó, tôi chưa kiểm tra). Tôi không nói 75% trình duyệt sẽ không hỗ trợ HTML5 vì WindowsXP, nhưng 75% người dùng IE không thể làm cho HTML5 hoạt động. IE Update rất đau đớn vì bắt buộc phải chuyển đổi hệ điều hành trước khi bạn có thể thay đổi trình duyệt :) Tôi chỉ có thể cười vì điều này thật điên rồ. Tốt hơn là nói chuyện họ sẽ làm cho DOM chết tiệt hoạt động.
Slawek

2
Nhận xét về nhận xét gần đây: khi chúng tôi xử lý các trình duyệt microsoft, chúng tôi sẽ phải chết với hiệu suất chậm chạp của Mozilla. Tôi là một người rất "định hướng kết quả". Tôi sẽ không chạm vào HTML5 (như Canvas, SVG) trong 3-4 năm tới. Về cơ bản, nó mang lại cho bạn không có lợi nhuận so với flash và dù sao bạn cũng phải mã hóa điều tương tự trong flash để nó tương thích với số lượng lành mạnh của trình duyệt tự động của bạn. Bạn đã phải đối phó với sự không tương thích của HUNDREDS trong IE với ngày nay, HTML4 khá đơn giản. Tôi chỉ quan tâm đến "kết quả" và trạng thái ngày nay, không phải FUD và ý thức hệ.
Slawek

1
+1 cho đoạn kết luận: "sử dụng nó như một tác giả nội dung đòi hỏi phải hiểu từng triển khai của tác nhân người dùng." À ... ĐÊM !!!
GlenPeterson

12

Câu trả lời dễ dàng: Thiết kế bởi Ủy ban

Lợi ích của đám đông những người nhìn qua thiết kế là toàn bộ nhóm sẽ đưa ra các khía cạnh khác nhau mà nhà thiết kế ban đầu không nghĩ tới. Đó là một lợi thế.

Khi nhà thiết kế là một đám đông lớn, tất cả họ đều có những chương trình nghị sự và thú cưng khác nhau mà họ muốn đạt được tiêu chuẩn vì bất kỳ lý do gì. Đôi khi các tính năng mâu thuẫn với nhau, đôi khi có chính trị xung quanh các quyết định, v.v. Phải mất một thời gian dài để một nhóm lớn người đi đến thỏa thuận. Đó là một điểm trừ.

Dù tốt hay xấu, W3C đã chọn phát triển các tiêu chuẩn của họ theo cách này.


19
Và sau đó, vào thời điểm ủy ban cuối cùng đã đồng ý về một cái gì đó, ngành công nghiệp đã lấy đặc tả dự thảo của họ, thực hiện các phần của nó và mở rộng phần còn lại theo cách không tương thích với đặc điểm kỹ thuật cuối cùng.
Robert Harvey

Đúng vậy, điều gì xảy ra khi bạn phủ một DIV trong suốt lên trên khung vẽ đó :) Có vẻ đơn giản, rất phức tạp để làm.
Slawek

9

Bởi vì điều quan trọng là nó đúng.

  • Phải mất thời gian để làm cho mọi thứ trở nên đúng đắn - Tiêu chuẩn HTML5, một khi được đặt, sẽ tồn tại trong một thời gian dài. Nó cần phải là tốt nhất có thể và nó cần phải đúng. Điều đó gây tranh luận bởi các chuyên gia, dùng thử và lỗi, đầu vào từ người dùng và nhà phát triển và phân tích số liệu thống kê

  • Khi một tiêu chuẩn thay đổi, ứng dụng của ai đó ở đâu đó sẽ bị hỏng - Tiêu chuẩn cần phải đúng ngay lần đầu tiên. Với mỗi thay đổi đối với một tiêu chuẩn, ứng dụng của ai đó ở đâu đó trên thế giới sẽ phá vỡ phiên bản mới. Điều đó đòi hỏi chúng tôi là nhà phát triển để sửa nó, tốn thời gian và tiền bạc. Nó cần phải đúng ngay lần đầu tiên.

  • Sự mơ hồ cần phải được loại bỏ - Thật dễ dàng để nói đây là thẻ canvas làm gì khi chỉ có thẻ canvas trên trang, nhưng còn khi nó nằm trong thẻ khác thì sao? Còn kết hợp thẻ thì sao? Làm thế nào họ nên kết xuất? Chúng nên được kết xuất như thế nào với các thuộc tính kiểu X được đặt trong các kết hợp cụ thể?

Phần thưởng: Hãy xem thông số kỹ thuật HTML5 ở dạng hiện tại và bạn sẽ thấy những gì đi vào nó.


7

Dài? Phải mất gần 8 năm để microsoft làm cho CSS2 đơn giản hầu như không hoạt động trong IE7, trong khi hỗ trợ DOM1 trong javascript vẫn bị hỏng trong IE8. Đó là thông số từ năm 1998.

Đó là lý do tại sao bạn sẽ không thấy áp dụng rộng rãi HTML5 trong đa phương tiện trong 20 năm tới. Đó là rất phức tạp, chưa hoàn thành, hiệu suất hút. Ngay cả những thứ đơn giản như websockets cũng bị tắt vì lý do bảo mật.

Một số thứ sẽ không hoạt động như một tiêu chuẩn mở. Làm các trò chơi hoặc MM trong môi trường nên hoạt động trên máy khách mỏng và hỗ trợ sự xuống cấp duyên dáng? Đó là sự điên rồ.

EDITED: Vâng, đầu tiên là quá phức tạp. Bạn có một plugin flash giống nhau trong mọi trình duyệt và hoạt động theo cùng một cách mọi lúc. Đó là giải pháp đơn giản và hiệu quả. Một giao diện, bạn thực hiện thay đổi một lần, biên dịch lại và viola - bạn có một plugin cho tất cả các trình duyệt trên thị trường, bằng cách sử dụng một số lớp trung gian giữa trình duyệt và plugin.

Mặt khác, bạn có 10 trình duyệt và bạn muốn thêm ví dụ. hỗ trợ đa phương tiện / phim. Điều đó có nghĩa là mọi công ty sẽ phải triển khai trình phát đa phương tiện từ đầu, bên cạnh mọi người đều muốn một cái gì đó khác biệt. Apple muốn H.264 vì vậy chủ sở hữu trang web sẽ trả cho họ tiền bản quyền cho codec để phát phim, Google và Mozilla muốn VP8 để họ có thể kinh doanh không bị ảnh hưởng bởi các bằng sáng chế của Apple, v.v.

Vì vậy, nó kết thúc trong việc thực hiện những điều mà mọi người muốn (trong khi VP8 hoặc H.264 sẽ làm, để bắt đầu).

Vì vậy, trước khi họ có thể khắc phục sự khác biệt của mình, Adobe sẽ triển khai H.264 trong flash, sử dụng ngăn xếp DRM và phát trực tuyến đã có sẵn của họ và ... nó đã sẵn sàng. 3-4 tháng và bạn có một công nghệ làm việc với tỷ lệ chấp nhận 98%.

Đơn giản, một công ty quyết định, vì vậy họ có thể thúc đẩy những thay đổi lớn một cách nhanh chóng và sẽ không phải thêm "ý tưởng" của 20 thành viên "cơ quan lập trường" khác. Bên cạnh HTML5 có thể chậm hơn 10-15 năm so với flash, trong đa phương tiện. Khoảng cách sẽ chỉ lớn hơn. Trong MAX avant gần đây, bạn có thể thấy các bộ điều khiển trò chơi hỗ trợ và các ứng dụng đua xe 3D toàn màn hình, chạy trên flash trong FPS đầy đủ, hỗ trợ tăng tốc phần cứng, v.v. Trong khi đó, mozilla giờ đây có thể phát video H.246 mà không bị sập trình duyệt mà chỉ phát. Bất kỳ chức năng bổ sung nào (như toàn màn hình, phát trực tuyến, chuyển tiếp nhanh) vẫn còn thiếu!

Bên cạnh đó tôi nghĩ rằng W3C chỉ đang lãng phí tài nguyên bằng cách cố gắng tạo cho HTML5 một số bản sao flash được nướng một nửa. Nó sẽ không hoạt động ... nó giống như cố gắng biến flash thành một bản sao của HTML. Sẽ không làm việc.


+1 cho một lời giải thích khá rõ ràng về chính trị liên quan.
Michael K

5

Về cơ bản, để có được một nhóm người đồng ý về một điều gì đó là khá khó khăn. Chưa kể rằng có nhiều vấn đề cần giải quyết. Ví dụ, có rất nhiều tranh luận về việc sử dụng codec nào cho video.

Để tốt hơn hay tồi tệ hơn, hầu hết các thông số kỹ thuật phải mất một thời gian để xử lý.


2

Mark Pilgrim nói về điều này trong cuốn "Lặn sâu vào HTML5" của mình tại đây: http://diveintohtml5.org/past.html Có vẻ nhiều người không thích phiên bản sách vì nó không đủ kỹ thuật, nhưng trong phần này biên tập là khá bảo hành.

(Chỉnh sửa: Tôi chỉ muốn cung cấp một tài liệu tham khảo cho nhận xét của tôi về những người không thích chất lượng "trò chuyện" của cuốn sách: kiểm tra các đánh giá trên amazon . Cá nhân tôi rất thích đọc nó và thấy nó có nhiều thông tin, vì vậy số dặm có thể thay đổi. )


2

Một phần của vấn đề là thông số kỹ thuật sẽ không được hoàn thiện cho đến khi có ít nhất hai triển khai chính của thông số kỹ thuật - ít nhất là hai trình duyệt riêng biệt hỗ trợ đầy đủ. Vì vậy, thông số kỹ thuật cần phải được hoàn thành đủ để thực hiện đầy đủ, sau đó nó cần thực sự được thực hiện, sau đó nó có thể được hoàn thành.


1
Vấn đề gà / trứng kinh điển xuất hiện ở đây;)
tcnolan

@tnolan Khá vậy!
Cấp Palin

2

Một phần của vấn đề: Tôi muốn ogg theora trong trình duyệt. Bạn có đồng ý không? Không. Bạn muốn H.264. Nhưng tôi có đồng ý không? Không. Đó là vấn đề giữa Google, Mozilla, Microsoft, Apple, Adobe và tất cả các tập đoàn đang chơi phía sau html 5. Họ đang cố gắng tối đa hóa doanh thu và là nhà độc quyền. Nó cạnh tranh khốc liệt. Vì vậy, nó được lâu hơn để hoàn thành.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.