Tuesday, May 01, 2007

Giới thiệu về WebParts và Content Placeholder (ASP.NET 2.0)

Bài này không chỉ nhiều về những webcontrol đó, nhưng nó giúp ta hiểu khái niệm 2 control đó để làm gì và sử dụng khi nào:

1/ Content Placeholder:

Khi lập trình website, có rất nhiều thành phần có thể tái sử dụng lại nhưng lại khó làm hơn winform nhiều. Lấy ví dụ như menu, navigation, header, bottom, vv... Mấy em làm winform thì nói : "xì, dễ òm, dùng custom controls rồi muốn thả đâu thì thả". Còn dân web thì hoặc là không muốn đụng tới custom control, hoặc là programming language của họ ko hỗ trợ custom controls. Nhưng dân art designer thì lại quá quen thuộc với với chuyện này. Do đó tụi designer đẻ ra khái niệm PlaceHolder image. (Để cái image trống không sẵn ở đó, sau này sẽ gắn cách hình thực sự vào. Để đó trước đặng lúc design layout cho dễ nhìn).

Để dung hòa cả 2 phe, Microsoft xài luôn từ Content PlaceHolder. Có nghĩa là chỉ cần design layout trong một trang .master, còn những phần nào có nội dung thay đổi từ trang này qua trang khác thì cho vào trong cái Content Placeholder.

Về mặt architect, Content PlaceHolder thực chất là 1 blank server control, ko có gì đặc biệt. Tuy nhiên có 1 điểm cực kỳ thú vị là Microsoft đã phát triển từ ý tưởng đơn giản này thành 1 ý tưởng cực hay trong Atlas. Đó là chỉ cần quăng vào trong cái Content Template thì sẽ biến mọi thứ bên trong thành Ajax. Phải công nhận là đây là 1 ý tưởng tuyệt vời, dùng 1 khái niệm đơn giảm để đẻ ra 1 khái niệm tưởng chừng không tưởng.

2/ Web Parts:

Cái này mang nặng tính marketing scheme của Microsoft. Trong lập trình thì ta đã có khái niệm components từ thời nảo thời nào rồi. Ý tưởng là xây dựng những phần riêng rẽ, độc lập để có thể tái sử dụng trong nhiều project khác nhau.

Lấy ví dụ như Security, đa số các web site cần quản lý user, nhưng mỗi khi viết 1 website mới lại phải viết lại từ đầu rất phiền. Do đó Microsoft viết hộ bạn phần security. Bạn chỉ viết kéo thả vào trong website của bạn là xong.

Webpart cũng thế. Webparts là 1 framework hy vọng giúp cho bạn develope những component có thể tái sử dụng lại một cách dễ dàng. Một trong những ứng dụng của web parts mà Microsoft làm giùm bạn là viết những phần cơ bản của 1 portal site.

Tuy nhiên, phải "nói xấu" Micsofot 1 tí xíu là cái tên web-parts rất phù hợp. Những phần Microsoft làm giùm chỉ là những "part" rời rạc, và... hơi bị phiền. Nhưng chê thì phải có khen, design reusable components hòan tòan ko dễ chút xíu nào cả. Bản thân mình nếu cần những tính năng như webpart hỗ trợ sẽ ngay lập tức nhào vào viết mới từ đầu cho phẻ, nhưng nếu design "parts" có khả năng flexible và scalable thì mình chắc chẳng xịn hơn Microsoft được.

(bienca101)

No comments: