Wednesday, 13 June 2012


Bài post này nhằm giới thiệu về HTML5, mình sẽ nêu nội dung trình bày theo những câu hỏi sau:
1. Tìm hiểu về HTML5
2. Có gì mới ở HTML5?
3. HTML5 - xu hướng cho tương lai?
4. Sử dụng HTML5 như thế nào?
-------------------------------------------------------------------------------------------------------------------------------------------------

1. Tìm hiểu về HTML5

       Năm 1989, khi Tim Berners-Lee sáng tạo ra World Wide Web bằng cách liên kết một văn bản này tới một văn bản khác – được gọi là “hypertext” (siêu văn bản) – ông đã tạo ra một bước nhảy vọt vĩ đại cho lịch sử nhân loại. Từ đó trở đi, một lượng lớn các chức năng đã được thêm vào HTML (Hypertext Markup Language) => kỷ nguyên web bắt đầu.
       HTML 5 là phiên bản mới nhất của HTML giới thiệu một số tính năng mới để giữ với tiêu chuẩn web 2.0 như khả năng âm thanh và video. HTML được phát triển bởi một nhóm các chuyên gia từ các công ty như Microsoft, Apple, IBM, AOL, Opera và hàng trăm công ty khác và các cá nhân.
      HTML 5 là vẫn còn trong phiên bản dự thảo. Phiên bản cuối cùng có thể thêm hoặc loại bỏ một số các yếu tố và thuộc tính. HTML 5 được thiết kế để hỗ trợ các yếu tố và thuộc tính của các phiên bản trước đó.
      HTML5 mang lại cho người dùng trải nghiệm lướt Web hoàn toàn mới, nhanh hơn, ổn định hơn và bảo mật hơn. HTML5 sẽ giúp các nội dung trên Web hoạt động tốt hơn mà không cần phụ thuộc vào bất kì một ứng dụng phụ trợ nào khác.

a) Mang đến sức sống mới cho Web

      Không những mang lại những lợi ích to lớn như hoạt động nhanh, ổn dịnh và bảo mật hơn. Bên cạnh đó, HTML5 có khả năng hỗ trợ API (Application Programming Interface) và DOM (Document Object Model) sẽ cho phép dễ dàng mở rộng, giúp các nhà phát triển tự do sáng tạo trong việc tạo ra các ứng dụng thân thiện và hữu ích hơn.
      Hơn thế, với HTML5, mọi thiết bị từ máy tính cá nhân đến các thiết bị di động sẽ có thể dễ dàng tiếp cận nội dung, tức là sẽ không còn khác biệt, với duy nhất một điều kiện là trình duyệt bạn đang dùng phải hỗ trợ HTML5, nhưng điều này có lẽ không còn là một khó khăn, khi mà hầu hết các trình duyệt phổ biến gần đây đều đã hỗ trợ mạnh mẽ HTML5 (Firefox, Chrome, Opera, Internet Explorer, đến các trình duyệt trên iOS, Android).
      Với HTML5, các nhà phát triển chỉ cần xây dựng ứng dụng một lần, và nó có thể hoạt động tốt trên tất cả các thiết bị, không như Flash hoặc Silverlight đòi hỏi phải cài đặt plugin để có thể hiển thị nội dung.

b) Nội dung đã đa dạng hơn, được hỗ trợ tốt hơn

      Thời gian trước, báo chí và các nhà phát triển đã tốn nhiều giấy mực để nói về những gì mà HTML5 có thể mang lại, so sánh giữa HTML5 và Flash vốn chiếm phần lớn nội dung trên Web. Flash lâu nay vẫn chiếm phần lớn nội dung trên Web nhưng hiện nay nó đã và đang dần bị thay thế bởi HTML5.
      Huyền thoại Steve Jobs đã từng đưa ra quan điểm rất rõ ràng, Flash sẽ không bao giờ xuất hiện trên các thiết bị di động của Apple, và cũng đưa ra sự ủng hộ vào HTML5.
      Bên cạnh những lợi ích mà HTML5 mang lại, giới phát triển cũng chỉ ra những hạn chế rất lớn của Flash, đó là sự bất ổn định, làm thiết bị hoạt động nóng hơn và hao pin hơn, phải yêu cầu cài Plugin để hoạt động. Và Flash không phải là tối ưu cho các thiết bị di động khi vấn đề về pin trên các thiết bị này luôn là mối quan tâm lớn đối với người dùng.
      Hiện nay, nhiều trang web và dịch vụ lớn đã chuyển sang dùng HTML5, có thể kể đến trong số đó là Youtube, Nokia Maps… Ngoài ra, rất nhiều games được xây dựng bằng HTML5 đã xuất hiện, trong số đó có các games nổi tiếng như Angry Bird,… Cho thấy HTML5 ngày càng được quan tâm và phát triển nhiều hơn.

