เขียน C# บน iPhone อย่างถูกกติกาด้วย MonoTouch

เงื่อนไขที่สำคัญอันหนึ่งของแอปเปิลต่อนักพัฒนาโปรแกรมบน iPhone ก็คือห้ามรันโค้ดของโปรแกรมอื่นๆ ต่ออีกชั้น เงื่อนไขนี้ส่งผลให้โปรแกรมที่เขียนด้วย Java หรือ .NET ไม่สามารถทำงานบน iPhone ได้ และเครื่องมือที่ใช้พัฒนาโปรแกรมบน iPhone "อย่างถูกต้อง" มีแค่ภาษา Objective-C และ Cocoa Touch ของแอปเปิลเท่านั้น

ตอนนี้มีคนหาช่องว่างจากเงื่อนไขนี้ และเสนอทางเลือกอื่นในการพัฒนาโปรแกรมบน iPhone ได้แล้ว ไม่ใช่บริษัทหน้าใหม่ที่ไหน แต่เป็น Novell และทีมงานผู้สร้าง Mono นั่นเอง

แม้ว่า Mono จะเป็นการเลียนแบบแพลตฟอร์ม .NET ของไมโครซอฟท์ และใช้การคอมไพล์ 2 รอบแบบ Just-in-Time (JIT) เหมือนกัน แต่เครื่องมือใหม่ที่เรียกว่า MonoTouch ใช้การคอมไพล์ครั้งเดียวที่เรียกว่า Ahead-of-time (AOT) แปลงโค้ดที่อยู่ในภาษา intermediate ให้เป็นไบนารีก่อนตั้งแต่แรก ฟีเจอร์นี้มีใน Mono รุ่นปกติอยู่แล้ว โดยเรียกว่า Mono AOT

Novell นำ Mono AOT มาดัดแปลงใหม่ ตัดส่วนติดต่อผู้ใช้แบบ WinForms ออกไป และเปลี่ยนเป็น Cocoa Touch ตามมาตรฐานของโปรแกรมบน iPhone ทั่วไป และเรียกมันว่า MonoTouch ข้อดีของวิธีนี้คือโปรแกรมที่ได้มีส่วนติดต่อผู้ใช้เหมือนโปรแกรมอื่นๆ บน iPhone แต่ก็มีข้อเสียคือไม่สามารถนำโปรแกรม .NET เดิมมารันได้โดยตรง จุดขายของ MonoTouch นอกจากใช้ภาษา C# ที่คนคุ้นเคยมากกว่า Objective-C แล้ว ทีมงานของ Novell ยังพบว่าถ้าเขียนโปรแกรมลักษณะเดียวกัน C# ใช้โค้ดน้อยกว่า Objective-C อยู่พอสมควร

MonoTouch ไม่ใช่ซอฟต์แวร์โอเพนซอร์ส คิดราคาต่อนักพัฒนาคนละ 399 ดอลลาร์ ทำงานได้บนแมคเท่านั้นและต้องมี iPhone SDK ติดตั้งอยู่ด้วย

ที่มา - Ars Technica

ข่าวย้อนหลังที่เกี่ยวข้อง

ฝากความคิดเห็นของคุณ (Comments)


   บล็อกอินเทรนด์ !! คุณชอบเขียน และ เราชอบอ่าน เราขอเป็นสื่อกลางให้เพื่อน ๆ ส่งข่าวสารหรือบทความ ที่น่าสนใจ หรือ อินเทรนด์มาให้ได้อ่านกัน ถ้าเพื่อน ๆ ต้องการคุยกับเรา สามารถพูดคุยกันได้ที่ Twitter , Email หรือ .. ผ่านแบบฟอร์มติดต่อสอบถามได้นะครับ แล้วทางทีมงานจะปรับปรุงคุณภาพต่อ ๆ ไปครับ ..
ส่งข่าวผ่าน RSS
ผ่าน RSS
ส่งตรงข่าวสารจากเว็บไซต์คุณแบบรวดเร็วผ่าน RSS
ส่งข่าวผ่าน แบบฟอร์ม [ Post Form ]
ผ่าน แบบฟอร์ม [ Post Form ]
อัพเดทบทความผ่านแบบฟอร์มออน์ไลน์ ในหน้าเว็บไซต์ บล็อกอินเทรนด์
ส่งข่าวผ่าน Email
ผ่าน อีเมล์
ส่งตรงข่าวสารจากแบบรวดเร็วผ่าน อีเมล์ [ Email ]