หน้าแรก > คำถาม
คำถาม
Microsoft .NET Framework คืออะไร
ซอฟแวร์ | คอมพิวเตอร์ 1/2/51 โพสต์โดย กูเกิลกูรู
คำตอบ
1 จาก 2
มันคือแพลตฟอร์มสำหรับพัฒนาซอฟต์แวร์ค่ะ สร้างขึ้นโดยไมโครซอฟท์ รองรับภาษาดอตเน็ตมากกว่า 40 ภาษา  และมีไลบรารีเป็นจำนวนมากสำหรับการเขียนโปรแกรม รวมถึงบริหารการดำเนินการของโปรแกรมบนดอตเน็ตเฟรมเวิร์ก โดยไลบรารีนั้นยังได้รวมถึงส่วนต่อประสานกับผู้ใช้ การเชื่อมต่อฐานข้อมูล วิทยาการเข้ารหัสลับ อัลกอริทึม การเชื่อมต่อเครือข่ายคอมพิวเตอร์ และการพัฒนาเว็บแอปพลิเคชันอีกด้วย
28/3/51 โพสต์โดย fone
2 จาก 2
Net Framework คือ โครงร่างการพัฒนาโปรแกรมคอมพิวเตอร์ ที่ถูกออกแบบมาเพื่อให้อำนวยความสะดวกในการพัฒนาโปรแกรมสมัยใหม่ ที่ใช้งานในระบบเครื่อข่าย (Internet, Intranet, Mobile Devices, ฯลฯ) Bill Gates และ Steve Ballmer ได้บรรยายสรุปวิสัยทัศน์ ที่เกี่ยวกับ .Net เอาไว้ 3 ข้อหลัก ๆ ได้แก่

1. การพัฒนาโปรแกรมในรูปแบบของ Web Service จะเป็นหัวใจหลักในการขับเคลื่อนโปรแกรมต่าง ๆ ที่ใช้งานบน Internet. Web Service จะช่วยให้การติดต่อสื่อสารระหว่าง application บน Internet นั้นง่ายขึ้น และเป็นระบบมากยิ่งขึ้น

2. Web Service ขั้นพื้นฐานเช่น การตรวจสอบ user ที่ log in เข้าสู่ระบบ จะถูกพัฒนาให้เป็นมาตรฐาน และสามารถนำไปใช้ได้ทั่วไปบน Internet

3. PC (desktop, notebook) และ Mobile Device ที่ต่อเชื่อมกับ Internet ได้ เช่น PDA และ โทรศัพท์มือถือ จะมีบทบาท และประโยชน์มากขึ้นไปอีก เมื่อสามารถติดต่อใช้งานโปรแกรมต่าง ๆ บน Internet ได้

ยกตัวอย่างง่าย ๆ จากภาพยนตร์เรื่อง The 6th Day ตอนที่ พระเอก อาร์โนลด์ เอานิ้วโป้งประทับไปที่หน้าจอในรถแท๊กซี่ Web Service ก็เกิดขึ้นในทันที เริ่มจาก ระบบตรวจสอบลายนิ้วมือซึ่งให้บริการตรวจสอบว่า ลายนิ้วมือของผู้โดยสารนั้นเป็นใคร (User-Authentication Web Service) พอทราบแล้วว่าเป็นใคร ระบบก็จะส่งข้อมูลไปยังบริษัทที่ให้บริการรถแท๊กซี่ ซึ่งจะทำการคิดคำนวนค่าบริการ และส่ง request ไปยังธนาคารที่ผู้โดยสารมีบัญชีอยู่ เพื่อทำการหักค่าใช้จ่ายจากบัญชีของผู้โดยสาร ไปเข้าบัญชีของบริษัทรถแท๊กซี่ ส่วนที่พนักงานขับรถจะได้จากการบริการ ก็จะถูกบันทึกไว้ในระบบข้อมูลพนักงานคนนั้น ๆ จะเห็นได้ว่าจากสถาการณ์ที่ได้ยกตัวอย่างไปนี้ จำเป็นที่จะต้องใช้ข้อมูล และการประมวลผลจากเครื่องคอมพิวเตอร์ และโปรแกรมต่าง ๆ อยู่หลายที่ ซึ่งแต่ละโปรแกรมนั้นก็อาจจะทำงานอยู่บนระบบที่แตกต่างกันไปเช่น Windows, Linux, Mainframe, ฯลฯ ภาษาคอมพิวเตอร์ที่ใช้พัฒนาโปรแกรมเหล่านั้น ก็อาจจะแตกต่างกันออกไป ระบบฐานข้อมูลก็ไม่เหมือนกัน การที่จะทำให้ระบบหลาย ๆ ระบบทำงานต่อเชื่อมกันได้อย่างราบรื่นนั้น ไม่ง่ายเลย



Microsoft จึงได้พัฒนารูปแบบการพัฒนาระบบคอมพิวเตอร์ขึ้นมา ซึ่งเรียกว่า .Net Framework นั่นเอง (อันที่จริงแล้ว Microsoft ไม่ได้เป็นผู้คิดค้นเรื่องพวกนี้ขึ้นมาแต่เพียงผู้เดียว อย่าเข้าใจผิด สิ่งต่าง ๆ เหล่านี้มีผู้คิดค้นพัฒนาจากหลายบริษัท หลายหน่วยงาน ยกตัวอย่างเช่น Sun Microsystems, IBM, ฯลฯ หากแต่ว่า Microsoft นำแนวคิดเหล่านั้นมาออกแบบให้อยู่ในรูปแบบที่สามารถต่อเชื่อมกันได้ง่ายขึ้น เป็นระบบมากขึ้น) เพราะฉะนั้น ถ้าจะให้นิยามคำว่า .Net คงไม่สามารถชี้เฉพาะได้ว่า .Net คืออะไร เพราะจริง ๆ แล้ว .Net ประกอบไปด้วยส่วนประกอบต่าง ๆ หลายส่วนด้วยกัน ส่วนประกอบเหล่านี้ถูกออกแบบมาเพื่อให้ทำงานได้เข้าขากันได้ดีขึ้น



.Net Framework นั้นประกอบไปด้วยอะไรบ้าง

ส่วนประกอบหลัก ๆ ของ .Net Framework แบ่งเป็นชั้น ๆ ได้ดัง diagram ต่อไปนี้


ASP.Net
Programming Languages

C# VB.Net VC++ Jscript.Net อื่นๆ

Base Classes

Web ADO.Net XML IO Drawing

Security Collection Threading System อื่น ๆ

Common Language Runtime (CLR)

Compilers Memory Managem Debugging Common Type System อื่น ๆ






1. Common Language Runtime (CLR) เป็นส่วนพื้นฐานที่ติดต่อกับระบบปฏิบัติการ Windows ทำหน้าที่เป็น run-time environment ให้กับโปรแกรมที่เขียนขึ้นสำหรับใช้บน .Net CLR มีส่วนของ compiler ทั้งที่เป็นแบบปกติ (compile ก่อนที่จะนำโปรแกรมไปใช้) และแบบ Just-In-Time (compile เมื่อจะใช้โปรแกรมนั้น ๆ) มีส่วนของ Memory Management ที่เอาไว้สำหรับจัดสรรหน่วยความจำของเครื่องให้กับโปรแกรม รวมไปถึงการทำ Garbage Collection (การเรียกคืนหน่วยความจำที่ไม่ได้ใช้อีกต่อไป) ส่วนของ Common Type Systems (CTS) ทำให้ภาษาต่าง ๆ ที่เขียนขึ้นบน .Net สามารถทำงานร่วมกันได้ เพราะขนาด และรูปแบบของข้อมูลที่เก็บไว้นั้นเป็นรูปแบบเดียวกัน



2. Base Classes เป็น class library พื้นฐาน ที่โปรแกรมต่าง ๆ ไม่ว่าจะเขียนด้วยภาษาใดบน .Net ก็สามารถใช้ร่วมกันได้ เช่น การติดต่อระบบฐานข้อมูล (ADO.Net), การติดต่อกับ file system ของ server (IO), ฯลฯ



3. Programming Languages เป็นเซ็ตของ ภาษาคอมพิวเตอร์ ที่ถูกออกแบบมาเพื่อการเขียนโปรแกรมบน .Net Framework ไมโครซอฟท์นั้นเน้นไปที่ 3-4 ภาษาหลัก ๆ ได้แก่ VB.Net ซึ่งเป็นตัวที่พัฒนาต่อมาจาก VB, C# ซึ่งเป็นภาษาใหม่ที่มี syntax ใกล้เคียงกับ Java และ C++, Visual C++, และ JScript.Net ส่วนภาษาอื่น ๆ นั้น มีบริษัท หรือหน่วยงานอื่น ๆ เป็นผู้พัฒนาขึ้น ซึ่งคาดว่าจะมีเป็นสิบ ๆ ภาษา สำหรับ .Net Framework นั้นไม่ว่าจะเขียนโปรแกรมด้วยภาษาใดก็ตาม Compiler ใน CLR ก็จะ compile โปรแกรมนั้นให้อยู่ในรูปของ Intermediate Langauge (IL) ซึ่งจะถูกนำไปแปลเป็นภาษาเครื่อง (Native Code) อีกทีเมื่อตอนที่นำไปใช้



4. ASP.Net เป็นภาษา script ที่พัฒนาต่อมาจาก ASP ตัวเก่า เพื่อให้โปรแกรมเมอร์สามารถพัฒนา web application ให้ใช้ .Net ได้สะดวกขึ้น ASP.Net นี้ถึงแม้จะอ้างอิงมาจาก ASP ตัวเก่า แต่ก็มี syntax หลายส่วนที่เปลี่ยนแปลงไป อย่างไรก็ดี ผู้ที่เคยเขียน ASP มาก่อนไม่น่าจะมีปัญหาใรการอ่าน และเขียน ASP มากนัก



หมายเหตุ: สำหรับผู้อ่านที่คุ้นเคยกับ Java ของ Sun มาก่อน จะเห็นได้ว่า .Net Framework กับ Sun's J2EE นั้นคล้ายกันมากทีเดียว สรุปโดยคร่าว ๆ ได้ดังนี้ CLR = JVM (Java Virtual Machine), IL = Java Bytecode, .Net base classes = Java Class Library, .Net Programming Languages = Java Langauge, ASP.Net = Java Server Page (JSP). ข้อแตกต่างในด้าน Architecture หลัก ๆ ก็คือ IL ของ .Net นั้นต้อง run บน Windows เท่านั้น (ไมโครซอฟท์บอกว่า run บน OS ไหนก็ได้ แต่อย่างที่ทราบกันดี คงยากที่จะได้เห็นในอนาคตอันใกล้ หรือไม่ก็คงไม่ดีเท่ากับ run บน Windows) แต่ Java Bytecode นั้นสามารถ run บน OS ไหนก็ได้ที่มี JVM. ส่วนในด้าน performance นั้น ไมโครซอฟท์ ได้ทำการเปรียบเทียบโดยพัฒนาโปรแกรม Pet Shop ด้วย .Net โปรแกรม Pet Shop นี้เป็น reference application ที่พัฒนาบน J2EE โดย Sun ไมโครซอฟท์แสดงให้เห็นว่า .Net นั้นทำให้ code สั้นลงหลายเท่าตัว ทำให้โปรแกรมทำงานเร็วขึ้นหลายเท่า เป็นต้น ในส่วนนี้ก็คงต้องรอดูกันต่อไปว่า Sun จะพัฒนา Java อย่างไรเพื่อแก้เกมส์ในจุดนี้



.Net Framework มีดีตรงไหน

1. ทำให้พัฒนาโปรแกรมได้เร็วขึ้น -- มีโปรแกรมพื้นฐานส่วนมากไว้ให้ใช้เรียบร้อยแล้ว (base classes) โปรแกรมที่ถูกพัฒนาขึ้นใหม่สามารถนำไป compile เพื่อให้โปรแกรมอื่น ๆ ได้ใช้อีก (reusable)

2. โปรแกรม reliable ขึ้น -- เนื่องจากการเขียนโปรแกรมบางรูปแบบ บน .Net นั้นไม่สามารถกระทำได้ด้วยภาษาที่มีให้บน .Net ยกตัวอย่างเช่น การใช้ Pointer ในภาษา C ทำให้ลดโอกาสที่โปรแกรมจะทำอะไรผิดพลาดจนทำให้ระบบไม่สามารถทำงานต่อไปได้

3. ปลอดภัยมากขึ้น -- เพราะว่า .Net Framework ควบคุมโปรแกรมว่า อะไรทำได้ อะไรทำไม่ได้

4. การนำโปรแกรมที่พัฒนาขึ้นไปใช้บน server จริงง่ายขึ้น -- .Net Framework อนุญาตให้โปรแกรมที่พัฒนาขึ้นนั้นระบุข้อมูลต่าง ๆ ไว้กับ code เลย ทำให้ไม่ต้องนำไป register เหมือนที่ component ต้องทำ



คำศัพท์อื่น ๆ ที่น่าสนใจ

1. Web Forms เป็นส่วนที่ใช้สร้าง interface ต่าง ๆ บน web browser ของผู้เข้าชมเว็บไซต์ web form จะทำการตรวจสอบ browser ของผู้ใช้ และสร้าง HTML ที่ถูกต้องสำหรับ browser นั้น ๆ

2. Server Controls เป็นส่วนต่าง ๆ ที่ โปรแกรมเมอร์สามารถนำมาประกอบกันเพื่อใช้งานบนเว็บไซต์ได้ server control นั้นมีหลายประเภทได้แก่

2.1 HTML Server Controls ได้แก่ HTML Tag ทั่ว ๆ ไป เช่น input, table, ฯลฯ

2.2 Web Server Controls เป็น control ชนิดใหม่ที่ .Net มีให้ใช้ เช่น CheckBoxList, RadioBoxList, DataGrid, Calendar, ฯลฯ ข้อดีของ Server Control ก็คือ มันสามารถเก็บค่าต่าง ๆ บน form ไว้ได้โดยอัตโนมัติ ซึ่งทำให้โปรแกรมเมอร์ไม่ต้องเสียเวลาสร้าง hidden field หรือส่งค่าผ่านทาง URL.

2.3 Validator Controls เป็น control ชนิดใหม่อีกเช่นกัน มีไว้ใช้สำหรับการตรวจสอบข้อมูลที่ผู้ใช้กรอกลงในฟอร์ม ว่าถูกต้องหรือไม่ก่อนที่จะถูกส่งไปประมวลผลที่ server ยกตัวอย่างเช่น การตรวจสอบว่า e-mail address ที่ผู้ใช้กรอกมานั้น อยู่ในรูปแบบที่ถูกต้องหรือไม่ (username@somedomain.com)

Server Control มีส่วนอย่างมากในการทำให้เขียนโปรแกรมได้ง่าย และเร็วขึ้น

3. Compiled Code และ Code Behind -- Compiled code นั้นเทียบได้กับ Component ใน ASP แบบเก่า ใน .Net Framework นั้น compiled code มีชื่อเรียกว่า Assembly (.dll file) ซึ่งเราสามารถนำไปไว้ใน directory ที่ชื่อ bin .Net จะตรวจเช็คโดยอัตโนมัติ โดยที่เราไม่ต้องทำการ register assembly เหล่านั้น เหมือนอย่างที่เคยทำกับ component. Code behind คือการแยกส่วนของเนื้อหา และส่วนของโปรแกรม ในหน้าเว็บออกจากกันเป็นคนละไฟล์ ส่วนนี้ทำให้การเขียนโปรแกรม และแก้ไขโปรแกรมทำได้ง่ายมากขึ้นไปอีก ต่างจาก ASP ในแบบเก่า ที่ทุกอย่างผสมปนเปกันไปในหน้าเดียวกัน สำหรับรูปแบบใหม่นี้ web page จะมีนามสกุลเป็น .aspx ส่วน code behind จะมีนามสกุลเป็น .aspx.cs (ถ้าใช้ C#) หรือ .aspx.vb (ถ้าใช้ VB.Net)
1/2/55 โพสต์โดย ยังไม่มีชื่อเล่น
นอกจากนี้คุณอาจสนใจ
คอมเราควรใช้microsoft.net frameworkเวอร์ชั่นไหน
.Net Framework คืออะไร มีประโยชน์อย่างไรบ้าง
vb.net กับ Visual Basic 2010 ต่างกันอย่างไร
XNA เป็น game engine หรือ game .net framework ครับ??
.Net Framework
เข้าสู่ระบบ
ดู กูรู ใน: โทรศัพท์มือถือ | คลาสสิก
©2014 Google - นโยบายส่วนบุคคล - ผู้ช่วยกูรู