บทความนี้จะแนะนำความแตกต่างระหว่าง .NET เวอร์ชันต่างๆ เป็นหลัก เพื่อช่วยให้เพื่อนๆ มือใหม่เลือก .NET Framework เวอร์ชันที่เหมาะสมสำหรับการพัฒนา
.NET Framework คืออะไร?
.NET Framework เรียกอีกอย่างว่า .Net Framework พัฒนาโดย Microsoft เป็นแพลตฟอร์มการพัฒนาซอฟต์แวร์ที่มุ่งเน้นการพัฒนาซอฟต์แวร์แบบคล่องตัว การพัฒนาแอปพลิเคชันอย่างรวดเร็ว ความเป็นอิสระของแพลตฟอร์ม และความโปร่งใสของเครือข่าย .NET เป็นก้าวแรกของ Microsoft สู่วิศวกรรมซอฟต์แวร์เซิร์ฟเวอร์และเดสก์ท็อปในทศวรรษหน้า .NET มีเทคโนโลยีมากมายที่เอื้อต่อการพัฒนาแอปพลิเคชั่นอินเทอร์เน็ตและอินทราเน็ตอย่างรวดเร็ว
กรอบงาน .NET เป็นแพลตฟอร์มการพัฒนาใหม่ของ Microsoft ตามหลัง Windows DNA .NET Framework เป็นแพลตฟอร์มการเขียนโปรแกรมที่ทำงานบนเครื่องเสมือนของระบบ ซึ่งใช้ Common Language Runtime และรองรับการพัฒนาหลายภาษา (C#, VB, C++, Python ฯลฯ)
.NET ยังมีคุณลักษณะใหม่และเครื่องมือการพัฒนาสำหรับ Application Programming Interfaces (API) นวัตกรรมเหล่านี้ช่วยให้โปรแกรมเมอร์สามารถพัฒนาแอปพลิเคชัน Windows และแอปพลิเคชันเครือข่ายตลอดจนส่วนประกอบและบริการ (บริการบนเว็บ) ได้พร้อมกัน .NET มีอินเทอร์เฟซการเขียนโปรแกรมเชิงสะท้อนและเชิงวัตถุใหม่ .NET ได้รับการออกแบบมาให้มีความทั่วไปเพียงพอที่จะนำภาษาระดับสูงต่างๆ มากมายมารวมกันได้
มี .NET Framework เวอร์ชันใดบ้าง
.NET Framework 1.0, .NET Framework 1.1, .NET Framework 2.0, .NET Framework 3.0, .NET Framework 3.5, .NET Framework 4.0
ภาพรวมของ .NET Framework แต่ละเวอร์ชันและคำแนะนำในการเลือก
NET Framework 1.0 (CLR 1.0) และ 1.1 (CLR 1.1) ล้าสมัยและไม่สนับสนุนอย่างยิ่ง
NET Framework 2.0 (CLR 2.0) เป็นเวอร์ชันที่ใช้กันอย่างแพร่หลายในปัจจุบันและมีฟังก์ชันพื้นฐานส่วนใหญ่
NET Framework 3.0 (CLR 2.0) เพิ่มฟังก์ชันต่างๆ เช่น WPF, WCF, WF และ Card Space
NET Framework 3.5 (CLR 2.0) เพิ่ม LINQ, ADO.NET Entity Framework และฟังก์ชันอื่นๆ
NET Framework 4.0 (CLR 4.0) ปรับใช้และปรับปรุงฟังก์ชันของ .NET Framework เวอร์ชันก่อนหน้า และเพิ่มฟังก์ชันใหม่ เช่น ParallelLINQ และ Task Parallel Library ขอแนะนำเป็นอย่างยิ่งให้ใช้งาน
ข้อมูลเบื้องต้นโดยละเอียดเกี่ยวกับ .net framework แต่ละเวอร์ชัน:
.NET Framework 1.0
หมายเลขเวอร์ชันเต็ม - 1.0.3705
นี่คือสถาปัตยกรรม .NET ดั้งเดิมที่เปิดตัวในปี 2545 มีจำหน่ายในรูปแบบแพ็คเกจแบบสแตนด์อโลนและแจกจ่ายต่อได้ หรือในชุดชุดพัฒนาซอฟต์แวร์ นอกจากนี้ยังเป็นส่วนหนึ่งของ Microsoft Visual Studio .NET รุ่นแรก (หรือที่เรียกว่า Visual Studio .NET 2002)
.NET Framework 1.1
หมายเลขเวอร์ชันเต็ม - 1.1.4322
นี่เป็นการอัพเกรด .NET Framework ครั้งใหญ่ครั้งแรกที่เปิดตัวในปี 2546 มีจำหน่ายในรูปแบบแพ็คเกจแบบแจกจ่ายต่อแบบสแตนด์อโลนหรือในชุดชุดพัฒนาซอฟต์แวร์ นอกจากนี้ยังเป็นส่วนหนึ่งของ Microsoft Visual Studio .NET เวอร์ชันที่สอง (หรือที่เรียกว่า Visual Studio .NET 2003) นอกจากนี้ยังเป็นเวอร์ชันแรกของเฟรมเวิร์ก .NET ที่สร้างไว้ในระบบปฏิบัติการ Windows - Windows Server 2003
การปรับปรุงตั้งแต่เวอร์ชัน 1.0:
มาพร้อมกับการรองรับการควบคุม asp .net บนมือถือ สิ่งนี้ถูกนำไปใช้เป็นฟีเจอร์เสริมในเวอร์ชัน 1.0 และตอนนี้ได้รวมเข้ากับเฟรมเวิร์กแล้ว การเปลี่ยนแปลงด้านความปลอดภัย - เปิดใช้งานโค้ด Windows Forms เพื่อให้ทำงานด้วยลักษณะการทำงานที่เชื่อถือได้ เพื่อให้สามารถทำงานได้อย่างปลอดภัยภายในสภาพแวดล้อมอินเทอร์เน็ต และเพิ่มความสามารถในการเข้าถึงความปลอดภัยของโค้ดสำหรับแอปพลิเคชัน ASP .NET มาพร้อมกับการรองรับฐานข้อมูล ODBC และ Oracle สิ่งนี้ถูกนำไปใช้เป็นฟีเจอร์เสริมในเวอร์ชัน 1.0 และตอนนี้ได้รวมเข้ากับเฟรมเวิร์กแล้ว .NET Compact Framework - นี่คือชุดย่อยของ .NET Framework สำหรับอุปกรณ์อัจฉริยะ (เช่น Pocket PC หรือ SmartPhone) รองรับ IPv6 การเปลี่ยนแปลง API มากมาย
.NET Framework 2.0
หมายเลขเวอร์ชันเต็ม - 2.0.50727.42 เผยแพร่เมื่อวันที่ 27 ตุลาคม พ.ศ. 2548
คอมโพเนนต์ .NET Framework 2.0 จะรวมอยู่ใน Visual Studio 2005 และ SQL Server 2005 สามารถดาวน์โหลดเวอร์ชัน RTM ได้ฟรีผ่านเวอร์ชัน MSDN Universe
การปรับปรุงตั้งแต่เวอร์ชัน 1.1:
การเปลี่ยนแปลง API มากมาย API ใหม่อนุญาตให้แอปพลิเคชันที่ไม่ใช่ .NET จำเป็นต้องจัดการอินสแตนซ์ของรันไทม์ .NET เพื่อดำเนินการนี้ API ใหม่นี้ให้การควบคุมที่ดีผ่านฟังก์ชันต่างๆ ของไลบรารีรันไทม์ .NET รวมถึงมัลติเธรด การจัดสรรหน่วยความจำ การโหลดโค้ด ฯลฯ เดิมทีได้รับการออกแบบมาสำหรับ Microsoft SQL Server เพื่อใช้รันไทม์ .NET ได้อย่างมีประสิทธิภาพ เนื่องจาก Microsoft SQL Server มีตัวจัดการกำหนดการและตัวจัดการหน่วยความจำของตัวเอง NET Framework 2.0 SP1 เปิดตัวพร้อมกับ .NET Framework 3.5 โปรดดูส่วน .NET Framework 3.5 .NET Framework 2.0 SP2 เปิดตัวพร้อมกับ .NET Framework 3.5 SP1 โปรดดูส่วน .NET Framework 3.5 SP1
.NET Framework 3.0
บทความหลัก: .NET Framework 3.0
วันที่วางจำหน่าย 21/11/2549 เดิมชื่อ WinFX ยังคงใช้ Common Language Runtime (CLR) ของ .NET Framework เวอร์ชัน 2.0 และเพิ่ม 4 เฟรมเวิร์กเพื่อปรับให้เข้ากับทิศทางการพัฒนาซอฟต์แวร์ในอนาคต:
Windows Presentation Foundation (WPF): มอบประสบการณ์ผู้ใช้ที่ดีขึ้นสำหรับการพัฒนาโปรแกรม Windows Forms และแอปพลิเคชันเบราว์เซอร์ Windows Communication Foundation (WCF): ให้บริการเครือข่ายที่ปลอดภัยซึ่งสนับสนุนโดยกรอบงาน SOA (Service-Oriented Software Architecture) (WebService) Windows Workflow Foundation (WF): จัดเตรียมอินเทอร์เฟซการเขียนโปรแกรมแอปพลิเคชันพร้อมการสนับสนุนพื้นฐานสำหรับการออกแบบและพัฒนาแอปพลิเคชันที่เน้นเวิร์กโฟลว์ Windows CardSpace: มอบโซลูชัน SSO ผู้ใช้แต่ละคนมี CardSpace ของตนเอง .NET Framework 3.0 SP1 เปิดตัวพร้อมกับ .NET Framework 3.5 โปรดดูที่ .NET Framework 3.5 .NET Framework 3.0 SP2 เปิดตัวพร้อมกับ .NET Framework 3.5 SP1 โปรดดูที่ .NET Framework 3.5 SP1
.NET Framework 3.5
รุ่นนี้จะรวมคอมไพเลอร์ที่รองรับฟีเจอร์ภาษา C# และ VB .Net-centric ตลอดจนการสนับสนุน Language-Integrated Query (LINQ) เวอร์ชันนี้เผยแพร่พร้อมกับ Visual Studio 2008
ในเวลาเดียวกัน .NET Framework 3.5 จะรวม .NET Framework 2.0 SP1 และ .NET Framework 3.0 SP1 โดยอัตโนมัติเพื่อให้การแก้ไขด้านความปลอดภัยสำหรับทั้งสองเวอร์ชันนี้ รวมถึงไลบรารีคลาสใหม่จำนวนเล็กน้อย (เช่น System.DateTimeOffest) เวอร์ชันมีคุณสมบัติใหม่คือ:
คุณลักษณะ Extension Method (แอตทริบิวต์) ใช้เพื่อให้การสนับสนุนวิธีการขยายที่สนับสนุน LINQ รวมถึง LINQ ไปยัง Object, LINQ ไปยัง ADO .NET และ LINQ ไปยังแผนผังนิพจน์ XML (Expression Tree) ที่ใช้ในการจัดเตรียมนิพจน์ Lambda ให้การสนับสนุนสำหรับการบูรณาการอย่างแน่นหนากับภาษา แบบสอบถามแบบรวม (LINQ) และการรับรู้ข้อมูล ด้วยคุณสมบัติใหม่นี้ คุณสามารถเขียนโค้ดในภาษาใดๆ ที่เปิดใช้งาน LINQ ได้โดยใช้ไวยากรณ์เดียวกันเพื่อกรองและระบุข้อมูล SQL, คอลเลกชัน, XML และชุดข้อมูลหลายประเภท รวมถึงสร้างการคาดคะเนของข้อมูลเหล่านั้น ใช้ asp.netAJAX เพื่อสร้างประสบการณ์เว็บที่มีประสิทธิภาพ โต้ตอบได้ และเป็นส่วนตัวมากขึ้น ซึ่งทำงานได้บนเบราว์เซอร์ยอดนิยมทั้งหมด การสนับสนุนเว็บโปรโตคอลใหม่สำหรับการสร้างบริการ WCF รวมถึง AJAX, JSON, REST, POX, RSS, ATOM และมาตรฐาน WS-* ใหม่หลายประการ รองรับการใช้เครื่องมืออย่างสมบูรณ์สำหรับ WF, WCF และ WPF ใน Visual Studio 2008 รวมถึงเทคโนโลยีใหม่ของบริการที่เปิดใช้งานเวิร์กโฟลว์ คลาสใหม่ใน .NET Framework 3.5 Base Class Library (BCL) จัดการกับคำขอของลูกค้าทั่วไปจำนวนมาก [แก้ไข] .NET Framework 3.5 SP1 .NET Framework 3.5 SP1 จะรวม .NET Framework 2.0 SP2 และ .NET Framework 3.0 SP2 โดยอัตโนมัติ เวอร์ชันนี้เผยแพร่พร้อมกับ VisualStudio 2008 SP1 เวอร์ชันนี้มีคุณสมบัติใหม่ดังต่อไปนี้:
คุณสมบัติใหม่ของ ASP .NET ประกอบด้วย ASP .NET Dynamic Data ซึ่งมอบเฟรมเวิร์ก scaffolding ที่สมบูรณ์แบบสำหรับการพัฒนาที่ขับเคลื่อนด้วยข้อมูลอย่างรวดเร็วโดยไม่ต้องเขียนโค้ด และโปรแกรมเสริม ASP .NET AJAX ซึ่งมอบเฟรมเวิร์ก scaffolding ที่หลากหลายสำหรับการจัดการประวัติเบราว์เซอร์ที่รองรับ (รองรับปุ่มย้อนกลับ) ADO .NET กรอบงานเอนทิตี การสนับสนุนผู้ให้บริการข้อมูลสำหรับ SQL Server 2008 เอกสารการกำหนดค่าไคลเอ็นต์ .NET Framework เป็นส่วนย่อยของ .NET Framework แบบเต็ม ซึ่งเน้นไปที่แอปพลิเคชันไคลเอนต์ ซึ่งจะช่วยปรับปรุงประสบการณ์การติดตั้งบนคอมพิวเตอร์ที่ยังไม่ได้ติดตั้ง .NET Framework ปรับปรุงประสิทธิภาพของ Windows Presentation Foundation รวมถึงการปรับปรุงประสิทธิภาพความเร็วเริ่มต้นสำหรับเอฟเฟกต์บิตแมป คุณสมบัติที่เพิ่มให้กับ Windows Presentation Foundation ได้แก่ การรองรับที่ดีขึ้นสำหรับแอพพลิเคชั่นในสายธุรกิจ การรองรับหน้าจอสแปลชแบบเนทีฟ การรองรับ DirectX pixel shader และการควบคุมเว็บเบราว์เซอร์ใหม่ ผู้เผยแพร่แอปพลิเคชัน ClickOnce สามารถตัดสินใจได้ว่าจะยกเลิกการลงนามและแฮชเป็นรายกรณีหรือไม่ นักพัฒนาสามารถติดตั้งแอปพลิเคชัน ClickOnce ที่แสดงลายเซ็นที่กำหนดเองโดยทางโปรแกรม และกล่องโต้ตอบข้อผิดพลาด ClickOnce รองรับลิงก์ไปยังไซต์สนับสนุนเฉพาะแอปพลิเคชันบนเว็บ ผู้ให้บริการข้อมูล .NET Framework สำหรับ SQL Server (System.Data.SqlClient) รองรับคุณลักษณะใหม่ทั้งหมดของกลไกฐานข้อมูล SQL Server 2008 อย่างสมบูรณ์ สำหรับข้อมูลเพิ่มเติมเกี่ยวกับการสนับสนุนของ .NET Framework สำหรับ SQL Server 2008 ดูมีอะไรใหม่ใน SQL Server (ADO .NET) แพลตฟอร์มข้อมูล ADO .NET เป็นกลยุทธ์หลายเวอร์ชันที่ช่วยให้นักพัฒนาสามารถโปรแกรมกับโมเดลข้อมูลเอนทิตีเชิงแนวคิด ช่วยลดความยุ่งยากในการเขียนโค้ดและการบำรุงรักษา แพลตฟอร์มนี้นำเสนอ ADO .NET Entity Framework, Entity Data Model (EDM), Object Services, LINQ to Entities, Entity SQL, EntityClient, ADO .NET Data Services และ Entity Data Model ขณะนี้ Windows Communication Foundation ให้การสนับสนุนการทำงานร่วมกันที่ได้รับการปรับปรุง ปรับปรุงประสบการณ์การดีบักในสถานการณ์ที่เชื่อถือได้บางส่วน และขยายการสนับสนุนโปรโตคอลแบบรวมสำหรับแอปพลิเคชันที่กว้างขึ้นไปยังแอปพลิเคชัน Web 2.0 ทำให้ DataContract serializer ใช้งานง่ายขึ้น เนมสเปซ Microsoft.VisualBasic.PowerPacks แนะนำตัวควบคุม DataRepeater ใหม่ ซึ่งแสดงข้อมูลในรูปแบบรายการที่ปรับแต่งได้ เนมสเปซนี้ยังมีรูปร่างเวกเตอร์ใหม่อีกด้วย
.NET Framework 4.0
.NET Framework 4.0 เพิ่มการสนับสนุนแบบขนานเป็นหลัก และเวอร์ชันภาษาอังกฤษเปิดตัวเมื่อวันที่ 12 เมษายน 2010
Enterprise Basics .NET มอบแพลตฟอร์มอิสระสำหรับการพัฒนาซอฟต์แวร์ มาพร้อมกับระบบเครือข่ายที่มีความปลอดภัยสูงและอาศัยส่วนประกอบซอฟต์แวร์และโปรแกรมเชิงส่วนประกอบเป็นอย่างมาก ในแง่นี้มันจะมาแทนที่อันเดิม (COM) อย่างสมบูรณ์
เวอร์ชันเฟรมเวิร์ก .NET ได้รับการอัปเกรดเป็น 3.5 อย่างไรก็ตาม ส่วนหลักของ .net framework 3.0 และ 3.5 ยังคงเหมือนกับ .net2.0 แต่มีการเพิ่มคลาสไลบรารีบางส่วนลงไป แผนภูมิต่อไปนี้สามารถอธิบายความแตกต่างระหว่างกรอบงานทั้งสามเวอร์ชันได้อย่างชัดเจน
.net framework 2.0 = CLR 2.0 + FCL (ไลบรารีคลาสเฟรมเวิร์ก)
.net framework 3.0 = .net framework 2.0 + SP1 + WPF + WCF + WF + CardSpace
.net framework 3.5 = .net framework 3.0 + SP2 + คอมไพเลอร์ใหม่
CLR ของเฟรมเวิร์กทั้งสามเวอร์ชันนี้เป็น 2.0 ทั้งหมด ดังนั้นคุณจะพบว่ารันไทม์ของ asp.net ยังคงเป็นเพียง 1.1 และ 2.0 เท่านั้น จริง ๆ แล้วฟังก์ชันใหม่เช่น Linq จะถูกนำไปใช้กับคอมไพเลอร์ใหม่และไลบรารีคลาสใหม่บางตัวเท่านั้น เวอร์ชัน 3.5 ไม่ได้ทำการอัพเกรด CLR ที่สำคัญใดๆ