Giới thiệu về ASP.NET

Trong nhiều năm qua, ASP đã được cho rằng đó thực sự là một lựa chọn hàng đầu cho web developers trong việc xây dựng những web sites trên nền máy chủ web Windows bởi nó vừa linh hoạt mà lại đầy sức mạnh. Đầu năm 2002, Microsoft đã cho ra đời một công nghệ mới đó chính là ASP.NET. Đây thực sự là một bước nhảy vượt bậc của ASP cả về phương diện tinh tế lẫn hiệu quả cho các developers. Nó tiếp tục cung cấp khả năng linh động về mặt hỗ trợ ngôn ngữ, nhưng hơn hẳn về mặt lĩnh vực ngôn ngữ script vốn đã trở nên hoàn thiện và trở thành ngôn ngữ cơ bản của các developers. Việc phát triển trong ASP.NET không chỉ yêu cầu hiểu biết về HTML và thiết kế web mà còn khả năng nắm bắt những khái niệm của lập trình và phát triển hướng đối tượng.

Lần lượt, chúng ta sẽ tìm hiểu về ASP.NET, về cách cài đăt các phần mềm, tạo web server… cũng như cách thức thiết kế một trang ASP.NET. Tuy nhiên, trước tiên chung ta sẽ đinh nghĩa xem ASP thật sự là gì.

ASP.NET là một kỹ thuật phía server (server-side) dành cho việc thiết kế các ứng dụng web trên môi trường .NET.

ASP.NET là một kỹ thuật server-side. Hầu hết những web designers bắt đầu sự nghiệp của họ bằng việc học các kỷ thuật client-side như HTML, JavaScriptCascading Style Sheets (CSS). Khi một trình duyệt web yêu cầu một trang web được tạo ra bởi các kỷ thuật client-side, web server đơn giản lấy các files mà được yêu cầu và gửi chúng xuống. Phía client chịu trách nhiệm hoàn toàn trong việc đọc các định dạng trong các files này và biên dịch chúng và xuất ra màn hình.

Với kỹ thuật server-side như ASP.NET thì hoàn toàn khác, thay vì việc biên dịch từ phía client, các đoạn mã server-side sẽ được biên dịch bởi web server. Trong trường hợp này, các đoạn mã sẽ được đọc bởi server và dùng để phát sinh ra HTML, JavaScriptCSS để gửi cho trình duyệt. Chính vì việc xử lý mã xảy ra trên server nên nó được gọi là kỹ thuật server-side.

fig11.jpg

ASP là một kỹ thuật dành cho việc phát triển các ứng dụng web. Một ứng dụng web đơn giản chỉ các trang web động. Các ứng dụng thường được lưu trữ thông tin trong database và cho phép khách truy cập có thể truy xuất và thay đổi thông tin. Nhiều kỹ thuật và ngôn ngữ lập trình khác cũng đã được phát triển để tạo ra các ứng dụng web như PHP, JSP, Ruby on Rails, CGI và ColdFusion. Tuy nhiên thay vì trói buộc bạn vào một ngôn ngữ và một công nghệ nhất định, ASP.NET cho phép bạn viết ứng dụng web bằng các loại ngôn ngữ lập trình quen thuộc khác nhau.

ASP.NET sử dụng .NET Framework, .NET Framework là sự tổng hợp tất các các kỷ thuật cần thiết cho việc xây dựng một ứng dụng nền desktop, ứng dụng web, web services…. thành một gói duy nhất nhằm tạo ra cho chúng khả năng giao tiếp với hơn 40 ngôn ngữ lập trình.

