เรียนรู้ GNUstep: ทางเลือกฟรีสู่แพลตฟอร์มการพัฒนา NextSTEP

การเปิดเผยข้อมูล: การสนับสนุนของคุณช่วยให้เว็บไซต์ทำงานต่อไป! เราได้รับค่าธรรมเนียมการอ้างอิงสำหรับบริการบางอย่างที่เราแนะนำในหน้านี้.


GNUstep เป็นแพลตฟอร์มแอปพลิเคชันฟรีและโอเพนซอร์สซึ่งคล้ายกับแพลตฟอร์ม Cocoa ของ Apple และมีต้นกำเนิดในสายผลิตภัณฑ์เดียวกัน GNUstep จริง ๆ แล้วถือกำเนิดโกโก้ แต่เนื่องจากความนิยมของโกโก้, GNUstep ทำหน้าที่เป็นแหล่งที่มาของการเปิดโกโก้โคลน.

ประวัติ GNUstep

หลังจาก Steve Jobs ออกจาก Apple บริษัท ใหม่ของเขา NeXT Computers พัฒนาแอปพลิเคชั่นและแพลตฟอร์มการพัฒนาใหม่ (รวมถึงระบบปฏิบัติการใหม่ที่รองรับ).

สิ่งนี้เขียนขึ้นใน Objective-C ซึ่งเป็น superset เชิงวัตถุของ C ซึ่ง NeXT ได้รับอนุญาตจาก StepStone บริษัท ที่ก่อตั้งโดยผู้สร้างของภาษา.

แอปพลิเคชั่นและแพลตฟอร์มการพัฒนาที่เรียกว่า NeXTSTEP ในที่สุดก็นำไปสู่การพัฒนา Cocoa และ GNUstep ของ Apple เส้นทางจากผลิตภัณฑ์ของ NeXT ไปยัง GNUstep ใช้เวลาหลายปีและเกี่ยวข้องกับเรื่องราวที่เกี่ยวข้องหลายอย่าง.

วัตถุประสงค์ -C กลายเป็นภาษาฟรี

เนื่องจาก Objective-C ถูกประมวลผลเป็นรหัส C และจากนั้นคอมไพล์เป็น C จึงอ้างอิงกับคอมไพเลอร์ C เพื่อให้ Objective-C พร้อมใช้งานสำหรับนักพัฒนาบนแพลตฟอร์ม Unix ด้วยความยุ่งยากขั้นต่ำของนักพัฒนาตัวประมวลผลล่วงหน้า Objective-C จำเป็นต้องเชื่อมโยงกับ GCC, GNU C คอมไพเลอร์.

หลังจากมีแผนเริ่มต้นเพื่อรักษาความเป็นเจ้าของภาษาในขณะที่ยังคงผนวกรวม GCC อยู่ริชาร์ดสตอลแมนของ GNU ตัดสินใจว่าภาษานั้นจะต้องได้รับอนุญาตจาก GPL StepStone เห็นด้วยและ Objective-C เป็นภาษาฟรี.

อย่างไรก็ตามรันไทม์ที่ทำให้ Objective-C มีประโยชน์ถูกระงับไว้และยังคงเป็นกรรมสิทธิ์ นักพัฒนาซอฟต์แวร์ที่แตกต่างกันหลายคนทำงานในการเปลี่ยนโอเพนซอร์ซสำหรับ Objective-C รันไทม์และโปรแกรมที่ใช้อยู่ในปัจจุบันได้รับการพัฒนาในปี 1993 โดย Kresten Krab Thorup.

ฟรีการใช้งานของ NeXTSTEP

ในปี 1991 Paul Kunz ผู้พัฒนาที่ Stanford Linear Accelerator Center ต้องการให้สามารถรัน HippoDraw – ซอฟต์แวร์ที่เขียนขึ้นสำหรับแพลตฟอร์ม NeXTSTEP – บนแพลตฟอร์มอื่น.

แทนที่จะพัฒนาแอปพลิเคชันเองเขาได้พัฒนาไลบรารีวัตถุที่เลียนแบบ API ส่วนติดต่อผู้ใช้ของ NeXTSTEP สิ่งนี้ทำให้เขาสามารถเรียกใช้ HippoDraw โดยไม่ต้องเปลี่ยนรหัสบรรทัดเดียวในแอปพลิเคชันเอง.

ในปี 1993 Andrew McCallum เปิดตัว Collection Library สำหรับ GNU Objective-C ซึ่งเลียนแบบชุดของแกนวัตถุ NeXTSTEP อีกชุดหนึ่ง.

NeXTSTEP กลายเป็น OPENSTEP

ในปี 1993 NeXT เริ่มร่วมมือกับ Sun Microsystems เพื่อสร้างเวอร์ชันของ“ ชั้นบนสุด” ของแพลตฟอร์ม NeXTSTEP (ส่วนติดต่อผู้ใช้และ API การเขียนโปรแกรม) ที่เข้ากันได้กับระบบปฏิบัติการ Solaris ของพวกเขา.

