Ngày đăng: 29/05/2017  

ASP.NET WebForms - Mô hình lập trình rất hiện đại dần bị lãng quên

WebForms là mô hình lập trình rất hiện đại, đơn giản, rõ ràng, linh động, hoạt động độc lập, không còn trộn code… Là một trong những công nghệ độc đáo của Microsoft dưới thời Bill Gates, nhưng gần đây nó dần bị lãng quên thật đáng tiếc.

Do đâu mà nó dần bị lãng quên?

Nói chung công nghệ nào cũng có điểm mạnh và yếu, WebForms cũng không ngoại lệ. WebForms dựng sẵn (built-in) cho người lập trình rất nhiều thứ (như: Master Page, Server Controls, ViewState, PostBack…), nhưng những cái này quá cứng nhắc, thiếu linh động, tự động phát sinh mã lung tung khó kiểm soát, không áp dụng được thực tế... nên đã làm nản lòng nhiều developer. Đây là cũng là điểm mà nhiều công nghệ khác muốn "dìm hàng" xoáy vào và cũng là điểm mà nhiều mạng xã hội tranh cãi nảy lửa. Ngay từ đầu bước vào WebForms cách đây hơn 10 năm, mình đã sớm nhận ra điểm yếu này và loại bỏ không sử dụng nó ngay từ đầu. Và nếu theo mô hình WebForms thì không cần sử dụng và quan tâm đến mấy cái đó.

Cái điểm yếu và cũng là điểm mạnh thứ hai là: WebForms là mô hình lập trình mở (không ràng buộc, để developer tự do sáng tạo, có thể dùng WebForms để làm theo bất cứ mô hình nào khác). Nên nó gây khó cho những developer mới vào nghề (newbie), nhưng lại là điểm mạnh cho developer có kinh nghiệm (senior) tự do sáng tạo. Còn các mô hình khác thì đưa developer vào một cái khuôn, nên có sự đồng đều giữa newbie và senior. Và đây trở thành đề tài tranh luận không có hồi kết trên các mạng xã hội.

Vậy đâu là cái hiện đại, chuyên nghiệp và đáng giá trong WebForms?

1./ WebForms được sự hỗ trợ của bộ thư viện ASP.NET.Net Framework cực kỳ mạnh mẽ là điều được mọi người công nhận.

2./ WebForms hỗ trợ Custom Control (User Control) cực kỳ mạnh mẽ, đây được xem như ánh sáng cuối đường hầm cho mô hình này.

Không giống như Custom Control của nhiều mô hình lập trình hay ngôn ngữ lập trình khác. WebForms Custom Control hỗ trợ 2 cách gọi tĩnh và động với nhiều loại tham số (từ base types đến các template) giúp nó rất linh động, có khả năng tuỳ biến cao và hoạt động độc lập. Chúng ta chủ động mã HTML chứ không còn chuyện tự động phát sinh mã HTML lộn xộn và khó kiểm soát như các built-in Server Controls.

Chúng ta có thể dùng cách gọi tĩnh để dùng Custom Control như một "Layout" hay "View" rất rõ ràng và chuyên nghiệp như ví dụ sau:

layout-view-khala


news-view-khala


Với các tham số default templatecustom template rất linh động và đầy đủ tính năng (xem danh sách, xem chi tiết, thêm, sửa, xoá, duyệt, copy, tìm kiếm, in ấn…) một cách tự động và chủ động mà không cần code gì thêm.

Như vậy, chúng ta chỉ cần làm duy nhất 1 control với không quá 300 dòng code là có thể xây dựng được 1 web tin tức nhanh chóng và chuyên nghiệp, đặt ở đâu cũng chạy, ở dự án nào cũng được, không cần phải sửa code hay rebuild, khả năng phát sinh lỗi cũng rất thấp nên giảm công test rất nhiều và rất dễ nâng cấp bảo trì…

Cũng tương tự như trên, chỉ cần 3 control là hoàn thành trên 30% tất cả các dự án, từ web tin tức, web thương mại điện tử hay web quản lý ERP.

