.NET framework – lịch sử hình thành và phát triển

Thứ Năm, 22 tháng 3, 2012
.NET Framework của Microsoft là một nền tảng lập trình tập hợp các thư viện lập trình có thể được cài thêm hoặc đã có sẵn trong các hệ điều hành Windows. Nó cung cấp những giải pháp thiết yếu cho những yêu cầu thông thường của các chương trình điện toán như lập trình giao diện người dùng, truy cập dữ liệu, kết nối cơ sở dữ liệu, ứng dụng web, các giải thuật số học và giao tiếp mạng. Ngoài ra, .NET Framework quản lý việc thực thi các chương trình được viết dựa trên .NET Framework do đó người dùng cần phải cài .NET Framework để có thể chạy các chương trình được viết trên nền .NET.

.net framework, microsoft, C#, Kiến Thức


.NET FRAMEWORK
Về chức năng, .NET Framework có 3 khối chức năng là: Trình diễn (Presentation); Dữ liệu (Data); Giao tiếp (Communication).
Về kỹ thuật, hiện tại Microsoft giới thiệu 4 kỹ thuật mới và nổi bật nhất là: Windows CardSpace (InfoCard), Windows Presentation Foundation (Avalon), Windows Communication Foundation (Indigo), Windows Workflow Foundation (Workflow).
Article I. CẤU TRÚC .NET FRAMEWORK
.NET Framework bao gồm ba phần là bộ thực thi ngôn ngữ chung (Common Language Runtime), các lớp lập trình hợp nhất hay còn gọi là các thư viện lớp cơ sở (Base Class Libraries) và một phiên bản cấu thành của Microsoft Active Server Pages gọi là Microsoft ASP.NET. Trên thực tế, ASP.NET và Windows Forms là hai thành phần nằm trong Base Class Libraries, nên có thể xem .NET Framework bao gồm 2 phần chính là Common Language Runtime (CLR) và .NET Framework Class Library (FCL). Một trong các thành phần này đều có vai trò cực kỳ quan trọng trong việc phát triển các dịch vụ và các ứng dụng .NET.

