בחזרה למקרובי, רעיון מקורי ומבטיח באמת

ארנוסיפר ​​לך על זההבוקר, MacRuby ממשיכה בהתפתחותו ולכן זו הזדמנות ללמוד קצת על הכלי המיוחד למדי הזה, המיועד למפתחים.

MacRuby הוא יישום של Ruby 1.9 שנכתב על גבי הליבה של Mac OSקֶרֶןetטיפול נמרץ. מטרת הפרויקט היא לאפשר יצירת יישומים אמיתיים מותאמים ל-Mac OS X שאינם מקריבים ביצועים תוך שמירה על היתרונות של השימוש ברובי.

הרעיון להפגיש את הטכנולוגיות של אפל ברובי אינו חדש (https://rubycocoa.sourceforge.net/), אבל MacRuby דוחף את זה עוד יותר.כל אובייקט שנוצר בסקריפט רובי הוא אובייקט Objective-Cולכן הופך נגיש מקוד Objective-C. גם ההפך עובד, מכיוון שניתן להשתמש בכל מסגרות המערכת מתוך סקריפט רובי. לשם כך, MacRuby משתמש באחת מהתכונות החדשות של Ruby 1.9, בשם ארגומנטים. אז הקריאה לשיטהperformSelector:withObject:משמש כדלקמן:

Obj-C:

[myObject performSelector:@selector(display:) withObject:str];

מקרובי:

myObject.performSelector("display:", withObject:str)

בנוסף, האובייקטים הנפוצים ביותר (String, Array, Hash, Fixnum) מוגדרים על המקבילים שלהםקֶרֶן(NSString, NSArray, NSDictionary, NSNumber). זה מאפשר לנוע בין שתי השפות בצורה שקופה לחלוטין: אפשר להעביר מערך רובי לשיטת Objective-C ולהיפך.

הודות לשימוש ב-LLVM,MacRuby מסוגל גם להרכיב כל סקריפט רובי לשפת מכונה(נוצרים קבצי rbo), מה שמבטל את הצורך בהפצת קוד המקור.

MacRuby מאפשר לכן לכתוב יישומי Mac תוך שימוש בעוצמת המסגרת של המערכת, תוך שמירה על האלגנטיות והפשטות של רובי.

האם אפל תפנה מקום קטן עבור MacRuby ב-WWDC? בואו נקווה שכן!

Related Posts