วันอังคารที่ 20 กันยายน พ.ศ. 2554

การมาของ Window 8 Tablet ในมุมมองนักพัฒนา


Windows 8 Tablet จะรองรับเฉพาะ HTML5 เท่านั้น



          จะไม่รองรับ Flash และ Plug-in ต่าง ๆ เช่น ActiveX, JavaFX, Java Applet หรือ Silverlight เพื่อระบบความปลอดภัย และช่วยลดการใช้ Resource ช่วยยืดอายุแบตเตอรี่ ตามแนวทางของ Apple ซึ่ง Developer ต้องนำไปพิจารณาเป็นแนวทางในการวางแผนการพัฒนา Application

ถึงเวลา …จุดจบอนาคตของ PC



ในยุคเริ่มของ Apple ซึ่ง IBM และ Microsoft ร่วมกันทำลาย Apple I/II ด้วย PC แม้จะทำให้ MainFrame ลดความสำคัญลง แต่ไม่ได้ทำให้มันตาย

ขณะนี้ Microsoft เดิมพันอนาคตตนเอง ด้วยการยอมจบอนาคต PC โดยการยอมทิ้งและเชิงบังคับ Programmer โดยยกเลิกมาตราฐานการพัฒนา Graphic API ที่ใช้มาตั้งแต่ Win 3.x แล้วปรับปรุ่งเป็น Win32 API สำหรับ Win95, NT และ GDI+ / Windows Forms ของ .NET Platform สู่มาตราฐานใหม่ เพื่อ Windows 8 Tablet ( Metro Style )

Windows 8 ทำงานใน 2 รูปแบบ คือ

1. Desktop จะ Compatible กับ Windows 7 ( x86 / x64 on PC )

2. Metro Style บน x86, x64 และ ARM ( สำหรับ SmartPhone & Tablet แทน Windows Phone )



          ซึ่ง Tablet หรือ Metro Style มีสภาพแวดล้อมใหม่ เรียกว่า Windows RunTime หรือ WinRT คล้าย ๆ กับ Android โดย WinRT API สำหรับการนำไปสร้าง Application สามารถพัฒนาได้หลายภาษา เช่น JavaScript, C++, C# และ VB ประกอบด้วย WIN32, COM+ และ .NET Framework แต่ในส่วนของ GUI 2D/3D จะจำกัดรูปแบบเฉพาะ XAML ( WPF / Silverlight ) สำหรับการพัฒนา Game จะเน้นให้เรียกผ่าน DirectX 11.1 ซึ่งต้องพัฒนาด้วย Native C++ เท่านั้น เราสามารถนำ WinRT App มาทำงานบน Desktop ได้ และ Desktop App สามารถเรียก WinRT App ได้โดยผ่าน ABI : Application Binary Interace

          จุดเด่นของ iOS คือ Security & Graphic Engine

          iOS จะสร้างสภาพแวดล้อมแบบ Sandbox เพื่อสร้าง Security และป้องกันไม่ให้ App มีการ Share Resource หรือไปรบกวน App อื่น ๆ ทำให้ไม่มีใครสร้างสามารถสร้าง Plug-in หรือ Service ต่าง ๆ บน iOS ได้ ( นอกจาก Apple ) ทำให้ไม่มี Virus, Trojan, Spyware หรือ Wom บน iOS และก่อนติดตั้ง หรือก่อน Upgrade จะถาม ID / Password เพื่อการยืนยันทุกครั้ง

          Steve Jobs เป็นผู้บุกเบิก Animation จนประสพความสำเร็จ บนพื้นฐาน Cocoa ซึ่งถือว่าเป็น Object-Oriented Graphics Engine ที่ทรงพลัง แต่มีขนาดเล็ก เป็นมิตรกับผู้ใช้ตั้งแต่เด็กที่อ่านหนังสือไม่ออก จนคนแก่ที่มองแทบไม่เห็น

          Cocoa Framework สามารถนำไปพัฒนา App ทั้งในรูปแบบ Programming ที่เหมือนกับ Windows Forms และ Graphic Design ในรูปแบบ XML ที่เหมือนกับ WPF / Silverlight แต่ความพิเศษมันอยู่ที่ ก่อนนำไปใช้ จะ Convert หรือ Compile จาก XML เป็น Native Object ทำให้เวลา Design สามารถกำหนดการ Control และเชื่อการ Control กับ Programming ได้

          จุดเด่นของ Android คือ ความง่าย และความยืดหยุ่น

          ความยืดหยุ่น คือ การยอมให้สามารถสร้าง Plug-in หรือ Service ต่าง ๆ บน Android และยอมให้ App สามารถใช้ หรือ Share Resource ร่วมกันได้ ( ทำให้เราสามารถ ใส่ เพิ่ม หรือถอด SD เพื่อการ Share Data หรือ Share File ระหว่าง App กันได้ )

          ความง่าย คือ การใช้ Java / Managed Code & Data และ GUI ในแบบ Graphic Design ในรูปแบบ XML แต่มันทำให้ Android ต้องใช้ Memory มากกว่า iOS เป็นเท่าตัว นั้นหมายถึงการใช้แบตมากกว่าด้วย แต่บน Mac OS X จะมีความสามารถด้าน Garbage Collection เหมือนกับ Qt/C++, Java & .NET แต่บน iOS จะตัดความสามารถนี้ไป เพื่อให้ Developer วางแผนการใช้ Memory อย่างรัดกุม …ไม่ฝุ่มเฝือย

          จุดเด่นของ Windows 8 Tablet คือ ความผิดหวังของสาวก





          เพราะ Microsoft ต้องการ Security เหมือน iOS ทำให้ Windows App ดั้งเดิมทั้ง Native ที่พัฒนาด้วย MFC/C++ และ .NET แบบ Windows Forms ทั้งบน Windows XP, Vista, 7 หรือ Windows Phone ไม่สามารถทำงานบน Windows 8 Tablet ได้

          จริงอยู่มีคนพัฒนาด้วย WPF / Silverlight …แต่น้อยมาก เพราะเดิมไม่สามารถทำงานบน Windows Phone ได้ และ Microsoft เคยสัญญาว่า Siliverlight จะทำงานบน IE ของ Windows Phone ได้ …แม้จะทำให้ Siliverlight Developer ผิดหวัง แต่ก็ยังดี สามารถ Compile ใหม่ ให้เป็น App บน Windos Tablet ได้

          ผมคงต้องกระโดนเร่ง Microsoft .NET Framework 4.x และต้องทิ้ง .NET Framework 2.0 ไปแล้ว เพราะคนไทยใช้ Windows เป็นหลัก และ Java SE 7 ไม่สามารถทำงานบน Windows 8 Tablet ได้ แต่จะพัฒนาด้วย C++/CLI เป็นหลัก เพื่อความ Compatible ระหว่าง Windows, Apple และ Linux ( iOS & Mac OS X ผ่าน Objective-C++ )

          สำหรับ Cross-Platform คงพึ่ง Java Platform เท่านั้น ( Java SE on Desktop / EE on Server & Java on Android ) ตอนนี้ง่ายขึ้น เพราะ Spring Social ทำให้ Java ผนวกรวมกับ Social Network แล้ว
MacDeveloper

ที่มา : ความเห็นที่ 9 http://www.manager.co.th/CBiZReview/ViewNews.aspx?NewsID=9540000118559

ไม่มีความคิดเห็น:

แสดงความคิดเห็น