กลับไปหน้าบทความ

อ่าน 2 นาที

ไพโอบเจซี

PyObjC เป็น สะพาน เชื่อมแบบสองทิศทาง ระหว่าง ภาษาโปรแกรม Python และ Objective-C ช่วยให้นักเขียนโปรแกรมสามารถใช้งานและขยาย ไลบรารี Objective-C ที่มีอยู่แล้ว เช่น เฟรมเวิร์ก Cocoa...

ไพโอบเจซี

ไพโอบเจซี
ผู้เขียนต้นฉบับเลเล ไกแฟกซ์
นักพัฒนาโรนัลด์ อุสโซเรน, บิล บัมการ์เนอร์, สตีฟ มาจิวสกี้ และคณะ
ปล่อยกันยายน 2539 ( 1996-09 )
เวอร์ชันเสถียร
11.0 / 15 มกราคม 2025 [ 1 ] ( 15 มกราคม 2025 )
เขียนเป็นไพธอน
ระบบปฏิบัติการข้ามแพลตฟอร์ม
ใบอนุญาตใบอนุญาต MIT
เว็บไซต์pyobjc .readthedocs .io /en /ล่าสุด/
ที่เก็บข้อมูล
  • github.com/ronaldoussoren/pyobjc

PyObjCเป็นสะพาน เชื่อมแบบสองทิศทาง ระหว่าง ภาษาโปรแกรม PythonและObjective-Cช่วยให้นักเขียนโปรแกรมสามารถใช้งานและขยายไลบรารี Objective-C ที่มีอยู่แล้ว เช่นเฟรมเวิร์กCocoaของAppleโดยใช้ Python ได้

PyObjC ใช้สำหรับพัฒนา แอปพลิเคชัน macOSด้วยภาษา Python ล้วนๆ

นอกจากนี้ ยังมีการสนับสนุนที่จำกัดสำหรับGNUstepซึ่งเป็นซอฟต์แวร์โอเพนซอร์สที่ใช้งานได้ บนหลายแพลตฟอร์ม ของ Cocoa

สำหรับโปรแกรมเมอร์ Python

การใช้งานที่สำคัญที่สุดของ PyObjC คือการช่วยให้นักโปรแกรมสามารถสร้าง แอปพลิเคชัน GUIโดยใช้ไลบรารี Cocoa ในภาษา Python บริสุทธิ์[ 2 ]ยิ่งไปกว่านั้น ด้วยความสัมพันธ์ที่ใกล้ชิดของ Objective-C กับ ภาษาการเขียนโปรแกรม C (เป็นซูเปอร์เซ็ตบริสุทธิ์) นักพัฒนายังสามารถรวมAPI ที่ใช้ C ใดๆ ก็ได้ โดยการห่อหุ้มด้วยตัวห่อหุ้ม Objective-C แล้วใช้โค้ดที่ห่อหุ้มผ่านสะพาน PyObjC การใช้Objective-C++สามารถทำเช่นเดียวกันกับไลบรารี C++ ได้

สำหรับโปรแกรมเมอร์ Objective-C

นักพัฒนา Cocoa อาจได้รับประโยชน์เช่นกัน เนื่องจากงานที่เขียนด้วย Python โดยทั่วไปใช้จำนวนบรรทัดน้อยกว่างานที่เขียนด้วย Objective-C ซึ่งสามารถนำมาใช้เป็นข้อได้เปรียบเพราะช่วยให้สร้างต้นแบบได้เร็วขึ้น

ประวัติศาสตร์

ต้นกำเนิดของ PyObjC ย้อนกลับไปในปี 1996 เมื่อ Lele Gaifax สร้างโมดูลดั้งเดิมในเดือนกันยายนของปีนั้น[ 3 ]ในบรรดาผู้มีส่วนร่วมที่ได้รับเครดิต ได้แก่ Guido van Rossum ผู้สร้างภาษาการเขียนโปรแกรม Python

PyObjC ได้รับการเขียนใหม่ในปี 2002 ส่วนเพิ่มเติมที่โดดเด่น ได้แก่ ความสามารถในการสืบทอดคลาส Objective-C โดยตรงจาก Python และการสนับสนุนเฟรมเวิร์ก Foundation, App Kit และ Address Book อย่างสมบูรณ์เกือบทั้งหมด

ต่อมาในปีเดียวกันนั้น ได้มีการเพิ่มการสนับสนุนสำหรับการสร้าง Python โดยไม่ผ่านเฟรมเวิร์ก รวมถึงการสนับสนุนเพิ่มเติมสำหรับ Python เวอร์ชันที่มาพร้อมกับMac OS Xพร้อมกับการเปลี่ยนแปลงเหล่านี้ ยังมีการเพิ่มเทมเพลตโปรเจ็กต์สำหรับแอปพลิเคชัน Cocoa แบบสแตนด์อโลน เพื่อใช้กับProject Builder ซึ่งเป็นรุ่นก่อนหน้าของ Xcodeซึ่งเป็น IDEบนแพลตฟอร์มของ Apple ในปัจจุบัน

Apple ได้รวม PyObjC เข้าไว้ใน Mac OS X ในปี 2550 พร้อมกับการเปิดตัวMac OS X 10.5 Leopard [ 4 ]

ข้อความและวิธีการ

ในภาษา Objective-C วัตถุต่างๆ สื่อสารกันโดยการส่งข้อความ ซึ่งคล้ายกับการเรียกใช้เมธอดในภาษาโปรแกรมเชิงวัตถุอื่นๆ เมื่อวัตถุได้รับข้อความ มันจะค้นหาชื่อหรือตัวเลือกของข้อความนั้น และจับคู่กับเมธอดที่กำหนดตัวเลือกเดียวกัน จากนั้นจึงเรียกใช้เมธอดนั้น

ไวยากรณ์สำหรับการแสดงข้อความเหล่านี้สืบทอดมาจาก Smalltalk และปรากฏเป็นอ็อบเจ็กต์ที่เรียกว่าตัวรับ (receiver) ซึ่งวางอยู่ทางด้านซ้ายของชื่อข้อความหรือตัวเลือก (selector) และทั้งสองอย่างจะอยู่ภายในวงเล็บเหลี่ยมคู่ (ไวยากรณ์วงเล็บเหลี่ยมไม่ได้สืบทอดมาจาก Smalltalk) เครื่องหมายโคลอนภายในตัวเลือกแสดงว่าตัวเลือกนั้นยอมรับอาร์กิวเมนต์หนึ่งตัวขึ้นไป โดยแต่ละโคลอนแทนอาร์กิวเมนต์หนึ่งตัว เพื่อปรับปรุงความสามารถในการอ่านโค้ด เครื่องหมายโคลอนจะถูกวางไว้ภายในตัวเลือกเพื่อให้เมื่อมีอาร์กิวเมนต์ที่จำเป็นแล้ว ความหมายของนิพจน์จะไม่คลุมเครือ:

[ myLittleDuck makeSomeNoise : quack eyesClosed : @YES onOneFoot : @YES ];

นี่แตกต่างจากไวยากรณ์ที่ใช้ใน Python และในภาษาโปรแกรมอื่นๆ อีกหลายภาษา ซึ่งนิพจน์ที่เทียบเท่ากันจะมีรูปแบบดังนี้:

myLittleDuck.makeSomeNoise_eyesClosed_onOneFoot_ ( quack , True , True )

การแปลงตัวเลือก (selector) ใน Objective-C ไปเป็นชื่อเมธอดใน Python ทำได้โดยการแทนที่เครื่องหมายโคลอนแต่ละตัวด้วยเครื่องหมายขีดล่างตัวเดียว แล้วระบุอาร์กิวเมนต์ไว้ในวงเล็บปิดท้าย ดังตัวอย่างข้างต้น

ชั้นเรียน

การสร้างคลาสย่อยใน Objective-C ทำได้ในลักษณะเดียวกับการสร้างคลาสย่อยใน Python ทั่วไป:

คลาสMyDuck ( NSObject ): # NSObject เป็นคลาสพื้นฐานของ Objective-C def init(self): self = super(MyDuck, self).init ( ) # รูปแบบการเขียนโค้ดObjective - C ซึ่ง# อินแตนซ์ของคลาสย่อย self จะถูกสร้างขึ้น# โดยการส่งinitializer ที่กำหนดไว้ให้กับคลาสแม่ # return selfmyLittleDuckOne = MyDuck.alloc ( ) . init ( )

ดูเพิ่มเติม

  • เว็บไซต์อย่างเป็นทางการแก้ไขข้อมูลนี้ได้ที่วิกิดาต้า
  • คำเตือนของ Ronald Oussoren เกี่ยวกับ Xcode 4.0
ดึงข้อมูลมาจาก " https://en.wikipedia.org/w/index.php?title=PyObjC&oldid=1357705857 "

สรุปเนื้อหา

ข้อมูลสำคัญจากบทความ

ข้อมูลสำคัญเกี่ยวกับ ไพโอบเจซี

PyObjC เป็น สะพาน เชื่อมแบบสองทิศทาง ระหว่าง ภาษาโปรแกรม Python และ Objective-C ช่วยให้นักเขียนโปรแกรมสามารถใช้งานและขยาย ไลบรารี Objective-C ที่มีอยู่แล้ว เช่น เฟรมเวิร์ก Cocoa...

สำหรับโปรแกรมเมอร์ Python

การใช้งานที่สำคัญที่สุดของ PyObjC คือการช่วยให้นักโปรแกรมสามารถสร้าง แอปพลิเคชัน GUI โดยใช้ไลบรารี Cocoa ในภาษา Python บริสุทธิ์ [ 2 ] ยิ่งไปกว่านั้น ด้วยความสัมพันธ์ที่ใกล้ชิดของ Objective-C กับ ภาษาการเขียนโปรแกรม C (เป็นซูเปอร์เซ็ตบริสุทธิ์)...

สำหรับโปรแกรมเมอร์ Objective-C

นักพัฒนา Cocoa อาจได้รับประโยชน์เช่นกัน เนื่องจากงานที่เขียนด้วย Python โดยทั่วไปใช้จำนวนบรรทัดน้อยกว่างานที่เขียนด้วย Objective-C ซึ่งสามารถนำมาใช้เป็นข้อได้เปรียบเพราะช่วยให้สร้างต้นแบบได้เร็วขึ้น

ประวัติศาสตร์

ต้นกำเนิดของ PyObjC ย้อนกลับไปในปี 1996 เมื่อ Lele Gaifax สร้างโมดูลดั้งเดิมในเดือนกันยายนของปีนั้น [ 3 ] ในบรรดาผู้มีส่วนร่วมที่ได้รับเครดิต ได้แก่ Guido van Rossum ผู้สร้างภาษาการเขียนโปรแกรม Python