Thậm chí với những sự lý giải kỹ càng như vậy, bạn vẫn ngạc nhiên tự hỏi điều gì làm nên một ASP.NET tốt như vậy. Sự thật là có rất nhiều kỹ thuật server-side với điểm mạnh và điểm yếu riêng nhưng ASP.NET có những tính năng gần như là duy nhất.

  • ASP cho phép bạn sử dụng ngôn ngữ lập trình mà bạn ưa thích hoặc gần gủi với chúng. Hiện tại, thì .NET Framework hỗ trợ trên 40 ngôn ngữ lập trình khác nhau mà đa phần đều có thể được sử dụng để xây dựng nên những web sites ASP.NET. Chẳng hạn như C# (C sharp) và Visual Basic.
  • Nhưng trang ASP.NET được Compiled chứ không phải là Interpreted. Khác với các trang ASP được Interpreted, điều này có nghĩa là mỗi lần người dùng yêu cầu một trang, máy chủ sẽ đọc các đoạn mã vào bộ nhớ, xử lý cách thức thực thi các đoạn mã và thực thi chúng. Đối với ASP.NET, máy chủ chỉ càn xử lý cách thức thực thi một lần duy nhất. Đoạn mã sẽ được Compiled thành các files mã nhị phân cái mà được thực thi rất nhanh mà không cần phải đọc lại. Chính điều này tạo ra bước tiến nhảy vọt về hiệu suất so với ASP
  • ASP đã cả khả năng toàn quyền truy xuất tới các chức năng của .NET Framework. Hỗ trợ XML, web services, giao tiếp với CSDL, email… và rất nhiều các kỹ thuật khác được tích hợp vào .NET, giúp bạn tiết kiệm được công sức.
  • ASP cho phép bạn phân chia các đoạn mã server-side và HTML. Khi bạn phải làm việc với cả đội ngũ lập trình và thiết kế, sự tách biệt này cho phép các lập trình viên chỉnh sửa server-side code mà không cần dính dáng gì tới đội ngũ thiết kế.
  • ASP giúp cho việc tái sử dụng những yếu tố giao diện người dùng trong nhiều web form vì nó cho phép chúng ta lưu các thành phần này một cách độc lập.
  • Bạn có được một công cụ tuyệt vời hỗ trợ phát triển các ứng dụng ASP.NET hoàn toàn miễn phí, đó là Visual Web Developer, một trình soạn thảo trực quan mạnh mẽ có tính năng Code Autocompletion, Code Format, Database Integration Functionality, Visual HTML editor, Debugging…

Bắt đầu với Visual Studio Express Edition

microsoft_visual_studio_2005_express.jpg

Tại thời điểm viết bài, thì phiên bản 2008 Beta 2 Professional đã phát hành và chỉ chờ ngày released cùng với Windows Server 2008 và SQL Server 2008 để hợp thành tam tấu hoàn hảo nhất. Khoan bàn về những tính năng của phiên bản mà Microsoft cho là “tốt hơn bao giờ hết” này, chúng ta sẽ chỉ đề cập về một phiên bản khác chính là bản Express.

