HTML5: Tương lai của Internet

HTML5

HTML5 là một ngôn ngữ cho việc xây dựng cấu trúc và thể hiện nội dung trên web, một công nghệ cốt lõi của Internet. Nó là phiên bản mới nhất của chuẩn HTML và hiện tại vẫn còn đang trong giai đoán phát triển. Sự cốt lõi của nó hướng tới sự cải tiến về mặt ngôn ngữ trong việc hỗ trợ các đa phương tiện mới nhất trong khi vẫn giữ cho con người có thể đọc nội dung một cách dễ dàng và các máy tính hay thiết bị có thể xử lý một cách thống nhất.

OFFLINE và STORAGE: Làm việc OFFLINE và lưu trữ

“Web” và “Online” là hai khái niệm luôn song hành với nhau. Vậy tại sao chúng ta lại nói tới các công nghệ web “Offline”, và khái niệm này nghĩa là gì?

HTML5 và các đặc tả liên quan giới thiệu số các tính năng để làm cho các ứng dụng web chế độ ngoại tuyến thực sự. Đó là các tính năng:

  • Bộ đệm ứng dụng (application cache)
  • Lưu trữ cục bộ (localStorage)
  • Cơ sở dữ liệu được đánh chỉ số (IndexedDB) và cơ sở dữ liệu SQL Web (Web SQL Database) hay đơn giản là SQL Storage
  • online/offline events: các sự kiện để xác định trạng thái online/offline của người dùng

Các tính năng này có thể được sử dụng để nâng cao hiệu năng của ứng dụng web bằng cách lưu trữ dữ liệu vào bộ đệm (cache) hoặc làm do dữ liệu luôn luôn được duy trì ổn định giữa các phiên làm việc của người dùng và khi thực hiện tải lại hay khôi phục lại các trang web.

Theo suy nghĩ thông thường, khi một lập trình viên nghĩ tới việc lưu trữ bất cứ thứ gì liên quan đến người dùng, họ sẽ ngay lập tức tính đến chuyện tải lên máy chủ. HTML5 thay đổi cách suy nghĩ đó, các công nghệ giờ đây đã cho phép ứng dụng lưu trữ dữ liệu xuống các thiết bị client. Và các dữ liệu này có thể được đồng bộ lên máy chủ, hoặc mãi mãi ở phía client: điều đó phụ thuộc vào quyết định của các lập trình viên.

Có rất nhiều lý dó để sử dụng bộ lưu trữ phía client.

  • Đầu tiên, bạn có thể làm cho ứng dụng của mình hoạt động ngay cả khi người dùng offline, có khả năng đồng bộ dự liệu trở lại ngay khi có kết nối mạng.
  • Thứ hai, nó thúc đẩy hiệu năng; bạn có thể hiển thị một lượng lớn dữ liệu ngay khi người dùng click trên site, thay vì phải chờ đợi cho trang web tải lại dữ liệu.
  • Thứ ba, đó là một mô hình lập trình dễ dàng hơn, mà không đòi hỏi hạ tầng máy chủ.

Dĩ nhiên, dữ liệu sẽ dễ bị hư hỏng hơn và người dùng không thể truy cập nó từ nhiều thiết bị clients khác nhau, do đó bạn chỉ nên sử dụng kỹ thuật này cho các dữ liệu không quan trọng,

CONNECTIVITY & REALTIME: Khả năng kết nối và thời gian thực

Khả năng kết nối hiệu quả nghĩa là chat thời gian thực hơn, các trò chơi nhanh hơn, và truyền thông tốt hơn. Web Sockets và các sự kiện Server-Sent (Đó là khả năng các trang web tự cập nhật phiên bản khi trên server có phiên bản mới hay các trang mạng xã hội tự cập nhật các bản tin xuống phía client) cho phép đẩy dữ liệu từ server tới client hiệu quả hơn bao giờ hết.

DEVICE ACCESS: Truy cập thiết bị

Bắt đầu với API Geolocation cho định vị, các ứng dụng web giờ đây có khả năng thể hiện đa dạng và mạnh mẽ, nhận biết được các khả năng của thiết bị. HTML5 có thể truy cập tới microphones và camera của thiết bị để thể xử lý âm thanh hay hình ảnh, cũng như việc truy cập tới dữ liệu cục bộ của thiết bị như sổ liên lạc hay lịch làm việc và khả năng nhận biết ngay cả vị trí nghiêng của thiết bị…