1. COMMON LANGUAGE RUNTIME
Như các bạn đã biết, các ngôn ngữ lập trình khác nhau đều cung cấp một runtime (bộ thực thi) và .NET Framework không phải là một ngoại lệ. Tuy vậy bạn sẽ thấy bộ runtime này là khá đặc biệt so với phần lớn các runtime chúng ta vẫn sử dụng.
Common Language Runtime (gọi tắt là bộ thực thi – CRL) được xây dựng trên các dịch vụ hệ điều hành. CLR là nền tảng của .NET Framework, nó đảm nhận các công việc sau:
- Là công cụ thực thi mã trung gian (tựa JVM)
- Biên dịch (Just-in-time compiler)
- Thực thi mã nguồn
- Quản lý bộ nhớ
- Thực thi luồng (Thread execution)
- Xử lý lỗi (Error-handling)
- Xác nhận mã nguồn an toàn và các hình thức khác của việc chính xác mã nguồn (managed code).
CLR đã được phát triển ở tầm cao hơn so với các runtime trước đây như VB-runtime chẳng hạn, bởi nó đạt được những khả nǎng như tích hợp các ngôn ngữ, bảo mật truy cập mã, quản lý thời gian sống của đối tượng và hỗ trợ gỡ lỗi.
Mã được biên dịch và hướng tới CLR có tên “managed code”. “Managed code” cung cấp siêu dữ liệu (metadata) cần thiết cho CLR để cung cấp các dịch vụ hỗ trợ đa ngôn ngữ, bảo mật mã, quản lý thời gian sống của đối tượng và quản lý bộ nhớ.
Nếu .NET Framework tồn tại (và đã được cài đặt) trên một nền tảng, thì nền tảng đó có thể chạy bất kỳ chương trình .NET nào. Khả năng của một chương trình có thể chạy (không có sửa đổi) trên nhiều nền tảng được gọi là sự độc lập về nền tảng. Code được viết một lần có thể được sử dụng trên mọi loại máy tính mà không sửa đổi, tiết kiệm cả thời gian và tiền bạc.
.NET Framework cũng cung cấp mức độ tương tác cao giữa các ngôn ngữ. Chương trình viết bằng các ngôn ngữ khác nhau đều được biên dịch thành các phần MSIL khác nhau có thể được kết hợp để tạo ra một chương trình thống nhất. MSIL cho phép .NET Framework trở thành ngôn ngữ không phụ thuộc, bởi vì các chương trình .NET không gắn với một ngôn ngữ lập trình cụ thể nào cả. Bất cứ ngôn ngữ nào có thể được biên dịch sang MSIL được gọi là ngôn ngữ tương thích với .NET. Danh sách các ngôn ngữ lập trình khả dụng với .NET được liệt kê trong bảng sau:
.NET programming languages
APL
Mondrian
C#
Oberon
COBOL
Oz
Component Pascal
Pascal
Curriculum
Perl
Eiffel
Python
Forth
RPG
Fortran
Scheme
Haskell
Smalltalk
Java
Standard ML
JScript
Visual Basic
Mercury
Visual C++
Common Language Infrastructure (CLI)
Mục đích của Common Language Infrastructure (CLI) là cung cấp một nền tảng ngôn ngữ trung lập để phát triển và thực thi ứng dụng, bao gồm cả chức năng để xử lý các lỗi, thu gom rác thải (garbage collection), bảo mật và khả năng tương tác. Bằng cách thực hiện những khía cạnh cốt lõi của .NET Framework trong phạm vi của mình, CLI sẽ không được gắn với một ngôn ngữ duy nhất mà sẽ có mặt trên nhiều ngôn ngữ được hỗ trợ bởi .NET framework.
Biên dịch trong .NET
Common Language Runtime (CLR) là một phần trung tâm của .NET Frameworkit thực hiện các chương trình .NET.
Chương trình được biên dịch vào các hướng dẫn-cụ thể (machine-specific) của máy theo hai bước. Đầu tiên, chương trình được dịch thành Microsoft Intermediate Language (MSIL), trong đó xác định các hướng dẫn cho các CLR. Code được chuyển đổi thành MSIL từ các ngôn ngữ khác và các nguồn có thể được kết hợp với nhau bằng CLR. Các MSIL cho các thành phần của một ứng dụng được đặt vào file thực thi của ứng dụng (được gọi là assembly). Khi ứng dụng thực thi, trình biên dịch (được gọi là biên dịch just-in-time hoặc biên dịch JIT) CLR phiên dịch MSIL trong file thực thi vào mã máy (đối với một nền tảng cụ thể), sau đó mã máy được thực thi trên nền tảng đó. Ghi chú: MSIL là ngôn ngữ trung gian, là một giải pháp để giúp cho các lập trình viên không cần quan tâm đến việc lập trình bằng ngôn ngữ nào trong bộ .NET.
Ví dụ: thực tế, trong 1 nhóm lập trình, có người sử dụng VB.NET, có người dùng C#, có người dùng J#,… nhưng họ vẫn có thể hợp tác làm ra sản phẩm, dùng ngôn ngữ quen thuộc của họ để lập trình, không nhất thiết 1 group chỉ gồm những người lập trình duy nhất 1 ngôn ngữ xác định.
Việc biên dịch chương trình sang MSIL giúp chương trình đó có thể chạy trên nhiều máy, nhiều nền tảng khác nhau.
Tại sao phải biên dịch 2 lần:
Độc lập với phần cứng
.NET framewwork có thể cài đặt trên nhiều platform
Các chương trình .NET được thực hiện mà không có thay đổi code nào (viết 1 lần, chạy mọi nơi)
Độc lập về ngôn ngữ
Các chương trình .NET không bị trói buộc vào một ngôn ngữ cụ thể nào cả
Các chương trình trong .NET có thể được viết bới các ngôn ngữ trong .NET
2. .NET FRAMEWORK CLASS LIBRARY (FCL) – Thư viện lớp.NET Framework
Có thể bạn đã nghe qua về MFC và JFC. Microsoft Foundation Class (MFC) là bộ thư viện mà lập trình viên Visual C++ sử dụng trong khi Java Foundation Class (JFC) là bộ thư viện dành cho các lập trình viên Java. Bạn có thể xem .NET Framework Class Library (FCL) là bộ thư viện dành cho các lập trình viên .NET.
Với hơn 80000 lớp đối tượng (với .NET 4.0) để gọi thực hiện đủ các loại dịch vụ từ hệ điều hành, bạn có thể bắt đầu xây dựng ứng dụng bằng Notepad.exe. Nhiều người lầm tưởng rằng các môi trường phát triển phần mềm như Visual Studio 98 hay Visual Studio .NET là tất cả những gì cần để viết chương trình. Thực ra, chúng là những phần mềm dùng làm vỏ bọc bên ngoài. Với chúng, bạn sẽ viết được các đoạn lệnh đủ các màu xanh, đỏ; lỗi cú pháp báo ngay khi đang gõ lệnh; thuộc tính của các đối tượng được đặt ngay cửa sổ properties, giao diện được thiết kế theo phong cách trực quan…
Hầu hết các lớp được gom vào một namespace (không gian tên) gọi là system.
3. SƠ LƯỢC VỀ NAMESPACE
.NET Framework được tạo bởi từ hàng trǎm lớp (class). Nhiều ứng dụng mà bạn xây dựng trong .NET đang tận dụng các lớp này theo cách này hay cách khác. Vì số lượng các lớp là quá lớn, .NET Framework tổ chức các lớp này vào một cấu trúc lớp được gọi là một namespace. Một namespace có thể là con của một namespace lớn hơn. Namespace lớn nhất trong .NET Framework là System. System là một Namespace cơ sở trong .NET Framework. Tất cả các namespace được cung cấp trong .NET framework bắt đầu với namespace cơ sở này. Ví dụ, những lớp phục vụ việc truy cập và thao tác dữ liệu được tìm thấy trong namespace System.Data. Những ví dụ khác bao gồm System.IO, System.XML, System.Collections, System.Drawing và .v.v..
Lợi điểm của namespace là phân nhóm các lớp đối tượng, giúp người dùng dễ nhận biết và sử dụng. Ngoài ra, namespace tránh việc các lớp đối tượng có tên trùng với nhau không sử dụng được. .NET Framework cho phép bạn tạo ra các lớp đối tượng và các namespace của riêng mình. Với hơn 80000 tên có sẵn, việc đặt trùng tên lớp của mình với một lớp đối tượng đã có là điều khó tránh khỏi. Namespace cho phép việc này xảy ra bằng cách sử dụng một tên đầy đủ để nói đến một lớp đối tượng. Ví dụ, nếu muốn dùng lớp WebControls, bạn có thể dùng tên tắt của nó là WebControls hay tên đầy đủ là System.Web.UI.WebControls.
Article II. CÁC PHIÊN BẢN CỦA .NET
+ .NET framework 1.0 – 2002
+ .NET framework 1.1 – 2003
+ .NET framework 2.0 – 2005
+ .NET framework 3.5 – 2008
+ .NET framework 4.0 – 2010
Ver 1.0 – phát hành năm 2002

Ngày 12/2/2002 đánh dấu bước quan trọng đầu tiên trong “cuộc đời” của .NET Framework, khi phiên bản 1.0 cùng với Visual Studio.NET 2002 được chính thức ra mắt. Chính .NET Framework 1.0 là điểm nhấn đáng chú ý nhất và làm cho Visual Studio. NET 2002 khác biệt hẳn với Visual Studio 6.0 đã phát hành năm 1998. Lần đầu tiên, Microsoft giới thiệu về “lập trình hợp nhất”, với việc lấy .NET Framework làm nền tảng.
Ver 1.1 – phát hành năm 2003

Một năm sau ngày .NET Framework 1.0 ra đời, ngày 24/4/2003, Microsoft đã có ngay bản cập nhật 1.1 ra mắt cùng với Visual Studio.NET 2003. Không có nhiều nâng cấp đáng chú ý trong lần ra mắt này, đáng kể nhất là sự ra đời của .NET Compact Framework, phiên bản thu gọn của .NET Framework cho các thiết bị di động. Điều đáng tiếc là mặc dù có nền tảng rất tốt, cùng với sự hỗ trợ mạnh mẽ từ Microsoft, cho đến nay, .NET Compact Framework vẫn chưa phát triển như “lẽ ra nó phải thế”. Hiện nay số thiết bị di động chạy Windows Mobile/Windows Phone khá khiêm tốn so với các hệ điều hành (HĐH) còn lại.
.NET Framework 1.1 cũng mở ra một “truyền thống” là kể từ đây, các HĐH Windows đều được cài đặt sẵn phiên bản .NET Framework mới nhất. Windows Server 2003 tiên phong với phiên bản 1.1, sau đó là Windows Vista với .NET 3.0, và gần đây nhất là Windows 7/Server 2008 với .NET 3.5 SP1.
Ver 2.0 phát hành năm 2005

Microsoft mất đến hơn 2 năm để phát triển .NET Framework 2.0 và Visual Studio 2005, và thời gian bỏ ra là thật sự đáng giá. Tháng 11/2005, hai sản phẩm này ra mắt với hàng loạt tính năng mới, trong đó đáng kể nhất là việc hỗ trợ hoàn toàn cho tính toán 64-bit, .NET Micro Framework, bổ sung và nâng cấp nhiều control của ASP.NET và đặc biệt là hỗ trợ Generics. .NET 2.0 hoàn toàn khác biệt so với các phiên bản trước.
Generic cho phép chúng ta định kiểu an toàn (type safety). Chúng cho phép ta tạo ra một cấu trúc dữ liệu mà không cần phải xác định đó là kiểu dữ liệu gì. Tuy nhiên khi cấu trúc dữ liệu này được sử dụng, trình biên dịch phải đảm bảo rằng kiểu dữ liệu được sử dụng với nó là kiểu an toàn. Generic cũng tương đương vơi Template trong C++ tuy nhiên việc sử dụng Generic trong .NET dễ dàng hơn nhiều so với Template.
Phiên bản 1.0 và 1.1 của .NET Framework không hỗ trợ generics. Thay vào đó, lập trình viên sử dụng lớp Object với các tham số và thành viên sẽ phải chuyển đổi tới các lớp khác dựa trên lớp Object. Generics mang đến hai tính năng cải tiến đáng kể đối với việc sử dụng lớp Object: Giảm bớt lỗi vận hành (Reduced run-time errors), Hiệu suất được cải thiện (Improved performance).
Ver 3.0 & Ver 3.5 (phát hành năm 2008)