WebForms còn cung cấp 2 lệnh gọi động LoadControlLoadTemplate giúp ta điều khiển rất linh hoạt. Tuỳ theo mỗi Context ta có thể chủ động load Layout nào, View nào cho phù hợp với từng Context chứ không cần đến coder khai báo.

3./ WebForms là mô hình lập trình không trộn code, đây là điểm khác biệt và mạnh nhất của mô hình này. Các mã nguồn HTML, C#, CSS, Javascript, SQL… hoàn toàn độc lập và nằm trên các file khác nhau nên rất rõ ràng, ít phát sinh lỗi, dễ tái sử dụng và dễ nâng cấp bảo trì.

Chính điều này giúp chúng ta dễ dàng phát triển độc lập các loại mã nguồn trên một cách chuyên nghiệp (tức là khi xây dựng hay nâng cấp C# không ảnh hưởng đến database và ngược lại, designer có thể thiết kế databse tuỳ ý mà không ảnh hưởng đến coder, cũng như việc thay đổi mã HTML cũng không ảnh hưởng đến các mã khác).

4./ WebForms là mô hình tự chủ nên rất linh động. Không giống các mô hình lập trình khác theo cơ chế Bao cấp (cấp phát) hay Xin cho rất cứng nhắc. Mô hình WebForms hoàn toàn tự chủ về tài nguyên và hoạt động nên rất linh động nhưng không mất kiểm soát.

5./ Tốc độ xử lý nhanh, ít sử dụng tài nguyên, bảo mật cao và url thân thiện. Thực chất, mấy cái này phụ thuộc vào developer đến 99%, chứ không phải là công nghệ. Ở WebForms cũng có thể xây dựng web rất nhanh (response time < 10ms), sử dụng tài nguyên rất thấp (RAM < 30MB, CPU < 5%, HDD < 30MB…), độ bảo mật cao và url rất thân thiện và linh động như các mô hình khác. Nút thắt cổ chai là DB chứ thời gian render của code rất thấp (< 2ms), nên không đáng để bàn đến như nhiều mạng xã hội tranh luận.

Nói chung, mỗi công nghệ, mỗi mô hình đều có điểm yếu và mạnh riêng. Chúng ta đừng nên "dìm hàng" và đừng vội đánh giá khi chỉ mới nắm lý thuyết, giữa lý thuyết với thực tế có một khoảng cách rất xa.


Tác giả: Lê Văn Khánh
Nguồn:Tài liệu chia sẻ kinh nghiệm Công ty Tin học KhaLa





Những bài liên quan
ASP.NET WebForms Template - Công nghệ lập trình đỉnh cao

Khi nói đến Web Forms, rất nhiều người nghĩ rằng nó có viewstate, drivenevents khó kiểm soát. Nhưng có lẽ ít người biết đến Web Forms hỗ trợ công nghệ lập trình Template rất hiện đại, rất đơn giản và rất linh động mà không dùng tới viewstate, drivenevents.

9 hệ điều hành dần bị lãng quên

Dưới đây là 9 hệ điều hành đã hoàn toàn biến mất hoặc còn rất ít người sử dụng, trong đó có một vài cái tên đã từng rất nổi tiếng.

ASP.NET WebForms - The very modern design pattern model is gradually oblivion

WebForms is a very modern, simple, clear, flexible, decouple design pattern model. It was one of Microsoft's wonderful technologies, but unluckily it has been gradually oblivion recently.

ASP.NET WebForms Template - High development technology

In term of WebForms, many people thought that it has ViewState, DrivenEvents so it is difficult to control, whereas other few people recognized that Web Forms supports template programming technology. It is very simple, modern and flexible technology. We even do not need use ViewState, DrivenEvent

Haswell hướng tới điện toán di động

Chip xử lí mới của Intel với kiến trúc SoC sẽ giúp giải quyết bài toán hiệu năng và tiết kiệm điện của các thiết bị tính toán cá nhân trong xu hướng di động hiện nay.

Hỗ trợ trực tuyến



Liên hệ

Công ty Tin học KhaLa

61A Đường số 8, P.Linh Trung, Q. Thủ Đức, TP.HCM

https://khala.com.vn

Copyright © 2014-2020 KhaLa. All rights reserved.

Developed by KhaLa

Chúng tôi trên các kênh