Theo truyền thống, song song cùng với bản VS Professional, Microsoft cũng đồng đưa ra bản rút gọn chính là Express. Gọi là phiên bản rút gọn bởi thay vì đóng gói all in one như bản Pro có dung lượng tới trên dưới 3GB, phiên bản Express được chia thành các gói nhỏ cho mỗi IDE (Visual Web Developer, Visual C#, Visual J#, Visual Basic, Visual C++, MS SQL) trong đó mỗi gói có size chỉ khoảng 450MB và yêu cầu cấu hình hệ thống cũng thấp hơn. Do đó, nếu bạn chưa quá chuyên sâu, còn mang tính trãi nghiệm nền tảng .NET nhằm xây dựng những ứng dụng cỡ nhỏ thì bản Express này là lựa chọn thích hợp nhất. Thật sự, theo kinh nghiệm của nhiều người thì nếu bạn không phải là lập trình viên chuyên nghiệp (.NET advanced hay professional) thì chẳng có sự khác biệt nào về tính năng giữa chúng cả!

Hiện tại bạn có thể tải bản Visual Studio 2005 Express tại địa chỉ dưới đây:

Sau khi down về có thể burn ra đĩa hoặc dùng 1 một chương trình mount file iso thành ổ đĩa ảo(Daemon) hoặc extract bằng Winrar rồi tiến hành cài đăt.

Bạn có thể cài đăt bản Express trực tiếp từ website của Microsoft (bản 2008) hoặc download từ link sau:

  • Visual Basic 2008 Express Edition Beta 2
    IMG file
  • Visual C# 2008 Express Edition Beta 2
    IMG file
  • Visual Web Developer 2008 Express Edition Beta 2
    IMG file
  • Visual C++ 2008 Express Edition Beta 2
    IMG file

Với định dạng file IMG, bạn cũng có thể sử dụng công cụ Daemon đã nêu để thực hiện việc mount đĩa hoặc burn…

Bên cạnh ấn bản Express, Microsoft cũng phát hành các ấn bản khác như Standard, Profesional, Team System… Chi tiết bạn có thể xem tại website của Microsoft

Tản mạn về LAMP và .NET

Gác lại những gì thuộc về LAMP, gác lại những gì thuộc về open source, miễn phí và nhỏ gọn; gác lại những Text Editor quen thuộc; gác lại những dòng hand code trong sáng; gác lại chiếc computer với bộ xử lý celeron đã 3 năm vẫn chạy tốt (dù mainboard vẫn tự động kích hoạt khi kích điện, dù nắp case đã được mở tan hoang “khêu gợi” lũ thằn lằn, ổ CD cũng đã được tháo ra, chiếc màn hình Samsung Flat 17inches có triệu chứng già cỗi đã gần 1 năm)… mọi thứ đã từng dùng!Chuyển sang Microsoft, đồng nghĩa với việc phải sử dụng những bộ Visual Studio với size được tính bằng giga, chứa trên những đía DVD đen bóng, cũng đồng nghĩa với việc tốn hàng ngàn USD cho vấn đề license, và rồi sẽ được nhận những dòng code được tự động sinh ra chỉ sau vài cú drag and drop. Mọi thao tác trở nên visual hơn và dĩ nhiên… tiện lợi hơn rất nhiều, thời gian theo đó sẽ được giảm thiểu đáng kể… bonus thêm là work on hẳn trên lappy!Quả thật, khi mọi thứ đều được đánh đồng, khách hàng “chẳng thèm” quan tâm tới vấn đề “thuộc về” phe developers. Hãy nói chuyện, hãy đàm phán với kết quả là một product hoàn chỉnh trong một thời gian ngắn! Thế thôi!Ngẫm cũng phải, thứ quý nhất bây giờ chẳng phải là những lá vàng bốn số chín, chẳng phải là những đồng dollars mỹ kim, cũng chẳng phải là những đồng ECU (European Currency Unit) mà hầu như cả châu Âu đang xài, mà là… là diamond! Đùa thôi, là thời gian, chính thời gian mới là quý nhất chí ít là tới thời điểm hiện nay (bởi từ khi Doraemon bị “hết pin”, cỗ máy thời gian đã ngừng hoạt động, và cho tới nay, chưa thấy vị professor nào đề cập tới việc sửa chữa cỗ máy ấy cả). Vì vậy, “bắt tay” với Microsoft không phải là một giải pháp quá tệ đâu!Chẳng cần phải bàn cãi, tranh luận về cuộc chiến giữa LAMP vs .NET, giữa Java vs C#, giữa PHP vs ASP hay giữa Jbuilder, Netbeans vs Visual Studio xem ai lợi hại hơn ai, ai có “nội lực thâm hậu” hơn ai? Quy cho cùng, dó chỉ là một dạng câu hỏi “trứng” với “gà” (lan man một chút, theo tui, cái trứng có trước! Nhưng đó là trứng của con chuẩn bị tiến hóa thành con gà)! Kết quả thế nào không rõ, chỉ biết tốn thời gian vô ích. Mà với khoảng thời gian tranh cãi đó, thế giới đã sang một kỷ nguyên mới (có thể hai phe đã bắt tay, sát nhập thành một cũng nên như cái thời kỳ “war method” của thập niên 90 thế kỷ 20).Chuyển sang .NET không có nghĩa là mọi thứ của .NET đều là best, có những thứ bad lắm chớ bộ! (Hôm trước, tearcher “khen” thằng bạn, “You are a bad student” mà nhìn thấy mặt nó tươi hớn hở, tieHandDotCom). Nếu như những cái best của .NET đã trở thành truyền thống, trở thành mẫu mực thì… cái bad của nó cũng tiếp bước, “chình ình” trong phòng truyền thống. Thế nên cũng chẳng cần phải “yêu cầu” nó thay đổi làm gì. Học cách sống chung là tốt nhất…Chuyển sang một môi trường mới cũng chẳng dễ dàng gì, thay đổi thói quen, thay đổi “tư duy”, thay đổi… mọi thứ. Rồi mọi thứ sẽ ổn, mình lại có thêm khả năng adaptive nè. Cứ nhìn xem, trends cứ change liên lục, technology thì vụt sáng vụt tắt, mấy ai trung thành mãi với fomula 67, smalltalk 80, với Fox… nên rồi sẽ mấy ai quan tâm tới .NET là gì, LAMP là gì. “Mọi thứ đều là tương đối, duy chỉ có thuyết tương đối của Einstein là tuyệt đối!” – [Không phải tui nói].Mà cũng chẳng việc gì phải “bợ đỡ” nó, đơn giản nó chỉ là một trong muôn vàn “công cụ” để mưu sinh. Có thể sống với nó trọn đời, nhưng cũng có thể “anh sẽ đến, dù chỉ bên em một phút thôi”. Còn đam mê ư, hãy nghiên cứu những Algorithm, Database Theory, Maths hay Philosophy … để nếu có lạc hậu, thì mình cũng “trở về với cát bụi mấy lần!”. Còn technology, bản thân nó vốn đã cũ ngay từ trước khi released.Cũng chẳng cần phải bao biện cho lý do say goodbye to LAMP, welcome to .NET. Nhưng thực sự, tôi vẫn yêu LAMP, vẫn thích free “hợp pháp” (vẫn còn bản chất của sinh dziên VN mừh) và có thói quen hand-code, v.v…Tản mạn thế thôi…