Ngôn ngữ ASP.NET - Giới thiệu

Giới thiệu ASP.NET

ASP.NET là một nền tảng ứng dụng web (web application framework) được phát triển và cung cấp bởi Microsoft, cho phép những người lập trình tạo ra những trang web động, những ứng dụng web và những dịch vụ web. ASP.NET đã tích hợp HTML, CSS, Javascript . Lần đầu tiên được đưa ra thị trường vào tháng 2 năm 2002 cùng với phiên bản 1.0 của.NET framework, là công nghệ nối tiếp của Microsoft's Active Server Pages(ASP). ASP.NET được biên dịch dưới dạng Common Language Runtime (CLR), cho phép những người lập trình viết mã ASP.NET với bất kỳ ngôn ngữ nào được hỗ trợ bởi.NET language.

ASP.NET là một phần của .NET Framework 

Các thành phần (component) của .NET


Những ưu điểm của ASP.Net
 

  • ASP.Net cho phép bạn lựa chọn một trong các ngôn ngữ lập trình mà bạn yêu thích: Visual Basic.Net, J#, C#,…
  • Trang ASP.Net được biên dịch trước thành những tập tin DLL mà Server có thể thi hành nhanh chóng và hiệu quả. Yếu tố này là một bước nhảy vọt đáng kể so với kỹ thuật thông dịch của ASP.

     
  • ASP.Net hỗ trợ mạnh mẽ bộ thư viện phong phú và đa dạng của .Net Framework, làm việc với XML, Web Service, truy cập cơ sở dữ liệu qua ADO.Net, …
  • ASPX và ASP có thể cùng hoạt động trong 1 ứng dụng.
  • ASP.Net sử dụng phong cách lập trình mới: Code behide. Tách code riêng, giao diện riêng --> Dễ đọc, dễ quản lý và bảo trì.
  • Kiến trúc lập trình giống ứng dụng trên Windows.
  • Hỗ trợ quản lý trạng thái của các control
  • Tự động phát sinh mã HTML cho các Server control tương ứng với từng loại Browser
  • Triển khai cài đặt
    • Không cần lock, không cần đăng ký DLL
    • Cho phép nhiều hình thức cấu hình ứng dụng
  • Hỗ trợ quản lý ứng dụng ở mức toàn cục
    • Global.aspx có nhiều sự kiện hơn
    • Quản lý session trên nhiều Server, không cần Cookies

Quá trình xử lý tập tin ASPX

Khi Web server nhận được yêu cầu từ phía client, nó sẽ tìm kiếm tập tin được yêu cầu thông qua chuỗi URL được gởi về, sau đó, tiến hành xử lý theo sơ đồ sau:


Quá trình phát triển các phiên bản

Bảng quá trình phát triển và các chức năng của ASP.NET.

Ngày Phiên bản Chức năng
January 16, 2002 1.0 Phát triển web theo hướng đối tượng hỗ trợ : Kế thừa, đa hình và các chức năng khác của OOP.
April 24, 2003 1.1 Các điều khiển (controls)Mobile và kiểm tra tính hợp lệ của dữ liệu một cách từ động.
November 7, 2005 2.0 Các điều khiển dữ liệu mới(GridView, FormView, DetailsView)
Các kỹ thuật truy cập dữ liệu mới(SqlDataSource, ObjectDataSource, XmlDataSource controls)
Các điều khiển điều hướng (navigation)
Master pages
Các điều khiển điều (đăng nhập)
Themes
Skins
Web parts
Personalization services
Full pre-compilation
Localization technique
Hỗ trợ bộ vi xử lý 64bit
Provider class model
November 21, 2006 3.0 Windows Presentation Foundation (WPF)
Windows Workflow Foundation (WF)
Windows Communication Foundation, which can use ASP.NET to host services
Windows CardSpace, which uses ASP.NET for login roles
November 19, 2007 3.5 Các điều khiển dữ liệu mới(ListView, DataPager)
ASP.NET AJAX được tính hợp vào framework
Hỗ trợ cho các đường dẫn HTTP và các nguồn cấp dữ liệu (HTTP pipelining and syndication feeds)
WCF support for RSS, JSON, POX and Partial Trust
.NET Framework 3.5 thay đổi, ví dụ LINQ etc.
August 11, 2008 3.5 Service Pack1

Kết hợp dữ liệu động ASP.NET
Hỗ trợ kiểm soát lịch sử trình duyệt trong một ứng dụng ASP.NET AJAX
Khả năng kết hợp nhiều tệp JavaScript vào một tệp để tải về hiệu quả hơn
namespaces mới: System.Web.Abstractions và System.Web.Routing

