Tags:
Node Thumbnail

การเปลี่ยนแปลงที่สำคัญที่สุดของ Windows Phone 8 ในระดับฐานรากมี 2 เรื่อง อย่างแรกคือใช้แกนร่วมกับ Windows 8 และอย่างที่สองคือเปลี่ยนแพลตฟอร์มการพัฒนาจาก .NET CF/Silverlight มาเป็น .NET รุ่นใหญ่

เมื่อคืนนี้นอกจากไมโครซอฟท์ได้เปิดตัว [WP8 SDK](http://www.blognone.com/node/37615) ก็ยังเผยรายละเอียดของ __.NET Framework for Windows Phone 8__ ที่เปลี่ยนแพลตฟอร์มการพัฒนาแอพบน WP8 ด้วย

ประเด็นที่น่าสนใจมีดังนี้

### CoreCLR

- แพลตฟอร์มของ WP8 จะทำงานบน __CoreCLR__ ซึ่งเป็นแกนหลักของ common language runtime (CLR) ที่ใช้ใน .NET รุ่นปกติ - อธิบายง่ายๆ คือ CoreCLR เป็น .NET รุ่นปกติที่ลดฟีเจอร์ลงมาบางอย่าง แต่มีฟีเจอร์เยอะกว่า .NET CF เดิม - CoreCLR จะทำงานอยู่บน Windows Phone OS core อีกชั้นหนึ่ง สองส่วนนี้คือแกนหลักของ WP8 - CoreCLR ใช้พลังของซีพียูมัลติคอร์ได้อย่างเต็มที่ ผลลัพธ์คือประสิทธิภาพดีขึ้น เวลาที่ใช้เรียกแอพ (startup time) ดีขึ้นเฉลี่ย 50% และประหยัดพลังงานมากขึ้น - CoreCLR engine ใช้ garbage collector ตัวเดียวกับ .NET 4.5

### Async

- ไมโครซอฟท์นำฟีเจอร์ [async programming model](http://msdn.microsoft.com/en-us/library/vstudio/hh191443.aspx) ของ .NET 4.5 มาใส่ใน .NET WP ด้วย ช่วยให้การทำงานแบบขนานได้ดีกว่าเดิม - async method เกือบทุกตัวใน .NET รุ่นเต็มจะอยู่ใน .NET WP

### Compiler in the Cloud

- แอพที่เราส่งขึ้น Windows Store จะคอมไพล์เป็น CIL ตามปกติ - จากนั้นไมโครซอฟท์จะมี compiler in the cloud ทำงานบนกลุ่มเมฆ แปลงโค้ด CIL ให้เป็น ARM native ให้ก่อน (pre-compiled) - ผู้ใช้ดาวน์โหลดแอพจาก Windows Store ที่แปลงเป็น ARM native แล้ว ผลคือประสิทธิภาพของแอพดีขึ้น และประหยัดพลัง-แบตของเครื่องมือถือ เพราะไม่ต้องมาคอมไพล์เองอีกรอบ - การคอมไพล์บนกลุ่มเมฆช่วยให้ไมโครซอฟท์สามารถใช้เทคนิคการ optimization ขั้นสูงได้ โดยนักพัฒนาไม่ต้องกังวลเรื่องสมรรถนะของเครื่องตัวเองที่ใช้คอมไพล์อีก

### Windows Phone Runtime

- Windows 8 มี [WinRT หรือ Windows Runtime](http://www.blognone.com/topics/winrt) ฝั่งของ Windows Phone 8 ก็มี __Windows Phone Runtime__ (ไม่มีตัวย่อ) เช่นกัน - แอพสามารถเข้าถึง native API ของ WP8 ได้ผ่าน Windows Phone Runtime - ไมโครซอฟท์มีเครื่องมือ Portable Class Libraries สำหรับการเขียนแอพข้ามแพลตฟอร์มระหว่าง WinRT กับ Windows Phone Runtime ให้ด้วย

ที่มา - [.NET Framework Blog](http://blogs.msdn.com/b/dotnet/archive/2012/10/30/announcing-the-release-of-the-net-framework-for-windows-phone-8.aspx)

นอกจากนี้ ไมโครซอฟท์ยังปรับ Blend (หรือชื่อเดิมคือ Expression Blend) เครื่องมือออกแบบ UI ให้ทำงานร่วมกับ Visual Studio 2012 และ WP8 SDK ด้วย (Blend อยู่ในชุด WP8 SDK อยู่แล้ว)

รายละเอียดอ่านจาก [Blend Insider](http://blendinsider.com/news/announcing-windows-phone-8-sdk-design-great-apps-with-blend-2012-10-30/)

Get latest news from Blognone

Comments

By: mr_tawan
ContributoriPhoneAndroidWindows
on 31 October 2012 - 11:31 #499150
mr_tawan's picture

จริง ๆ ผมไม่เข้าใจเลยนะว่าจะแยก WinRT กับ WinPRT ทำไม ... คือ เทียบ HW กันแล้วบน Tablet (Windows RT) กับ มือถือ (Windows Phone 8) มันแทบจะเหมือนกัน ต่างกันแค่ว่าบนมือถือมีส่วนของโทรศัพท์เพิ่มขึ้นมา ซึ่งก็แค่เพิ่ม Telephony API เข้าไปก็จบแล้ว

คิดว่าเป็นเรื่องการเมืองภายในระหว่างทีมมากกว่า


  • 9tawan.net บล็อกส่วนตัวฮับ
By: leonoinoi
AndroidUbuntuWindows
on 31 October 2012 - 11:52 #499195 Reply to:499150

ไม่แน่ใจว่าเพราะมีอยู่ช่วงหนึ่งที่ เขาพยายาม optimize WP ให้ใช้งาน RAM ต่ำกว่า 512 ได้หรือเปล่า จึงต้องทำแยก version (ซึ่งผมไม่เห็นด้วยแต่แรกอยู่แล้ว เพราะอย่างที่เห็น HW มันไปเร็วมากจนเรียกว่าตอนนี้ อยากทำไรก็ทำ)

By: Be1con
ContributorWindows PhoneWindowsIn Love
on 31 October 2012 - 14:01 #499299 Reply to:499150
Be1con's picture

+1 รวมไปเลยดีกว่า หรือว่าเดี๋ยวมันจะรวมใน WP9


Coder | Designer | Thinker | Blogger

By: cmmadnat
iPhoneUbuntuWindows
on 31 October 2012 - 11:31 #499151

C# vb c++ หรือ JavaScript กันเนี่ย

By: cmmadnat
iPhoneUbuntuWindows
on 31 October 2012 - 11:36 #499165

WinRT บังคับ JavaScript แต่อันนี้ .net เอาไงเนี่ย

By: Manta
AndroidWindows
on 31 October 2012 - 12:52 #499258 Reply to:499165
Manta's picture

ไม่บังคับครับ คุณจะกลับไปเขียน C#, VB ก็ได้ครับ เขามีตัวเลือกให้คุณ 3 ทาง (รวม HTML+JS ด้วย)

By: nonth
ContributoriPhoneIn Love
on 31 October 2012 - 11:39 #499173
nonth's picture

อ่านแล้วรู้สึกว้าวๆไงไม่รู้ - -a

By: rattananen
AndroidWindows
on 31 October 2012 - 11:47 #499182 Reply to:499173

ก็ Apple กับ Google ไม่ค่อยจะนำเสนอข้อมูลเชิงสถาปัตกรรมของระบบตัวเองหนิครับ เห็นบอกแต่ feature ซะส่วนมาก

By: newstar
iPhoneWindows PhoneAndroid
on 31 October 2012 - 12:34 #499238 Reply to:499182

Apple ผมไม่รู้นะ

แต่ Google ผมว่านี่เปิดสุด ๆ แล้วมั๊งครับ

By: rattananen
AndroidWindows
on 31 October 2012 - 13:30 #499281 Reply to:499238

ผมหมายถึงข้อมูลเชิงสถาปัตกรรมของระบบครับ

ไม่ใช่ความเปิดกว้างของ source code ของระบบ

ข้อมูลเชิงสถาปัตกรรมมันมีกันทุกระบบครับ เพียงแต่ Apple กับ Google ไม่ค่อยนำมาโชว์

By: newstar
iPhoneWindows PhoneAndroid
on 31 October 2012 - 15:35 #499349 Reply to:499281

ผมว่าแอนดรอยด์มันก็เปิดหมดนะทั้งสถาปัตยกรรม คุณอยากรู้รายละเอียดอะไรก็ได้นี่ครับ แค่เข้าไปเว็บแอนดรอยด์มันก็บอกหมดนี่นา

By: TeamKiller
ContributoriPhone
on 31 October 2012 - 15:47 #499354 Reply to:499349
TeamKiller's picture

เขาไม่ได้เอามาโปรโมทหรือเปล่าครับ

By: rattananen
AndroidWindows
on 31 October 2012 - 15:57 #499358 Reply to:499354

ใช่ครับ

By: PaPaSEK
ContributorAndroidWindowsIn Love
on 1 November 2012 - 09:39 #499636 Reply to:499354
PaPaSEK's picture

เขาโปรโมทครับ ข่าวบล็อกนันเองผมก็จำได้ว่าเคยมี

เพียงแต่ข่าวมันน้อย ... บางทีคนไม่สนใจอ่านก็ไปโทษการโปรโมทอีก

By: Ginosty
AndroidWindows
on 31 October 2012 - 11:48 #499186

-*- ทำไมเห็นโลโก้แล้วนึกถึง Net bank

By: Manta
AndroidWindows
on 31 October 2012 - 12:53 #499260 Reply to:499186
Manta's picture

ผมเห็นโลโก้ Net Bank แล้วนึกถึง .NET Fx แทนนะ จริง ๆ เพราะโลโก้ .NET Fx มันเกิดก่อน

By: langisser
In Love
on 31 October 2012 - 21:46 #499467 Reply to:499260

+1 อะไรเกิดก่อนผมคงไม่รู้ แต่เห็นโลโก้ Net Bank แล้วนึกถึง .NET

By: EngineerRiddick
iPhoneWindows PhoneAndroidUbuntu
on 31 October 2012 - 12:36 #499240
EngineerRiddick's picture

อ้าว ไหนก่อนหน้านี่บอก Silverlight ตายไง โผล่มาร่างใหม่หรอ?

ช่วงนั้นทับถมเพื่อน Silverlight สุดๆ (ผมขาAdobeอ่ะ=_=)

By: PaPaSEK
ContributorAndroidWindowsIn Love
on 1 November 2012 - 09:39 #499638 Reply to:499240
PaPaSEK's picture

มันตายไปจากใจผมตั้งแต่ได้เข้าเว็บที่ใช้ Silverlight ครั้งแรกแล้วครับ

By: giogio
Android
on 31 October 2012 - 17:27 #499385
giogio's picture

ตกลงถ้าต้องการเขียนแอพลงทั้ง windows phone 8 / windows 8 RT / windows 8 Pro นี่ ต้องเขียนเป้น 3 เวอร์ชั่นเลยหรือ หรือสามารถเขียนครั้งเดียวแต่รันได้ทั้ง 3 platforms ?

By: Ford AntiTrust
ContributorAndroidBlackberryUbuntu
on 31 October 2012 - 18:01 #499406 Reply to:499385
Ford AntiTrust's picture

code behind น่าจะชุดเดียวกันได้นะ ส่วนหลักๆ ที่น่าจะแตกต่างกันน่าจะเป็นเฉพาะส่วน view มั้ง เพราะจากที่เคยเขียนมา code behind reuse จาก .Net Desktop App ได้เลย

By: inwwin
Windows PhoneWindows
on 31 October 2012 - 20:43 #499451
  • แอพที่เราส่งขึ้น Windows Store จะคอมไพล์เป็น CLR ตามปกติ

แก้ครับ ผมว่า มันต้องคอมไพล์เป็น IL (Intermediate Language) สิครับ ไม่ใช่ CLR (Common Language Runtime)

By: mk
FounderAndroid
on 1 November 2012 - 10:36 #499662 Reply to:499451
mk's picture

จริงด้วยครับ ผมจำสับสนกันระหว่าง CIL/CLR