SEMANTIC: Có ngữ nghĩa

Bằng việc đưa ra một cấu trúc trang web có ý nghĩa, semantics (có ngữ nghĩa) là tiền đề và trung tâm của HTML5. Một bộ các thẻ, đi kèm với RDFa, microdata, và microformats…đang tạo ra một cấu trúc dữ liệu web hữu ích hơn cho cả các chương trình máy tính và người sử dụng.

Web là văn bản và văn bản có một ý nghĩa. Các web sites và các ứng dụng web đã được tạo ra trong một hệ sinh thái nơi các nội dung văn bản có khả năng liên kết với nhau, có khả năng tìm kiếm…Trong xu thế web mở hiện nay, các nội dung có thể được hiển thị hoặc xào nấu bởi bên thứ ba, các search engine và các công cụ truy cập. Tất cả các ưu điểm này không đến một cách miễn phí. Các công cụ tự động chỉ có thể thực hiện một nửa công việc bằng việc nhận ra các nội dung tự nhiên. Do đó các lập trình viên cần xây dựng một nội dung với ngữ nghĩa đúng đắn để các agents (tác nhân) có thể xử lý dữ liệu một cách dễ dàng hơn. HTML5 cung cấp một tập các thành phần cho việc xây dựng cấu trúc trang web giàu ngữ nghĩa hơn bao gồm:

  • Các phần tử dành cho đa phương tiện (media elements)
  • Các phần tử để đánh cấu trúc (structural elements)
  • Các kiểu quan hệ liên kết (link relation types)
  • Các thuộc tính mới
  • Các kiểu form mới
  • Cú pháp microdata

MULTIMEDIA: Đa phương tiện

HTML5 cho phép chạy các file âm thanh và hình ảnh (video) mà không cần tới bất kỳ một plug-in nào đối với trình duyệt. Thông qua các API mới, bạn có thể truy cập, điều khiển và thao tác sâu tới các file âm thanh và hình ảnh cũng như trạng thái mạng.

3D, GRAPHICS & EFFECTS: 3 chiều, đồ hoạ và các hiệu ứng

Cho tới hiện tại, các lập trình viên HTML bị giới hạn trong việc tạo ra các hoạt hoạ (animations) hoặc các hiệu ứng trực quan trên trang web, thông qua CSS và JavaScript hoặc phải dựa vào plugin như Flash hay Silverlight.

Với các công nghệ mới như các phần tử canvas, Web GL,và ảnh SVG, HTML5 sẽ dần xoá bỏ những giới hạn đó.

CSS3 & STYLING: CSS3 và định kiểu

Việc tạo các sites đẹp và bắt mắt trong HTML chưa bao giờ dễ dàng hơn, khi chưa có sự xuất hiện CSS3. Khi CSS3 được giới thiệu, có rất nhiều công nghệ và sự mở rộng trong CSS3 bao gồm: 2D Transformations, Transitions, 3D Transforms và các WebFonts. Bạn có thể tạo ra một trải nghiệm người dùng phong phú với rất ít các dòng code, chỉ áp dụng một vài CSS cho các ứng dụng hiện có.

PERFORMANCE & INTEGRATION: Hiệu năng và tích hợp

HTML5 cho phép các ứng dụng web được thực thi nhanh hơn, các nội dung web được tải tốt hơn, thông qua các kỹ thuật và công nghệ mới như Web Workers và XMLHttpRequest2. Người dùng sẽ không phải chờ đợi mỗi khi tải trang/ứng dụng web nữa.

MỘT SỐ THÔNG TIN LIÊN QUAN HTML5

  • Các trình duyệt hỗ trợ HTML5: IE9+, FF4+, Safari5+, Opera11+, Chrome10+, Blackberry Browser, Amazon Silk.
  • Các nền tảng hỗ trợ HTML5: iOS, Android, ChromeOS, BlackberryOS, Symbian, Windows Phone 7.5+
  • Các thư viện hỗ trợ HTML5: Webkit (Google, Apple, etc.), Gecko (Mozilla), Trident (Microsoft), Presto (Opera)
  • Các ứng dụng mobie cho Facebook được phát triển dựa trên HTML5 (cùng với native apps)
  • Amazon Kindle Cloud Reader dựa trên HTML5

Tham khảo:

http://www.w3.org/html/logo

http://www.html5rocks.com

http://www.w3.org/2012/Talks/1120-owp-plh/#(1)