Count numbers:
Start Worker Stop Worker Đặng Đức Tuyển – Lớp CT1301 54 Đồ án tốt nghiệp Trường ĐHDL Hải Phòng var w; function startWorker() { if(typeof(Worker)!=="undefined") { if(typeof(w)=="undefined") { w=new Worker("demo_workers.js"); } w.onmessage = function (event) { document.getElementById("result").innerHTML=event.data; }; } else { document.getElementById("result").innerHTML="Trình duyệt không hỗ trợ Web Worker."; } } function stopWorker() { w.terminate(); } Giao diện Hình 2.29: Hình 2.29 Ví dụ sử dụng Web Worker 2.3.11 Storage APIs Web Storage gì? Với HTML5, trang web lưu trữ liệu máy khách trình duyệt người dùng Trước đây, điều thực với cookies Tuy nhiên với Web Storage an toàn nhanh nhiều Đặng Đức Tuyển – Lớp CT1301 55 Đồ án tốt nghiệp Trường ĐHDL Hải Phòng Sự xuất Web Storage điểm nhấn cho việc đời ứng dụng web có khả tương tác nạp liệu tức trình duyệt Một hiệu dung lượng truyền tải qua mạng giảm thiểu đáng kể Với ứng dụng web có sở liệu nhỏ gọn, lập trình viên thực việc cache “âm thầm” sở liệu xuống client sau người dùng thoải mái tra cứu mà không cần request đến server Dữ liệu lưu trữ cặp key/value, trang web truy cập vào liệu lưu trữ localStorage and sessionStorage Có hai đối tượng cho lưu trữ liệu máy client: localStorage – lưu trữ liệu không giới hạn thời gian sessionStorage – lưu trữ liệu cho phiên làm việc session Trước sử dụng web storage, ta phải kiểm tra trình duyệt có hỗ trợ localStorage sesionStorage: if(typeof(Storage)!=="undefined") { // localStorage and sessionStorage hỗ trợ! // Code } else { // Trình duyệt không hỗ trợ } Đối tượng localStorage Đối tượng localStorage lưu trữ liệu không giới hạn thời gian, liệu khơng bị xóa trình duyệt đóng Ví dụ: localStorage.school="HPU"; document.getElementById("result").innerHTML="School: " + localStorage.school; Giải thích: Tạo cặp key/value với key=”school” value=”HPU” Nhận giá trị khoa “school” chèn vào thành phần có id=”result” Đặng Đức Tuyển – Lớp CT1301 56 Đồ án tốt nghiệp Trường ĐHDL Hải Phòng Đối tượng sessionStorage Đối tượng sessionStorage sử dụng tương đương với localStorage khác điều liệu lưu trữ cho phiên làm việc Dữ liệu người dùng đóng trình duyệt Ví dụ: Đếm số lần người dùng kích chuột vào nút, phiên làm việc tại: if (sessionStorage.clickcount) { sessionStorage.clickcount=Number(sessionStorage.clickcount)+1 ; } else { sessionStorage.clickcount=1; } document.getElementById("result").innerHTML="Bạn kích " + sessionStorage.clickcount + " lần phiên làm việc này."; 2.3.12 Tạo Offline Web Applications Với HTML5 thật dễ dàng tạo ứng dụng web offline mà không cần đến kết nối internet Application Cache có lợi sau: Duyệt web offline – người dùng sử dụng ứng dụng mà không cần đến kết nối mạng internet Tốc độ - cache có tốc độ nhanh Giảm tải cho server - Trình duyệt cần tải cập nhật từ server HTML5 Cache Manifest Ví dụ: Ví dụ sau tài liệu HTML với cache manifest (cho duyệt web offline): The content of the document Cơ Cache Manifest Để kích hoạt application cache, ta chèn thuộc tính manifest vào thẻ : Đặng Đức Tuyển – Lớp CT1301 57 Đồ án tốt nghiệp Trường ĐHDL Hải Phòng Nếu trang có thuộc tính manifest lưu lại nhớ cache người dùng truy cập đến Nếu trang web khơng thiết lập thuộc tính manifest khơng lưu cache trừ file manifest có dịng lệnh thiết lập trực tiếp cho Phần mở rộng file manifest là: “.appcache” Để sử dụng file manifest cần phải thiết lập máy chủ kiểu MIME-type “text/cache-manifest” Manifest File File manifest file văn đơn giản, nói cho trình duyệt biết phải cache khơng cache File manifest có phần: CACHE MANIFEST – Danh sách file cache sau lần truy cập NETWORK – Danh sách file bắt buộc phải có kết nối internet khơng lưu cache FALLBACK – Liệt kê danh sách trang dự phịng trang khơng thể truy cập Bảng 2.11 Mô tả cấu trúc file manifest Phần Khai báo CACHE MANIFEST CACHE MANIFEST /theme.css /logo.gif /main.js … NETWORK login.php … NETWORK Đặng Đức Tuyển – Lớp CT1301 Mơ tả - Dịng bắt buộc khai báo từ khóa:“CACHE MANIFEST” -Những dịng bên trái có quy định file css, js, gif tải máy từ website - Những phần sau dòng NETWORK u cầu phải có kết nối internet, ví dụ file login.php không lưu cache không làm việc offline 58 Đồ án tốt nghiệp FALLBACK Trường ĐHDL Hải Phòng NETWORK * -Dấu (*) yêu cầu tất file phải có kết nối internet FALLBACK /html/ /offline.html - Xác định file “offline.html” dùng trường hợp khơng có kết nối internet Cập nhật Cache Một ứng dụng cache cache xảy điều sau: Người dùng xóa cache trình duyệt File manifest chỉnh sửa Bộ nhớ cache ứng dụng cập nhật theo chương trình Ví dụ:Một file cache manifest: CACHE MANIFEST # 2012-02-21 v1.0.0 /theme.css /logo.gif /main.js NETWORK: login.asp FALLBACK: /html/ /offline.html Dòng bắt đầu với ký tự “#” dịng thích Một ứng dụng cache cập nhật file manifest bị thay đổi Nếu bạn sửa hình ành hàm JS, thay đổi khơng bị ảnh hưởng đến cache Cập nhật ngày, phiên vào dòng ghi cách để trình duyệt cache trang web Ghi Bạn phải cẩn thận với bạn cache Một file bị cache trình duyệt tiếp tục hiển thị phiên cache trước đó, cho dù bạn thay đổi file máy chủ máy trạm cache cũ Do đó, mốn cache cập nhật bạn phải thay đổi file manifest Lưu ý: Trình duyệt có giới hạn dung lượng cache khác (một vài trình duyệt giới hạn dung lượng cache 5MB cho website) Đặng Đức Tuyển – Lớp CT1301 59 Đồ án tốt nghiệp Trường ĐHDL Hải Phòng CHƢƠNG 3: XÂY DựNG ứNG DụNG 3.1 Giới thiệu ứng dụng Từ công nghệ hấp dẫn HTML5 trình bày trên, em tạo ứng dụng sau: Website chia sẻ video : Website cho phép người dùng tải lên video họ chia sẻ với người khác qua đường link video tải lên Xác định vị trí: Ứng dụng giúp xác định vị trí người dùng Những ứng dụng xây dựng sử dụng thành phần sau HTML5: Thành phần sử dụng để phát clip website Tính drag-and-drop HTML5 dùng để kéo-thả file upload XMLHttpRequestmức dùng để tải file video lên máy chủ Các thuộc tính form, ứng dụng form nhập thông tin video upload Tính Geolocation để xác định vị trí 3.2 Yêu cầu phần cứng Ứng dụng Website chia sẻ video cần máy chủ có dung lượng ổ cứng lớn để lưu trữ liệu video người dùng tải lên đường truyền tốt giúp người dùng upload download video nhanh 3.3 Yêu cầu phần mềm Hệ điều hành: Windows / Linux Máy chủ web: Apache Ngôn ngữ xây dựng: HTML5, PHP, JavaScript, CSS Hệ quản trị sở liệu: MySQL 3.4Một số giao diện Sau số giao diện ứng dụng Đặng Đức Tuyển – Lớp CT1301 60 Đồ án tốt nghiệp Trường ĐHDL Hải Phòng 3.4.1 Website chia sẻ videovà Xác định vị trí Giao diện xem video (Hình 3.1) sử dụng thành phần HTML5 Hình 3.1 Giao diện trang xem video Đặng Đức Tuyển – Lớp CT1301 61 Đồ án tốt nghiệp Trường ĐHDL Hải Phịng Giao diện trang upload (Hình 3.2) sử dụng tính drag-and-drop, XMLHttpRequest mức thuộc tính form HTML5 Hình 3.2 Giao diện trang upload Giao diện ứng dụng Xác định vị trí (Hình 3.3) sử dụng tính Geolocation HTML5 API Google Maps Script để hiển thị vị trí người dùng Hình 3.3 Giao diện ứng dụng Xác định vị trí Đặng Đức Tuyển – Lớp CT1301 62 Đồ án tốt nghiệp Trường ĐHDL Hải Phòng 3.4.2 Một số ứng dụng khác HTML5 đánh cao trình diễn đồ họa 2D 3D trình duyệt, sau số ứng dụng khác em sưu tầm từ nhiều nguồn khác mà thể rõ khả HTML5 Ứng dụng vẽ biểu đồ 3D TeeChart (Hình 3.4) Steema Software, sử dụng thành phần WebGL Hình 3.4 Ứng dụng vẽ đồ thị 3D TeeChart Trị chơi đua phi thuyền HexGL (Hình 3.5) Thibaut Despoulain sử dụng , WebGL với thư viện three.js Hình 3.5 Trị chơi đua phi thuyền HexGL Đặng Đức Tuyển – Lớp CT1301 63 Đồ án tốt nghiệp Trường ĐHDL Hải Phịng KếT LUậN Qua q trình thực đồ án tốt nghiệp với đề tài “Xây dựng ứng dụng Web với HTML 5.0” em thấy đạt số kết địnhvà thu số kết sau: Nắm kiến thức Web HTML Bên cạnh cơng nghệ HTML5 với CSS, JavaScript Rút số kinh nghiệm học cách làm việc khoa học, chủ động nghiên cứu cơng nghệ Có thể áp dụng kiến thức học vào thực tiễn, đồng thời thu thập nhiều kiến thức khác từ trình làm đồ án Vận dụng kiến thức học vào việc nghiên cứu áp dụng cho vấn đề gặp phải trình làm việc cách hiệu Thử nghiệm ngơn ngữ PHP để tạo ứng dụng minh họa cho đề tài Đối vớiHTML5 cơng nghệ mà mang đến, chưa hoàn chỉnh trở thành chuẩn cho giới web tương lai Giờ đây, số cơng nghệ giúp ta cần trình duyệt hỗ trợ HTML5 làm điều mà khơng cần plugin hãng thứ ba (như Flash, Silverlight, ) Đặng Đức Tuyển – Lớp CT1301 64 Đồ án tốt nghiệp Trường ĐHDL Hải Phòng TÀI LIệU THAM KHảO [1] Flanagan, David.JavaScript: The Definitive Guide, 6th Edition s.l : O'Reilly Media, 2011 p 1100 [2] Hogan, Brian P.HTML5 and CSS3: Develop with Tomorrow's Standards Today s.l : Pragmatic Bookshelf, 2011 p 280 978-1934356685 [3] Lubbers, Peter, Salim, Frank and Albers, Brian.Pro HTML5 Programming, 2nd Edition s.l : Apress, 2011 p 352 978-1430238645 [4] Lawson, Bruce; Sharp, Remy.Introducing HTML5 (2nd Edition) s.l : New Riders, 2011 p 312 978-0321784421 [5] W3Schools [Online] http://www.w3schools.com/html [6] IBM developerWorks [Online] http://www.ibm.com/developerworks/vn/library/wa-html5fundamentals/ [7] Wikipedia - Web 2.0 [Online] http://en.wikipedia.org/wiki/Web_2.0 [8] Wikipedia - HTML5 [Online] http://en.wikipedia.org/wiki/HTML5 Đặng Đức Tuyển – Lớp CT1301 65