c) Giảm bớt sự phụ thuộc vào các công nghệ độc quyền

      Ngôn ngữ web HTML5 ra đời nhằm mục đích giảm bớt sự phụ thuộc và cần thiết của những công nghệ ứng dụng Internet độc quyền như Adobe Flash, Microsoft Silverlight và Sun JavaFX. Tuy nhiên, phải mất rất nhiều năm nữa mới đạt đến mục tiêu đó. Ngôn ngữ HTML4 không cho phép nhúng hay kiểm soát các nội dung đa phương tiện, trái lại, các yếu tố video và audio mới của HTML5 cho phép các nhà phát triển nhúng và kiểm soát các nội dung đa phương tiện mà không cần đến Flash. HTLM5 còn cho phép giao tiếp 2 chiều với máy chủ, vì thế các nhà phát triển có thể thử nghiệm game, chat, điều khiển từ xa….
      Những tính năng của HTML5 như Canvas, lưu trữ nội bộ và Web Workers cho phép các nhà phát triển nâng cấp trình duyệt web theo những cách mà công nghệ trước đó không cho phép. Opera Software được xem là hãng đi đầu trong việc triển khai công nghệ HTML5 trong trình duyệt của hãng.

2. Có gì mới ở HTML5?

      - Cho phép bạn xem video mà không cần sử dụng thêm plugin như Flash hoặc Silverlight.
      - Tạo thêm các tags cho các cấu trúc tài liệu phổ biến bao gồm headers, footers, sections, captions, và figures để bản thân trình duyệt có thể hiển thị các tài liệu nhiều trang một cách thông minh mà không cần tới bất cứ một plugin hay các ứng dụng nào khác.
      - Hỗ trợ cả các ứng dụng web, liên kết các môi trường ứng dụng như JavaScript, Adobe Flash, ActionScript thành một thể thống nhất.
      - Có thể được sử dụng để xây dựng các ứng dụng toàn diện bao gồm các trò chơi và ứng dụng. Các thẻ <canvas> được cung cấp trong các HTML5 nhằm hỗ trợ các nhà thiết kế trò chơi tạo ra những ứng dụng có thể vẽ trực tiếp lên trang web bằng cách sử dụng cùng những lệnh vẽ trong bản thân các ứng dụng đó. Tính năng này, cùng với nhiều tính năng khác nữa được cung cấp trong HTML5 nhằm thay thế cho Flash.
      - Cho phép các ứng dụng web có khả năng lưu trữ thông tin và tiện ích Internet để sử dụng khi bạn đang offline. Tính năng này sẽ cho phép lưu trữ và truy cập dữ liệu như các thiết đặt (settings), cache, cơ sở dữ liệu (database), e-mail, lịch, và các tiện ích khác thông qua các ứng dụng Web, ngay cả khi bạn đang offline, điều này làm cho các ứng dụng Web trở nên tốt hơn và hữu dụng hơn.
      - Bổ sung công nhân mạng “web worker”. Khi người dùng đang tương tác với những thứ trên trang web mà họ ghé thăm, web worker sẽ thực hiện các công việc khác, như tự động điền các kết quả tìm kiếm chẳng hạn.
      - Tích hợp thêm chức năng kéo và thả – bạn có thể kéo bất cứ file nào từ máy tính của mình vào trong trình duyệt mà không cần cài thêm các plugin hay các công cụ upload.
      - Lợi ích to lớn nhất mà HTML5 đem lại là khả năng hỗ trợ API (Application Programming Interface – giao diện lập trình ứng dụng) và DOM (Document Object Model – mô hình đối tượng tài liệu hay cây cấu trúc dữ liệu). HTML5 cho phép mở rộng dễ dàng với API.Điều này sẽ giúp các nhà phát triển tự do hơn trong việc sáng tạo các ứng dụng thân thiện hơn với người dùng khi mà họ còn lệ thuộc vào nền tảng Flash – lưu trữ dữ liệu và trình diễn ảnh động.
      - Truy cập vào các dữ liệu được tiêu chuẩn hóa, ví dụ như các dữ liệu định vị (geolocation), sẽ chính là truy cập tới vị trí địa lý của các thiết bị nhờ vào báo cáo của các gia tốc kế. HTML5 có thể giúp xác định vị trí của bạn và dùng nó để thực hiện cho một công việc nào đó.
      - Các mẫu điền thông tin (web form) cũng có thể được tạo ra thông minh hơn với các kiểu đầu vào bao gồm địa chỉ thư điện tử, ngày tháng, số điện thoại và màu sắc. Hộp tìm kiếm, dòng nhập thông tin, vùng thông tin hợp lệ… sẽ được kiểm soát tốt hơn, ít gây phiền toái cho người dùng khi họ điền thông tin, dữ liệu.

