Tags:
Node Thumbnail

ที่งาน BUILD 2014 ไมโครซอฟท์ประกาศแผนการใหม่ๆ ของเทคโนโลยีสายการพัฒนาโปรแกรมหลายอย่าง ในฝั่งของ .NET นอกจากการก่อตั้ง .NET Foundation ซึ่งเป็น "องค์กร" แล้ว ไมโครซอฟท์ยังเปลี่ยนโลโก้ .NET มาเป็นแนว Metro และประกาศทิศทาง/วิสัยทัศน์/ฟีเจอร์ใหม่ของ .NET ด้วย

จากภาพจะเห็นว่าตัวเทคโนโลยี .NET ถูกแบ่งออกเป็น 2 ส่วนคือตัวแกนหลัก Core .NET และการขยาย .NET ไปยังอุปกรณ์ (devices) และบริการ (services) ให้มากกว่าเดิม ผ่านกระบวนการพัฒนาที่เปิดกว้างมากขึ้นโดยใช้ .NET Foundation เป็นองค์กรกลาง

.NET Roadmap

1) Core .NET

แกนของ .NET สามารถแบ่งออกได้เป็นอีก 2 ส่วนใหญ่ๆ คือ รันไทม์ และคอมไพเลอร์

.NET Compiler Platform (Roslyn)

.NET Compiler Platform คือคอมไพเลอร์ภาษา VB และ C# รุ่นหน้า รวมถึง API ที่จะให้ IDE เรียกใช้งานคอมไพเลอร์ในลักษณะ compiler-as-a-service ด้วย (อธิบายง่ายๆ คือ IDE จะมองคอมไพเลอร์เป็นบริการสำหรับคอมไพล์โปรแกรม)

ไมโครซอฟท์เคยโชว์ .NET Compiler Platform มาแล้วตั้งแต่ปี 2012 ในชื่อโค้ดเนมว่า Roslyn มาถึงวันนี้มันได้ชื่อจริง และออกรุ่นพรีวิวมาให้ทดสอบกับ Visual Studio 2013 แล้ว รุ่นสมบูรณ์จะถูกผนวกมาเป็นส่วนหนึ่งของ .NET และ Visual Studio รุ่นหน้า

ไมโครซอฟท์ยังประกาศเปิดซอร์ส .NET Compiler Platform (สัญญาอนุญาต Apache 2.0) และพัฒนาภายใต้ .NET Foundation ด้วย รายละเอียดดูได้ที่ Codeplex

นอกจากนี้ .NET Compiler Platform ยังรองรับฟีเจอร์ใหม่ๆ ในภาษา C# และ VB (เป็นการเปลี่ยนแปลงที่ตัวภาษา) เช่น primary constructors, auto-property initializers ด้วย

.NET JIT Compiler (RyuJIT)

ในส่วนของรันไทม์ (การนำซอฟต์แวร์ที่คอมไพล์แล้วไปรัน) ไมโครซอฟท์ก็ออก .NET JIT compiler ตัวใหม่ที่เคยใช้โค้ดเนมว่า RyuJIT รุ่นพรีวิว โดย JIT ตัวใหม่จะช่วยให้การรันแอพ .NET มีประสิทธิภาพดีขึ้นทั้งตอนโหลดและตอนทำงาน

RyuJIT รุ่นล่าสุดยังรองรับชุดคำสั่งแบบ SIMD (Single Instruction, Multiple Data) ที่มากับซีพียูรุ่นใหม่ๆ (เช่น SSE2, AVX) ที่ช่วยเร่งประสิทธิภาพการประมวลผลแบบเวกเตอร์มากขึ้นด้วย

ตอนนี้ RyuJIT ยังมีสถานะเป็นพรีวิวรุ่นที่สาม

2) .NET in Devices and Services

ในแง่ของการนำ .NET ไปใช้งาน ไมโครซอฟท์ก็มีโครงการและความร่วมมืออีกหลายประการที่จะดัน .NET ไปยังอุปกรณ์และบริการใหม่ๆ

.NET Native

ข่าวใหญ่ของงาน BUILD ครั้งนี้คือ Universal Windows Apps รูปแบบการพัฒนาแอพแบบใหม่ที่จะรันได้ทั้งบน Windows, Windows Phone, Xbox One ซึ่งถือเป็นอนาคตของการพัฒนาแอพสายไมโครซอฟท์

คำถามต่อมาคือ แล้วการพัฒนาแอพแบบ native ที่แล้วๆ มาจะทำอย่างไร แอพแบบ Universal จะมีประสิทธิภาพดีแค่ไหนเมื่อเทียบกับ native

คำตอบของไมโครซอฟท์คือรันแอพ .NET (ที่เขียนด้วย C#) แบบ native แทนสิ โดยใช้ .NET Native รุ่นพรีวิวมาให้ทดสอบกันแล้ว (ต้องใช้ร่วมกับ Visual Studio 2013 Update 2)

ไมโครซอฟท์บอกว่าจากการทดสอบภายใน แอพ Windows Store เดิมเอามารันแบบ native จะรันได้เร็วกว่าเดิมถึง 60% และลดปริมาณหน่วยความจำลง ตอนนี้ .NET Native รองรับสถาปัตยกรรม ARM และ x64 (x86 จะตามมาในภายหลัง)

ไมโครซอฟท์มีสโลแกนอย่างไม่เป็นทางการของ .NET Native ว่า "the performance of C++ with the productivity of C#"

รายละเอียดดูได้จาก .NET Native และ .NET Framework Blog

การทำงานบนอุปกรณ์ต่างค่าย

จากแผนภาพข้างต้นจะเห็นรายชื่อของอุปกรณ์ที่ .NET จะรองรับคือ

  • Azure and Windows Server
  • Windows Desktop
  • Windows Store
  • iOS and Android

สามอย่างแรกอยู่ภายในอาณาจักรของไมโครซอฟท์เอง แต่กรณีของ iOS/Android ที่เป็นอุปกรณ์คนละค่ายกัน ไมโครซอฟท์ใช้วิธีจับมือเป็นพาร์ทเนอร์กับบริษัท Xamarin ที่ทำเรื่องนี้อยู่แล้ว (ข่าวเก่า)

รูปแบบจะเหมือนกับการพัฒนาแอพด้วย Xamarin ในปัจจุบัน คือสร้างแอพด้วย C# และเรียกใช้ .NET Portable Class Libraries (ส่วนตัว logic ของแอพจะเหมือนกันหมด) แล้วเขียนส่วน UI แยกตามแพลตฟอร์มนั้นๆ

กระบวนการรันจะอยู่บน .NET ในกรณีของแพลตฟอร์มไมโครซอฟท์ และอยู่บน Xamarin Runtime ถ้าใช้บน iOS/Android

เครื่องมือพัฒนาสามารถใช้ Visual Studio ได้โดยตรงถ้าถนัดมือ หรือจะใช้ Xamarin Studio ก็ได้

Azure Mobile Services

ฝั่งของบริการบนกลุ่มเมฆ ไมโครซอฟท์มีบริการชื่อ Azure Mobile Services ซึ่งเป็นบริการ backend ของแอพมือถือต่างๆ อยู่ก่อนแล้ว งานนี้ไมโครซอฟท์จึงประกาศว่าสามารถเขียน .NET ร่วมกับ Azure Mobile Services ได้แล้ว (มี API บน .NET ที่เรียกใช้งาน Azure Mobile Services บนกลุ่มเมฆได้โดยตรง)

ที่มา - Somasegar's Blog, .NET Future

Get latest news from Blognone

Comments

By: GermanEmpire on 5 April 2014 - 09:59 #693207
GermanEmpire's picture

ชอบสีม่วงนะ สีมันดูขรึมๆ เกรงขาม

By: grenadin
iPhoneWindows PhoneAndroidWindows
on 5 April 2014 - 10:32 #693215
grenadin's picture

Runtime "ริวจิต" ว้าวววว

By: pepporony
ContributorAndroid
on 5 April 2014 - 11:01 #693221 Reply to:693215

รันทีต้องใช้จิตสัมผัสกันเลยทีเดียว

By: cmmadnat
iPhoneUbuntuWindows
on 5 April 2014 - 10:39 #693218

ปีนี้ปีของเค้าจริงๆ 2014 มาแรงทุก platform
ยกเว้น server
gg

By: hisoft
ContributorWindows PhoneWindows
on 5 April 2014 - 11:42 #693225 Reply to:693218
hisoft's picture

ปีนี้แย่งพื้นที่ข่าวได้เยอะมากครับ

แต่มองรอบตัวแล้วเหมือนไม่เปลี่ยนแปลงเท่าไหร่ คนเคยใช้ก็ใช้ คนไม่เคยใช้ก็ไม่เปลี่ยนมาใช้ (T^T) ยกเว้นพวกซื้อคอมใหม่ที่เริ่มยอมใช้ Windows 8 บ้าง

By: darthvader
Windows PhoneWindows
on 5 April 2014 - 11:56 #693234 Reply to:693225
darthvader's picture

+1

By: Architec
ContributorWindows PhoneAndroidWindows
on 5 April 2014 - 13:02 #693252 Reply to:693218

Server หน่วงกว่าเดิมเยอะ บั๊กแยะ

แต่ฟีเจอร์ใหม่ๆก็ถือว่ายอมรับได้นิดนึงโดยเฉพาะเรื่อง Server Manager ที่เอาไว้ควบคุม Server Core ผ่าน GUI ได้สบายๆ ไม่ต้องมือหงิกละ

By: darthvader
Windows PhoneWindows
on 5 April 2014 - 11:57 #693236
darthvader's picture

Microsoft น่าจะจัด Xamarin มาให้ครบๆ ไปเลย // ขอบคุณสำหรับข่าวนะครับ

By: varavut
ContributorWindows PhoneAndroidBlackberry
on 5 April 2014 - 15:36 #693280
By: obnetarena
Windows PhoneWindows
on 5 April 2014 - 16:55 #693291

"the performance of C++ with the productivity of C#"

ผมนึกถึงข่าวนี้เลย

By: ThE_NeXt
Windows Phone
on 6 April 2014 - 02:15 #693406

ที่งาน BUILLD 2014 >> BUILD 2014

By: GooEng
ContributorWindows PhoneAndroidUbuntu
on 6 April 2014 - 02:23 #693409
GooEng's picture

เริ่มไปแนว LLVM หรือ Facebook HHVM คือ ใช้ภาษาเดิมแต่ไปปรับที่ VM แทนไปเลย


คำตอบของข้า คือ ประกาศิต