LỜI TỰA

Ngày nay, có thể nói rằng "những gì chúng ta muốn biết đều có thể tìm thấy trên internet". Thông qua nó, chúng ta không cần phải tốn nhiều không gian nhớ đễ lưu trữ những

kiến thức phục vụ cho công việc hằng ngày của mình. Dựa trên các ebooks online hay các bài viết tutorials sẵn có đã đáp ứng hầu hết công việc chúng ta cần. Và chúng tôi cũng vậy, đọc và

thực hành theo các bước hướng dẫn để đáp ứng nhu cầu công việc của mình.

Vâng, chúng tôi đã làm tốt công việc của mình, nhưng chúng tôi chưa thật sự hiểu rõ bản chất bên trong về những kiến thức mà mình đã đọc được - có chăng chỉ là "tạm chấp nhận" mà thôi. Rồi thời gian trôi qua, những kiến thức quý hay những kinh nghiệm hay ấy đã dần mất đi bởi không có cơ hội để xem lại nó hoặc không có điều kiện lưu trữ nó thật tốt.

Và cuốn sách "Chia sẻ những gì chúng tôi đã học được" ra đời chỉ với 2 mục đích chính:

Một là: cho chúng tôi có điều kiện để hiểu sâu hơn những vấn đề đã trải qua và học cách trình bày những kiến thức mình đã học được qua thầy cô, bạn bè hay qua kinh nghiệm làm việc thực tiễn đến với mọi người.

Hai là: truyền đạt đến các bạn những gì chúng tôi đã trải qua với hy vọng những bài viết này sẽ giúp ích cho các bạn ở một mức độ nhất định.

Ngoài ra, tại cuốn sách này chúng tôi sẽ áp dụng các công nghệ mới về web & browser để nó có thể dễ dàng theo các bạn ở bất kỳ nơi đâu.

Chúng tôi biết, sẽ có nhiều sai sót và vướng mắc xảy ra bởi chúng tôi thật sự chưa có nhiều kinh nghiệm trong công việc có thể tạm gọi là "viết lách" này. Hơn thế nữa, dân Công nghệ Thông tin từ trước đến giờ đã mang tiếng là "khô khan, cứng nhắc" rồi, nên sẽ không có nhiều lời miêu tả hay, lời diễn giải mượt mà,.. để làm cho bạn đọc có được cảm giác thoải mái và hứng thú. Rất mong bạn đọc thông cảm cho chúng tôi!

Chúng tôi rất mong và hoan hỷ nhận được nhiều phản hồi góp ý của bạn đọc, bởi nó là điều kiện tốt nhất để chúng tôi hoàn thiện cuốn sách này và đạt được mục đích số 1 (mục đích khi viết sách này) mà chúng tôi đã đề ra.


Học, học nữa, học mãi...
Cho xanh tuổi thắm đừng phai tuổi hồng.


MVC

Model - View - Controller

Chúng ta đã từng tiếp xúc với khá nhiều chương trình ứng dụng, và hầu hết các ứng dụng đó đều được thiết kế theo mô hình MVC. Bởi vì mô hình này giúp cho người phát triển phần mềm dễ dàng bảo trì và nâng cấp ứng dụng của mình.

Mô hình MVC chia các đối tượng ra làm 3 phân loại riêng biệt: model, controller và view.

Model là bản chất của ứng dụng, nhưng nó không biết làm sao để thể hiện vai trò quyết định của mình.

Controller là chiếc cầu nối để cho vai trò của Model đến với người sử dụng.

View là tay sai của Controller để nhận yêu cầu từ người sử dụng và hiển thị kết quả tương ứng.

Hình vẽ trên là tổng quát các thông tin liên lạc giữa các phân loại. Ở đó, Controller



luôn có thể nói chuyện trực tiếp với Model, và dĩ nhiên Controller cũng có thể trực tiếp điều khiển View. Đặc biệt ở mô hình này là ModelView không bao giờ trực tiếp nói chuyện với nhau.

Vậy thì View có thể nói chuyện được với Controller hay không?

View vẫn giao tiếp được với Controller nhưng chỉ là giao tiếp mờ "blind" và cấu trúc định trước:

Controller sẽ tạo ra các mục tiêu "target" trên chính mình rồi đón chờ các hành động "action" đến từ View. Khi có xảy ra bất kỳ thay đổi trên giao diện người sử dụng thì View sẽ gửi đi các "action" đến Controller.

Có nhiều lúc View cần đồng bộ hóa với Controller để truyền tải dữ liệu đến cho người

sử dụng. Do vậy, Controller tự đặt mình là ủy nhiệm "delegate" của View bởi vì View không bao giờ sở hữu dữ liệu mà nó hiển thị, lúc nào cần thiết nó sẽ lấy thông qua một giao thức "protocol" sẵn có. Chính vì vậy mà Controller luôn được xem như là nguồn dữ liệu "data source" của View chứ không phải là Model. Qua đó ta thấy, Controller còn đóng vai trò định dạng và giải thích thông tin của Model đến cho View.