3. HTML5 - xu hướng cho tương lai?

      Câu hỏi lớn nhất về HTML5 là liệu nó có thể thực sự thành công. Những thay đổi của HTML5 là quá to lớn và những lợi ích mà nó mang lại cho các bên có liên quan quá khác biệt đến nỗi có những lo ngại rằng HTML5 sẽ sụp đổ trước khi đạt được mục tiêu của mình. Bản thân những đặc điểm chi tiết kỹ thuật vẫn đang được phát triển một cách nhanh chóng và đang được mở rộng để tạo thêm nhiều hơn các tính năng nhằm hỗ trợ những thành phần như camera và điện thoại. Cùng lúc đó nó lại đang bị phải đáp ứng lại những mong muốn về tính năng khác nhau của rất nhiều nhà phát triển.

      Trên máy tính để bàn, IE9 chỉ hỗ trợ một số tính năng của HTML5, sẽ phải tới năm 2012 khi IE10 ra mắt, Microsoft mới thêm tính năng kéo-và-thả và xử lý đa luồng vào trình duyệt IE của mình, và theo thường lệ, họ vẫn đi sau Google Chrome và Apple Safari. Tình trạng này còn khác rõ rệt hơn trên các thiết bị di động. Trong khi lượng lớn các điện thoại thông minh sử dụng một số thành phần của HTML5, các thiết bị cầm tay chỉ hỗ trợ 4 trong số 17 thành phần chuẩn. Với hơn 40 nhà phát triển thiết bị Android và ước chừng 3000 thiết bị được sử dụng phổ biến, sự triển khai HTML5 trên tất cả các thiết bị đó đã tạo ra một ngành công nghiệp đầy tiềm năng nhưng cũng đầy thách thức.

      Sencha và Appcelerator đã đưa mã nguồn mở HTML5, CSS3, và các công nghệ JavaScript vào gói công cụ phát triển nền tảng chéo vốn không chỉ cung cấp môi trường phát triển tốt hơn cho HTML5 mà còn giúp làm mượt những góc ráp của việc bổ sung HTML5 giữa các nền tảng. Để bảo vệ những đặc quyền của Flash, Adobe cũng đã can thiệp vào cuộc chiến với công cụ HTML5 riêng của mình: Muse cho các nhà thiết kế, và Adobe Edge cho các nhà phát triển, những người đang có ý định rời khỏi Flash. Mới đây, Adobe đã mua Nitobi, nhà sản xuất PhoneGap, một công cụ cho các ứng dụng phát triển HTML5 có thể bán trong gian hàng ứng dụng Appstore của Apple.

      Nói tóm lại, HTML5 có thể thành công trong việc thay thế hoàn toàn các plugin khác như Flash, Silverlight hay không, thì còn cần một khoảng thời gian dài nữa mới có câu trả lời được. Nhưng một điều chắc chắn rằng, sự xuất hiện của HTML5 sẽ tạo ra những chuyển biến rất lớn trong công nghệ thông tin; cho dù đó là bước phát triển của HTML5 nhằm cản trở sự thành công của Flash, hay sự phát triển của Flash nhằm giữ vững vị thế hiện tại của mình, và rõ ràng HTML5 vẫn là vị cứu tinh của web, theo nghĩa này hay nghĩa khác.

4. Sử dụng HTML5 như thế nào?

      Bạn có thể test thử trình duyệt web của bạn hỗ trợ HTML5 tốt như thế nào tại địa chỉ: html5test.com/index.html
      Tìm hiểu các tag được sử dụng trong ngôn ngữ HTML5 và học cách sử dụng HTML5 vào lập trình web tại: www.w3schools.com/html5/default.asp
      Ngoài ra, bạn còn có thể tham khảo từ các tài liệu mà dễ dàng tìm được trên mạng. Hiện tại, mình vẫn đang trong quá trình nghiên cứu và tìm kiếm thêm tư liệu, nếu tìm được ebook hay, mình sẽ share cho các bạn sau ^^

No comments: