Tags:
Node Thumbnail

ไมโครซอฟท์ประกาศเป้าหมายของ Windows 10 ว่าภายใน 2 ปีข้างหน้าจะต้องมีอุปกรณ์ที่รัน Windows 10 จำนวน 1 พันล้านชิ้น ซึ่งถือเป็นแพลตฟอร์มที่ใหญ่มาก เพราะ Android KitKat ยังทำได้แค่ประมาณ 500 ล้านชิ้นเท่านั้น

เพื่อให้ Windows 10 มีแอพจำนวนมากพอ ไมโครซอฟท์จึงประกาศแนวทาง 4 ข้อที่ช่วยให้นักพัฒนาสามารถนำโค้ดของแอพบนแพลตฟอร์มอื่นๆ มาใช้งานบน Windows 10 ได้ง่ายขึ้น

ไฮไลท์อยู่ที่การนำโค้ด Android และ iOS มารันบน Windows 10 นั่นเองครับ

alt="IMG_0339"

Android

กรณีของ Android จะเป็นการนำแอพของ Android มารันบนอุปกรณ์ Windows 10 ได้เลย โดยไมโครซอฟท์จะนำบางส่วนของตัวระบบปฏิบัติการ Android (ใช้คำว่า Android subsystem) มาฝังอยู่บน Windows 10 for phones ด้วย

นักพัฒนาที่มีโค้ด Android อยู่แล้ว (ในสไลด์บอกว่ารองรับทั้ง Java/C++) สามารถพอร์ตแอพมารันบน Windows 10 ได้เลย (รายละเอียดว่าเข้ากันได้แค่ไหน ต้องรอข้อมูลเพิ่มเติมอีกครั้งนะครับ)

ตัวอย่างที่นำมาโชว์ เป็นแอพจองโรงแรมบน Android

alt="IMG_0335"

นำแอพเดียวกันมารันบน Windows 10 for phones (มุมขวาบนสุด)

alt="IMG_0336"

หน้าตาจะคล้ายกัน แต่รองรับฟีเจอร์ของ Windows 10 แบบเนทีฟ เช่น คีย์บอร์ด

alt="IMG_0337"

alt="IMG_0338"

iOS

กรณีของ iOS จะต่างออกไปอยู่บ้าง โดยเป็นการนำโค้ดภาษา Objective-C มาคอมไพล์ใหม่บน Visual Studio บนวินโดวส์

alt="IMG_0340"

ตัวอย่างการนำแอพชื่อ Math Dreams บน iOS มาคอมไพล์แล้วรันบน Windows 10 ไมโครซอฟท์บอกว่ารองรับฟีเจอร์ของ iOS อย่าง Core Animation ด้วย

alt="IMG_0342"

.NET/Win32

นอกจาก iOS/Android แล้ว ไมโครซอฟท์ยังประกาศว่าเราสามารถนำโค้ดโปรแกรมบนวินโดวส์เดิม ที่เขียนไว้ด้วย .NET หรือ Win32 API มาแปลงเป็นแอพแบบ Universal ลง Windows Store ได้ด้วย

แอพ .NET/Win32 จะรันแบบ .exe ที่เข้าถึงตัวระบบปฏิบัติการได้มาก จนอาจไม่ปลอดภัยตามมาตรฐานแอพสมัยใหม่ ไมโครซอฟท์จึงแก้ปัญหาโดยการให้แอพรันแบบ application virtualized บนเทคโนโลยี App-V ของตัวเอง

บริษัทที่ประกาศว่าจะนำแอพ Win32 มาลง Windows Store คือ Adobe ที่สัญญาว่าจะเอา Photoshop Elements และ Premier Elements มาลงแน่นอน (ส่วน Photoshop CC ตัวเต็มนั้นยังไม่ประกาศ)

alt="IMG_0332"

เว็บ

สำหรับคนที่มีเว็บแอพอยู่แล้ว ไมโครซอฟท์จะช่วยให้นำเว็บแอพมาแปลงเป็น Windows 10 ง่ายขึ้น โดยเซิร์ฟเวอร์สามารถตรวจสอบได้ว่าเว็บเว็บนั้นรันอยู่บนเบราว์เซอร์ หรือรันเป็นแอพ Universal ถ้าพบว่าเป็นกรณีหลัง ก็สามารถเข้าถึงฟีเจอร์ของระบบได้ เช่น รองรับ in-app purchase ของตัว Windows Store โดยตรงเลย

Get latest news from Blognone

Comments

By: Psykocinezys
AndroidWindows
on 30 April 2015 - 02:07 #809990
Psykocinezys's picture

ไม้ตายสุดท้าย ถ้าล้มเหลวอีก ก็พับเสื่อกลับบ้านได้เลย

By: qo
iPhoneUbuntuWindows
on 30 April 2015 - 08:58 #810074 Reply to:809990
qo's picture

ใช้คำว่า "ไม้ตาย" หรือว่า "หนทางรอดสุดท้าย" ดี

By: Choblizz
iPhone
on 30 April 2015 - 02:12 #809991

อ่านแล้วนึกถึงตอนที่อยากให้มีภาษากลางภาษาเดียว ที่ใช้แทนได้ทุกภาษา
แต่การแปลงนี่เจ๋งกว่าตรงที่ไม่ต้องมานั่งเรียนรู้ภาษาใหม่ด้วย สุดยอดจริงๆ
แต่ว่ามันจะแปลงได้ 100% เลยหรอครับ

By: Eagle Blue Eyes
ContributorWindows PhoneAndroidSymbian
on 30 April 2015 - 02:18 #809993 Reply to:809991
Eagle Blue Eyes's picture

เท่าที่ดูน่าจะได้ 99% นะครับ
Android เป็น Open Source ไม่น่าจะยากถ้าจะสร้าง Run-Time ขึ้นมาบนวินโดวส์แต่ Android Emulator, BlueStack ยังทำได้ไม่ดีเท่าไหร่ ต้องรอดู

ถ้าพูดถึง iOS อันนี้น่าจะยากกว่าอาจจะไม่ถึง 80% ด้วยซ้ำ บางโปรแกรมอาจจะต้องมาแก้โค๊ดเพิ่มอีกหน่อย

By: itpcc
ContributoriPhoneRed HatUbuntu
on 30 April 2015 - 02:19 #809995
itpcc's picture

ถนนทุกสาย (อยากให้) มุ่งสู่ Windows10 สินะ
ว่าแต่จะรองรับ Swift มั้ยล่ะนั่น


บล็อกส่วนตัวที่อัพเดตตามอารมณ์และความขยัน :P

By: tgst
ContributoriPhoneWindows PhoneWindows
on 4 May 2015 - 21:01 #810872 Reply to:809995
By: Mikamura
AndroidUbuntuWindows
on 30 April 2015 - 02:19 #809996

ถ้ารันเกมบน Android และ iOS ได้หมดจดจริงๆ ใช้ฟังก์ชั่นได้ครบจริงๆ (อาจจะต้องหาวิธีเจรจากับ Google กับ Apple เรื่องการรับจ่ายเงิน) รับรองว่าคนไหลมาเทมาแน่นอน

By: teerapon0009
Windows PhoneAndroidWindows
on 30 April 2015 - 02:32 #809997
teerapon0009's picture

เอิ่ม...ทุกสายจงวิ่งไปทางเดียวกัน

By: allinsense
iPhoneWindows PhoneAndroidBlackberry
on 30 April 2015 - 02:43 #810000
allinsense's picture

แรงได้อีก O__O

By: freeriod on 30 April 2015 - 02:48 #810002
freeriod's picture

แหล่ม

By: bluezip
AndroidUbuntuWindows
on 30 April 2015 - 02:49 #810003

android กับ windows 10 ใครจะถึง 1,000,000,000 ก่อนกัน ผมพนัน android

By: TheYoonuchs
Windows PhoneWindows
on 30 April 2015 - 02:51 #810004 Reply to:810003
TheYoonuchs's picture

ผมว่า windows คิดแค่ PC ก็ขาดแล้ว

By: freeriod on 30 April 2015 - 02:55 #810005 Reply to:810004
freeriod's picture

ผมก็ว่างั้น

By: teerapon0009
Windows PhoneAndroidWindows
on 30 April 2015 - 02:59 #810006 Reply to:810004
teerapon0009's picture

+1

By: จักรนันท์ on 30 April 2015 - 03:21 #810015 Reply to:810004

http://en.wikipedia.org/wiki/Usage_share_of_operating_systems

By: mk
FounderAndroid
on 30 April 2015 - 03:09 #810012 Reply to:810003
mk's picture

Android ถึงพันล้านมาได้พักใหญ่ๆ แล้วนะครับ แต่ตัวเลขอันนี้ของไมโครซอฟท์คือ ต้องเป็นเวอร์ชันเดียวกันด้วย ซึ่ง Android ยังทำไม่ได้ด้วยปัญหาเรื่องการอัพเดต แต่ไมโครซอฟท์ (หวังว่า) จะทำให้ได้ ได้จริงหรือไม่ก็อีกเรื่องนึง

By: Mekokung
ContributorAndroidWindows
on 30 April 2015 - 03:09 #810011
Mekokung's picture

แอพ .NET/Win32 จะรันแบบ .exe ที่เข้าถึงตัวระบบปฏิบัติการได้มาก

เดียวมันต้องมีแบบ ก็อปใส่โทรศัพท์ แล้วเล่นเกมญี่ปุ่นได้เลย มันส์แน่ (อย่าลืมใส่หูฟังเพื่อ'ความอรรถรส'ในการเล่น)


Mekokung's Story บล็อกส่วนตัวที่ย้ายไป Blogger แล้วนะ

By: mode on 30 April 2015 - 03:51 #810020

เอาบางส่วนของ Android มาใช้ไม่ติดเรื่อง GPL หรือครับ?

By: McKay
ContributorAndroidWindowsIn Love
on 30 April 2015 - 04:29 #810025 Reply to:810020
McKay's picture

โค๊ดส่วนใหญ่เป็น Apache ครับ จะมีพวก kernel และโค๊ดบางส่วนที่เป็น GPL

กรณีที่ติด GPL นี่แนวทางแก้ปัญหาคือ rewrite ตัว APIs ใหม่ให้ compatible กับตัวเก่าครับ ส่วน Google จะฟ้องได้หรือไม่ฟ้องก็คงต้องดูกันอีกที (ประมาณ Google vs Oracle)

แนวทางของ Google ที่พยายามหนีเรื่องแบบนี้คือ Google Play Services ต่างๆครับ แปลว่าถ้าจะเขียน App ให้ Android ก็ต้องเรียกใช้ Google Play Services ซึ่ง Microsoft ไม่มี ดังนั้นถ้าจะเขียนให้ใช้กับ W10 ได้ด้วยก็คงต้อง ifdef แล้วหาวิธี implement service จาก Microsoft เอาครับ


In Soviet Warcraft, Argus comes to you.

By: Pichai_C
Windows PhoneWindows
on 30 April 2015 - 09:24 #810088 Reply to:810020

นี่แหละครับที่ผมกลัวว่า MS จะไปไม่รอด เพราะหาก Google มาเล่นประเด็นนี้ MS ก็ต้องจบ ปล่อยให้คนใช้ WP ฝันสลายต่อไป

By: hisoft
ContributorWindows PhoneWindows
on 30 April 2015 - 04:08 #810021
hisoft's picture

นี่บอกเป็นนัยๆ ว่า API ของ Windows 10 จะทำได้พอๆ กับ Android, iOS แล้วหรือเปล่าครับ?

By: johnny.sayasane
ContributorWindows PhoneSymbianWindows
on 30 April 2015 - 09:28 #810090 Reply to:810021
johnny.sayasane's picture

จริงด้วย...


ສະບາຍດີ :)

By: Akexorcist
AndroidWindows
on 30 April 2015 - 07:59 #810054
Akexorcist's picture

แล้ว Rasberry Pi 2 ของผมล่ะ!!!!

By: Ford AntiTrust
ContributorAndroidBlackberryUbuntu
on 30 April 2015 - 09:47 #810102 Reply to:810054
Ford AntiTrust's picture

ในการงานก็มี demo RPi 2 ให้รันแอพร่วมกับ HoloLens บน Windows 10 ครับ

By: Diew
ContributoriPhoneWindows PhoneAndroid
on 30 April 2015 - 10:55 #810141 Reply to:810054
By: errin on 30 April 2015 - 09:43 #810099

เทพจริง แต่จะดึงดูด Dev ได้เยอะมั้ยนะ

By: -Rookies-
ContributorAndroidWindowsIn Love
on 30 April 2015 - 09:44 #810101

มันจะบวมมั้ย?


เทคโนโลยีไม่ผิด คนใช้มันในทางที่ผิดนั่นแหละที่ผิด!?!

By: maspirecreation on 30 April 2015 - 10:26 #810121
maspirecreation's picture

แอพจะมีความเสถียรหรือเปล่า ?

By: tgst
ContributoriPhoneWindows PhoneWindows
on 30 April 2015 - 10:31 #810123 Reply to:810121
tgst's picture

ถ้าตัวอย่างนี้เป็นความจริง ก็ไม่มีปัญหาอะไรอ่ะ

By: TheYoonuchs
Windows PhoneWindows
on 30 April 2015 - 10:31 #810125 Reply to:810121
TheYoonuchs's picture

Candy Crush Saga ก็พอร์ตมาจาก ios เสถียรแน่นอนครับ

By: Aize
ContributorWindows PhoneAndroidWindows
on 30 April 2015 - 10:37 #810131 Reply to:810121
Aize's picture

มันไม่ได้เป็นการรันแอพของ OS อื่นตรงๆ ครับ มันเอาโค้ดมาคอมไพลใหม่ ซึ่งเจ้าของแอพก็คงต้องมีการปรับแต่งบ้างเพื่อให้มันเสถียร มันง่ายกว่าต้องมานั่งทำใหม่ทั้งหมด นอกจากว่าคนทำแอพจะไม่มีการปรับอะไรเลยอันนี้คงโทษ MS ไม่ได้


The Dream hacker..

By: sukjai
iPhoneAndroidRed HatUbuntu
on 30 April 2015 - 13:36 #810196

มันมาแนว eclipse ใช่ไหมครับนี่

By: tg-thaigamer
ContributoriPhoneAndroidBlackberry
on 30 April 2015 - 20:54 #810329
tg-thaigamer's picture

ทำไมยังเป็น obj-c หรือว่า Swift ยังไม่นิ่งหรอครับ


มือใหม่!! ใหม่จริงๆนะ

By: obnetarena
Windows PhoneWindows
on 2 May 2015 - 14:47 #810605 Reply to:810329

อาจจะเป็นไปได้ครับ อีกอย่างผมว่าการแปลงแบบนี้ต้องเข้าใจโครงสร้างภาษานั้นแทบทั้งหมด
Obj-C มันเก่าแล้วอาจจะแกะมาเป็นเวลาปีสองปีแล้วด้วยซ้ำครับ (คือจริง ๆ เราไม่รู้ว่าโครงการนี้เริ่มมาตั้งแต่ปีไหน)

ที่สำคัญผมว่าโปรแกรมส่วนใหญ่ก็ยังใช้ Obj-C อยู่โดยเฉพาะโปรแกรม Top 100 ทำแบบนี้น่าจะไม่มีปัญหามากนัก

แต่เวอร์ชันหน้าคงมี Swift ล่ะมั้งครับ

By: tgst
ContributoriPhoneWindows PhoneWindows
on 4 May 2015 - 21:02 #810873 Reply to:810329
By: watch99
AndroidRed HatUbuntu
on 30 April 2015 - 23:51 #810369
watch99's picture

ดีเลยจะได้เขียน android แล้วได้ window phone ด้วย ประหยัด tools ได้อีก