Model có nói chuyện trực tiếp với Controller hay không?

Không! Model không giao tiếp với Controller, bởi vì nó không phu thuộc vào giao diện người sử dụng.

Tính chất độc lập của Model như vậy, khi Model có các thông tin mới cập nhật hay có sự thay đổi nội tại thì làm sao Controller nhận



biết? Vâng. Lúc đó, Model sẽ quảng bá tín hiệu đến cho các phân loại khác trong hệ thống. Tất nhiên, các phân loại là View sẽ không nhận được các tín hiệu quảng bá của Model gửi đi. Khi nhận được thông tin quảng bá, các Controllers sẽ có các chính sách phù hợp với thông tin thay đổi của Model.

Trong hệ thống lớn có thể có nhiều mô hình MVC hoạt động kết hợp với nhau. Dù thế nào đi chăng nữa thì các mô hình đó phải tuân thủ các nguyên tắc chung đã nêu trên.

  • Mô hình này có thể sử dụng Model của mô hình khác.
  • Controller của mô hình này có thể trao đổi trực tiếp với Controller của mô hình khác.
  • Model của mô hình này có thể trực tiếp hoặc gián tiếp trao đổi với Model của mô hình khác.
  • ViewModel của hai mô hình khác nhau không được trực tiếp hay gián tiếp trao đổi thông tin với nhau.

Chúng ta đều biết rằng, chi phí cho việc bảo trì một ứng dụng là rất lớn, xấp xỉ 70%. Nếu không có một chiến lược thiết kế phù hợp thì việc bảo trì gặp rất nhiều khó khăn. Nhưng không phải tất cả, nếu ứng dụng quá nhỏ mà áp dụng các mô hình lớn, mô hình tiêu chuẩn,... thì sẽ không hiệu quả.

HTML5

phiên bản mới nhất của HTML

Hơn hai thập kỷ trôi qua kể từ khi HTML ra đời, thì hàng loạt các ứng dụng được chuyển hướng sang chạy trên môi trường web. Cùng với sức mạnh truyền thông của Internet thì HTML đã phát huy khả năng ứng dụng lên đến đỉnh điểm.

Quy luật phát triển không dừng lại ở mức gọi là "ăn no mặc ấm" mà phải tiến đến "ăn ngon mặc đẹp". Ngoài việc đáp ứng tốt nhu cầu công việc còn phải thỏa mãn được các nhu cầu sinh hoạt - giải trí của người sử dụng cuối. Chẳn hạn như: xem phim, nghe nhạc, trò chuyện trực tuyến,... Dẫn đến sự ra đời và tiến hóa của HTML5 - phiên bản mới nhất của HTML hay theo nhiều ý kiến cho rằng chấm dứt sự thịnh vượng của Flash.



HTML5 được biết đến như là một tập hợp các khả năng cung cấp cho các nhà thiết kế và phát triển website. Nhằm tạo ra các thế hệ tiếp theo của các ứng dụng trực tuyến lớn trước đó. Ví dụ thẻ <video> để chơi video trên web. Trước đó, người sử dụng Internet phải cài đặt thêm phần mềm bổ sung gọi là Plug-in để xem video bên trong trình duyệt của họ. Bây giờ, với sự ra đời của thẻ <video> trong HTML5 đã cho phép nhúng và chơi các video bên trong trang web một cách dễ dàng mà không cần đến phần mềm bổ sung.

Ngoài ra, HTML5 còn cung cấp khả năng offline - cho phép người dùng tương tác với các ứng dụng web ngay cả khi họ không kết nối với Internet;

Cũng như các tính năng kéo-và-thả. Ví dụ như trong Gmail, cho phép người dùng dễ dàng kéo và thả tập tin đính kèm "attach a file" vào

email, bằng cách kéo tập tin từ máy tính của mình vào cửa sổ của trình duyệt.

HTML5 đã hiện hữu được một số khía cạnh tốt nhất của trang web:

  • nó hoạt động khắp nơi,
  • và trên bất kỳ thiết bị nào với một trình duyệt hiện đại.

Nếu bạn muốn xem các chương trình truyền với với tương thích HD thì bạn phải trả cước phí sử dụng. Trong đó, một số website với các chương trình phát sóng tương thích HD cũng đã tích hợp các tính năng của HTML5. Thêm vào nữa là trình duyệt hiện đại để hỗ trợ HTML5 là được tải về sử dụng miễn phí.

Thật may mắn!

LỜI KẾT

Cảm ơn bạn đã đọc các bài viết của chúng tôi! Nếu cảm thấy hữu ích thì đừng quên chia sẻ quyển sách trực tuyến này với bạn bè và người thân của bạn.