Nếu như 3 phiên bản trước đó, .NET Framwork đều gắn liền với một phiên bản Visual Studio nào đó, thì.NET Framework 3.0 đã “phá” truyền thống này khi ra mắt cùng với hệ điều hành Windows Vista vào cuối năm 2006. Ba “điểm nhấn” trong lần nâng cấp này là thành phần được kỳ vọng thay thế Winform – Windows Presentation Foundation – WPF, Windows Communitcation Foundation – WCF, Windows Workflow Foundation – WF, và Windows Card Space.
.NET Framework 3.0 không phải là một phiên bản mới hoàn toàn, thực tế là một bản nâng cấp của .NET 2.0, hay đúng hơn là một bản nâng cấp cho thư viện của .NET 2.0.
Chính vì không có Visual Studio “đi kèm”, mà .NET 3.0 đành phải “ký gửi” vào Visual Studio 2005 với một bộ công cụ mở rộng. Người dùng phải đợi đến tháng 11 năm 2007 mới được sử dụng một phiên bản Visual Studio hỗ trợ đầy đủ và toàn diện cho .NET 3.0, và hơn thế nữa. Vâng, chúng ta đang nói đến VS 2008 và .NET Frame work 3.5. Cũng như phiên bản 3.0, .NET 3.5, là một mở rộng trên nền .NET 2.0.
LINQ [LINQ: Language Integrated Query - đây là thư viện mở rộng cho các ngôn ngữ lập trình C# và Visual
Basic.NET (có thể mở rộng cho các ngôn ngữ khác) cung cấp khả năng truy vấn trực tiếp dữ liệu đối tượng,
CSDL và XML] là phần nổi bật và đáng chú ý nhất trong .NET 3.5.
Ver 4.0 – phát hành năm 2010

Ngày 12/4 vừa qua, Microsoft lại nâng cấp .NET Framework và Visual Studio.
Đây là phiên bản đầu tiên sau .NET 2.0 kể từ 2005, có một CLR hoàn toàn mới: CLR 4.0. Cũng cần nhắc lại là cả .NET 3.0 và 3.5 đều sử dụng CLR 2.0, và không có CLR 3.0. Việc Microsoft chuyển thẳng lên 4.0 không chỉ để “đồng bộ” phiên bản, mà còn nhằm khẳng định đây là một bước tiến lớn.
.NET Framework 4 giới thiệu một model an ninh được cải thiện.
Các tính năng mới và cải tiến trong .NET Framework 4 là:
• Application Compatibility and Deployment
(Khả năng tương thích ứng dụng và triển khai)
• Core New Features and Improvements
(Các tính năng mới và cải tiến của phần nhân)
• Managed Extensibility Framework
(Quản lý mở rộng Framework)
• Parallel Computing (Điện toán song song)
• Networking
• Web
• Client
• Data
• Windows Communication Foundation (WCF)
• Windows Workflow Foundation (WF)
—————————————-
WCF là công nghệ nền tảng nhằm thống nhất nhiều mô hình lập trình giao tiếp được hỗ trợ trong .NET 2.0
thành một mô hình duy nhất.
WF: Windows Workflow Foundation – workflow (luồng công việc)
Một workflow (luồng công việc) là thứ tự các bước, tác vụ, sự kiện hoặc tương tác làm nên một quy trình để thực hiện một công việc nào đó. Quy trình này có thể có nhiều bộ phận, cá nhân tham gia. Nguồn gốc luồng công việc có lẽ bắt nguồn từ công tác xử lý văn bản: văn bản cần phải được di chuyển từ nơi này sang nơi khác để thực hiện các công việc khác nhau (đọc, sửa đổi, góp ý, xem lại, phê chuẩn…). Windows Workflow Foundation (WF) là một công nghệ của Microsoft cho phép định nghĩa, thực thi và quản lý các workflow. Công nghệ này được ra đời vào tháng 11 năm 2006 như là một phần của nền tảng .NET framework 3.0 (còn gọi là WinFX).
Tags: , , , ,
Liên Hệ Quảng Cáo SĐT:01224193994 Yahoo: xuanthucit

Ý kiến bạn đọc [ 0 ]


Ý kiến của bạn