ทุกวันนี้เราใช้ภาษา Ruby สร้าง Mac Application ผ่าน "RubyCocoa" ได้อยู่แล้ว แต่วันนี้มีดีกว่า
 |
|
ถ้าย้อนไปที่ "RubyCocoa" หรือย้อนไปสมัย "JavaCocoa" การเชื่อมต่อภาษาทั้งสองเข้ากับ Objective-C (ภาษาหลักบน OS X) เป็นวิธีเดียวที่จะทำให้ภาษาอื่นๆ สามารถควบคุม Object ต่างๆ ที่สร้างขึ้นด้วยภาษา Objective-C ทุกครั้งที่มีการเรียก object ข้ามภาษา ทุก object จะถูกแปลงจากระบบหนึ่งไปอีกระบบเสมอ และเป็นเหตุให้โปรแกรมทำงานช้าถ้าต้องเชื่อมกันบ่อยๆ
"MacRuby" เข้ามาแก้ปัญหาของ "RubyCocoa" โดย Apple พัฒนา Ruby ขึ้นมาใหม่บน CoreFoundation ของเทคโนโลยี Mac OS X เช่น Objective-C runtime และระบบ Gabage Collector ดังนั้น ทุก Class ทุก method และ ทุก object จะเป็น Objective-C ทั้งหมด ทำให้ปัญหาเรื่องการเชื่อมต่อหมดไป
MacRuby ก็เข้าทางเดียวกับ jruby พวก data type ต่างๆ อย่าง String, Array หรือ Hash จะถูกทำใหม่อยู่บน CoreFoundation อย่าง CFString, CFArray และ CFDictionary ดังนั้นพฤติกรรมของ string จึงเป็นแบบ C หรือ Objective-C แทน
หวังว่าจะไม่มีปัญหาการต่อกับ C แบบ jRuby นะ
สนใจรายละเอียดเพิ่มเติม ลองอ่าน tutorial ที่
developer.apple.com
ความคิดเห็น
โพสต์ความคิดเห็น