April 12, 2010 4.0 2 thuộc tính mới được thêm vào Page class: MetaKeyword và MetaDescription.
August 15, 2012 4.5  
October 17, 2013 4.5.1 Bootstrap 3.0
Web API 2: OAuth 2.0, OData improvements, CORS
MVC 5: Attribute routing, authentication filters and filter overrides
EF 6
SignalR
OWIN
May 5, 2014 4.5.2 Độ tin cậy cao hơn HTTP tiêu đề kiểm tra và các phương pháp sửa đổi
New way to schedule background asynchronous worker tasks
July 20, 2015 4.6 HTTP/2 hỗ trợ chạy trên Windows 10
Nhiều API hơn đồng b

ASP.NET cung cấp 3 để tạo ứng dụng web:

  1. Web Forms
  2. ASP.NET MVC
  3. ASP.NET Web Pages

Web Forms (WF)

WF là framework để phát triển điều khiển sự kiện. WF được sử dụng phát triển các ứng dụng có truy cập dữ liệu một cách hiệu quả. WF cung cấp các điều khiển và sư kiện (event) phía Server, WF là một phần của ASP.NET.

ASP.NET MVC

ASP.NET MVC là một framework tuyệt vời hỗ trợ pattern MVC cho ASP.NET. Nếu bạn muốn hiểu ASP.NET MVC làm việc như thế nào, bạn cần phải có một sự hiểu biết rõ ràng về mô hình MVC. MVC là cụm từ viết tắt của Model-View-Controller, nó phân chia pattern của ứng dụng thành 3 phần - model, controller và view.

  • Model giúp lưu trữ dữ liệu của ứng dụng và trạng thái của nó. Nó là một cơ sở dữ liệu hoặc cũng có thể chỉ là một tập tin XML.

  • View được coi là một giao diện người dùng được sử dụng bởi khách truy cập trang web của bạn để nhìn thấy các dữ liệu. Các trang ASPX thường được sử dụng để hiển thị view trong các ứng dụng ASP.NET MVC.

  • Controller chịu trách nhiệm xử lý các tương tác của người dùng với trang web. Nó được sử dụng để xác định loại view nào cần phải được hiển thị. Controller cũng được sử dụng cho mục đích giao tiếp với model.

ASP.NET Web Pages

ASP.NET Web Pages là mô hình lập trình đơn giản nhất, và trang web sẽ là tập hợp nhiều trang web. Nó khá là dễ dàng cho lập trình viên lựa chọn và học lập trình. Nó sử dụng cú pháp Razor như ứng dụng MVC nhưng nó lại sử dụng mã server-side ngay bên trong các trang web, hơn là tách chúng ra thành các lớp điều khiển.
ASP.NET Web Pages cho phép lập trình viên toàn quyền trong việc quyết định mã HTML sẽ được sinh ra như thế nào.
ASP.NET Web Pages cũng không có vòng đời của trang như Web Forms, nó chỉ đơn giản là xử lý mã lệnh từ trên xuống dưới thay vì có các sự kiện như pageload hoặc pagerender như bên phía ứng dụng web forms.
Bảng mô tả các mô hình phát triển web.

Model Skills Development style Experience
Web Forms Win Forms, WPF, .NET Phát triển nhanh chóng bằng cách sử dụng một thư viện phong phú các bộ điều khiển đóng gói ngôn ngữ HTML Mid-Level, Advanced RAD
MVC Ruby on Rails, .NET Kiểm soát hoàn toàn ngôn ngữ HTML, mã ASP.NET và html tách hoàn toàn,dễ dàng kiểm tra code, Sự lựa chọn tốt nhất cho các ứng dụng di động và trang web đơn giản (SPA). Mid-Level, Advanced
Web Pages Classic ASP, PHP Sự trộn lẫn ngôn ngữ HTML và ASP.NET cùng một trang New, Mid-Level

Tóm lại

Ba mô hình đều sử dụng một lõi chung là ASP.NET, và bạn có thể chọn mô hình phù hợp với mình. Còn riêng theo ý kiến cá nhân của tôi, nếu bạn là người mới bắt đầu với lập trình web và ASP.NET, bạn nên chọn Web Pages để học và nắm những yếu tố cơ bản và áp dụng chúng với các ứng dụng nhỏ, sau đó sẽ chuyển qua mô hình lập trình ASP.NET MVC, và áp dụng chúng cho các ứng dụng phức tạp hơn.