โดยธรรมชาติงานส่วนใหญ่เกี่ยวข้องกับการแยกส่วนของ NeXTSTEP ที่รวมเข้ากับฮาร์ดแวร์และระบบปฏิบัติการอย่างแน่นหนา.

นอกจากนี้ยังมีการปรับแต่งและออกแบบใหม่สำหรับ API การพัฒนาแพลตฟอร์มโดยแบ่งเป็น“ กรอบงาน” ที่กำหนดไว้อย่างดี

งานนี้นำไปสู่การเปิดตัวมาตรฐาน OpenStep (ซึ่งเป็นข้อกำหนดเปิดให้บริการแก่สาธารณชน) และการพัฒนาแพลตฟอร์ม OPENSTEP (ซึ่งเป็นการนำมาใช้อย่างเป็นกรรมสิทธิ์ของ OpenStep).

OPENSTEP แทนที่ NeXTSTEP และเป็นรุ่นแรกในสายผลิตภัณฑ์นี้ซึ่งเป็นที่รู้จักอย่างชัดเจนว่าเป็นสารตั้งต้นของ Cocoa และ GNUstep.

นี่เป็นรุ่นที่นำเสนอพื้นฐานของเฟรมเวิร์กพื้นฐานและ AppKit รวมถึงตระกูลของคลาสที่นำหน้าด้วย NS.

OpenStep รับการนำ GNU ไปปฏิบัติ

หลังจากเผยแพร่มาตรฐาน OpenStep แล้ว Andrew McCallum, Paul Kunz และคนอื่น ๆ ที่ GNU จะเขียนไลบรารี่ Objective-C ใหม่เพื่อให้ตรงกับมาตรฐาน.

ความพยายามนั้นค่อนข้างขนานนามว่า “GNUstep” – ชื่อนี้ได้รับการแนะนำอย่างไม่เป็นทางการตั้งแต่ปี 1991 เมื่อบางคนหวังว่า NeXT จะมอบโครงการทั้งหมดให้กับมูลนิธิซอฟต์แวร์เสรี.

ในอีกไม่กี่ปีข้างหน้าโครงการได้ขยายตัวเพื่อให้สามารถใช้งานได้อย่างอิสระฟรีและโอเพ่นซอร์สของมาตรฐาน OpenStep เวอร์ชันแรกที่ใช้ข้อกำหนดอย่างสมบูรณ์นั้นมาในปี 1998 และการเปิดตัว 1.0.0 อย่างเป็นทางการในปี 2001.

Cocoa: ขั้นตอนต่อไปสำหรับ OPENSTEP

Apple ซื้อคอมพิวเตอร์ NeXT และฟื้นฟู Steve Jobs ในปี 1996 แพลตฟอร์ม OPENSTEP ถูกรวมเข้ากับระบบปฏิบัติการ Mac ใหม่และเปลี่ยนชื่อเป็น Cocoa.

Cocoa ได้เปลี่ยนข้อตกลงเป็นอย่างมากในช่วงหลายสิบปีที่ผ่านมาโดยเฉพาะอย่างยิ่งเมื่อ Mac ย้ายไปที่ OS X จาก Mac OS และ Cocoa ได้ขยายรวม Cocoa Touch สำหรับ iOS.

เมื่อโกโก้ย้ายออกจากข้อกำหนด OpenStep GNUstep ก็ย้ายออกไปจากสเปคเช่นกัน ตอนนี้ผู้พัฒนาคิดว่าเป็นเพียงการนำโกโก้ไปใช้โดยมีความสัมพันธ์ทางประวัติศาสตร์กับ OpenStep เท่านั้น.

GNUstep วันนี้

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

ประเด็นคืออะไร?

Cocoa เป็นแพลตฟอร์มแอปพลิเคชั่นที่เป็นกรรมสิทธิ์ผูกพันกับระบบ Mac OS X และ iOS อย่างแน่นหนา ทำไมทุกคนต้องการมีเวอร์ชั่นโอเพนซอร์ซนี้ ทำไม GNUstep ถึงยังคงมีอยู่?

หนึ่งในเหตุผลที่ดีที่สุดสำหรับเรื่องนี้คือมันทำให้ผู้พัฒนาแอปพลิเคชั่นสามารถออกแบบสำหรับ OS X หรือ iOS ได้ จากตรงนั้นคุณสามารถพอร์ตแอพไปยัง Unix, Linux, Windows, BSD และ Solaris ดังนั้น GNUstep จึงจัดเตรียมสภาพแวดล้อมการพัฒนาข้ามแพลตฟอร์มให้คุณ.

สิ่งนี้ให้ประโยชน์มากมายของ Java Virtual Machine หรือ Flash แต่มีค่าใช้จ่ายน้อยมาก ยิ่งไปกว่านั้นบางคนโต้แย้งว่ามันสร้างสถาปัตยกรรมโดยรวมที่ดีขึ้น.

นอกจากนี้ยังมีเหตุผลที่ต้องตั้งเป้าหมายการพัฒนาเริ่มต้นที่โกโก้ นั่นเป็นเพราะคุณจัดการกับความต้องการที่ยากลำบากของ App Store ได้ทันที จากนั้นคุณสามารถพอร์ตไปยังสภาพแวดล้อมอื่น ๆ ได้อย่างง่ายดาย.

นอกจากนี้นักพัฒนาหลายคนก็ชอบแพลตฟอร์ม Apple ให้ความสำคัญกับการออกแบบ Cocoa เป็นอย่างมากและผู้คนจำนวนมากที่พัฒนาสำหรับ Linux และ Unix เช่นมีแพลตฟอร์มสำหรับสร้างแอปพลิเคชั่นใหม่.

GNUstep ยังสามารถนำไปใช้ในการกระจายระบบปฏิบัติการได้โดยผนวกเข้ากับวิธีที่แอปเปิ้ลผสานโกโก้ ไม่จำเป็นต้องใช้วิธีนี้ แต่ทำได้ เมื่อรวมเข้ากับสิ่งนี้ GNUstep สามารถใช้เพื่อเพิ่มประสิทธิภาพให้กับสภาพแวดล้อมเดสก์ท็อป.

ภาษาเพื่อการพัฒนา

ภาษาที่ใช้ในการพัฒนาเบื้องต้นสำหรับ GNUstep คือ Objective-C GNUstep เองถูกเขียนใน Objective-C เช่นเดียวกับแอปพลิเคชั่นส่วนใหญ่ เป็นไปได้ที่จะเรียกใช้โค้ดที่เขียนในภาษาอื่น ๆ (โดยเฉพาะอย่างยิ่ง Java และ Ruby) แต่ Objective-C เป็นเหตุการณ์หลัก ().

จากการเขียนนี้ GNUstep ไม่สนับสนุนภาษาการเขียนโปรแกรม Swift ใหม่ของ Apple Apple เปิดตัวภาษาเป็นโอเพ่นซอร์สเร็ว ๆ นี้และ GNUstep ตั้งใจที่จะให้การสนับสนุนโดยเร็วที่สุด.

ทรัพยากร GNUstep

  • เว็บไซต์ GNUstep อย่างเป็นทางการ.

  • การเรียนรู้และการอ้างอิง

    • โปรแกรมสอนมินิ GNUstep

    • GNUstep Tutorial

    • วิกิ GNUstep

    • ไลบรารี GNUstep

    • Peron ของ Heron: บล็อกยอดนิยมดำเนินการโดยหัวหน้าผู้ดูแลระบบของ GNUstep

    • วิดีโอ: Objective-C บน Windows 7 โดยใช้ GNUstep.

  • เครื่องมือ

    • Étoilé: สภาพแวดล้อมเดสก์ท็อปข้ามแพลตฟอร์มที่สร้างขึ้นบน GNUstep

    • โครงการแอปพลิเคชัน GNUstep: เครื่องมือในการปรับปรุงประสบการณ์ใช้งานพื้นที่ทำงาน GNUstep ของคุณ.

สรุป

GNUstep เสนอแพลตฟอร์มการพัฒนาที่ยอดเยี่ยมสำหรับผู้เขียนโค้ดที่ต้องการสร้างแอปพลิเคชันบนแพลตฟอร์มที่แตกต่างหลากหลาย แม้ว่าจะมีข้อมูลจำนวน จำกัด บน GNUstep แต่คุณสามารถเรียนรู้ได้มากขึ้นโดยดูที่ Objective-C และ Cocoa.

การอ่านและทรัพยากรเพิ่มเติม

เรามีคู่มือการเขียนโปรแกรมบทแนะนำและอินโฟกราฟิกที่เกี่ยวข้องกับการเข้ารหัสและแหล่งข้อมูลนักพัฒนาเพิ่มเติม:

  • ทรัพยากร Object–C: เริ่มต้นและย้ายไปสู่พื้นที่ขั้นสูงของการเขียนโปรแกรม Objective-C.

  • Cocoa and Cocoa Touch Introduction: เรียนรู้ API ที่เกี่ยวข้องอย่างใกล้ชิดสำหรับการสร้างแอปพลิเคชันสำหรับ Mac OS X และ iOS.

  • Swift Introduction and Resources: ภาษาใหม่ที่ออกแบบมาโดยเฉพาะกับ Cocoa (และ GNUstep ทางอ้อม) ในใจ.

คุณควรเรียนรู้รหัสใด
คุณควรเรียนรู้รหัสใด?

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me
    Like this post? Please share to your friends:
    Adblock
    detector
    map