Pelajari GNUstep: Alternatif Gratis untuk Platform Pengembangan NextSTEP

Penyingkapan: Dukungan Anda membantu menjaga situs tetap berjalan! Kami mendapatkan biaya referensi untuk beberapa layanan yang kami rekomendasikan pada halaman ini.


GNUstep adalah platform aplikasi sumber terbuka dan gratis yang sangat mirip dengan platform Kakao Apple, dan berasal dari garis keturunan produk yang sama. GNUstep sebenarnya mendahului Kakao, tetapi karena popularitas Kakao, GNUstep bertindak sebagai semacam klon Kakao sumber terbuka.

Sejarah GNUstep

Setelah Steve Jobs meninggalkan Apple, perusahaan barunya, NeXT Computers, mengembangkan aplikasi baru dan platform pengembangan (serta sistem operasi baru yang melandasinya).

Ini ditulis dalam Objective-C, superset berorientasi objek dari C yang dilisensikan NeXT dari StepStone, sebuah perusahaan yang didirikan oleh para pembuat bahasa..

Platform aplikasi dan pengembangan ini, yang disebut NeXTSTEP, akhirnya mengarah pada pengembangan Cocoa dan GNUstep Apple. Jalur dari produk NeXT ke GNUstep ini membutuhkan waktu beberapa tahun dan melibatkan beberapa cerita terkait.

Objective-C Menjadi Bahasa Gratis

Karena Objective-C diproses menjadi kode C, dan kemudian dikompilasi sebagai C, itu bergantung pada kompiler C. Untuk membuat Objective-C tersedia untuk pengembang di platform Unix dengan kerumitan minimal pengembang, preprocessor Objective-C diperlukan untuk menautkan ke GCC, GNU C Compiler.

Setelah beberapa rencana awal untuk menjaga bahasa tetap milik sementara masih mengintegrasikan GCC, Richard Stallman dari GNU memutuskan bahwa bahasa perlu lisensi GPL. StepStone setuju, dan Objective-C menjadi bahasa gratis.

Namun, runtime yang membuat Objective-C berguna, ditahan dan tetap menjadi milik. Beberapa pengembang yang berbeda bekerja pada penggantian open source untuk runtime Objective-C, dan yang saat ini digunakan dikembangkan pada tahun 1993 oleh Kresten Krab Thorup.

Implementasi gratis NeXTSTEP

Pada tahun 1991 Paul Kunz, seorang pengembang di Stanford Linear Accelerator Center, ingin dapat menjalankan HippoDraw – perangkat lunak yang ditulis untuk platform NeXTSTEP – di platform lain.

Alih-alih porting aplikasi itu sendiri, ia mengembangkan perpustakaan objek yang meniru API antarmuka pengguna NeXTSTEP. Ini memungkinkannya untuk menjalankan HippoDraw tanpa mengubah satu baris kode pun di dalam aplikasi itu sendiri.

Pada tahun 1993, Andrew McCallum merilis Koleksi Perpustakaan untuk GNU Objective-C, yang menirukan satu set inti perpustakaan objek NeXTSTEP lainnya..

NeXTSTEP Menjadi OPENSTEP

Pada tahun 1993, NeXT mulai berkolaborasi dengan Sun Microsystems untuk membuat versi “lapisan atas” platform NeXTSTEP (antarmuka pengguna dan pemrograman API) yang akan kompatibel dengan sistem operasi Solaris mereka.

Secara alami, sebagian besar pekerjaan ini melibatkan pengupasan bagian-bagian NeXTSTEP yang terintegrasi erat dengan perangkat keras dan sistem operasi.

Ada juga beberapa perbaikan dan desain ulang API pengembangan platform, memecahnya menjadi “kerangka kerja” yang terdefinisi dengan baik.

Pekerjaan ini menyebabkan pelepasan standar OpenStep (yang merupakan spesifikasi terbuka, tersedia untuk umum) dan pengembangan platform OPENSTEP (yang merupakan implementasi kepemilikan OpenStep).

OPENSTEP menggantikan NeXTSTEP, dan merupakan versi pertama dalam garis keturunan produk ini yang jelas dikenali sebagai pendahulu Cocoa dan GNUstep.

Ini adalah versi yang memperkenalkan kerangka dasar Foundation dan AppKit, serta keluarga kelas NS-prefixed.

OpenStep Mendapat Implementasi GNU

Setelah standar OpenStep diterbitkan, Andrew McCallum, Paul Kunz, dan lainnya di GNU menulis ulang pustaka Objective-C mereka agar sesuai dengan standar.

Upaya itu, secara alami, dijuluki “GNUstep” – nama tersebut telah disarankan secara informal pada awal 1991, ketika beberapa berharap NeXT akan menyerahkan seluruh proyek kepada Yayasan Perangkat Lunak Bebas..

Selama beberapa tahun ke depan, proyek ini diperluas untuk menjadi implementasi standar OpenStep yang sepenuhnya kompatibel, bebas dan sumber terbuka. Versi pertama yang sepenuhnya mengimplementasikan spesifikasi datang pada tahun 1998, dan rilis resmi 1.0.0 pada tahun 2001.

Kakao: Langkah Selanjutnya untuk OPENSTEP

Apple membeli NeXT Computers, dan mempekerjakan kembali Steve Jobs, pada tahun 1996. Platform OPENSTEP diintegrasikan ke dalam sistem operasi Mac baru dan berganti nama menjadi Cocoa.

Kakao telah banyak berubah dalam dekade-dekade berikutnya, terutama ketika Mac pindah ke OS X dari Mac OS, dan Kakao diperluas untuk memasukkan Cocoa Touch untuk iOS.

Ketika Cocoa menjauh dari spesifikasi OpenStep, GNUstep juga pindah dari itu. Pengembangnya sekarang menganggapnya hanya implementasi Kakao, dengan hanya ikatan historis dengan OpenStep.

GNUstep Hari Ini

GNUstep adalah implementasi Kakao sumber gratis dan terbuka. Meskipun sedikit tertinggal dari Cocoa, maksud dari tim pengembang adalah untuk menjaga GNUstep sinkron dengan Cocoa sebanyak mungkin.

Apa gunanya?

Cocoa adalah platform aplikasi berpemilik, terikat erat dengan sistem Mac OS X dan iOS. Mengapa ada orang yang ingin memiliki versi Open Source ini? Mengapa GNUstep terus ada?

Salah satu alasan terbesar untuk ini adalah memungkinkan pengembang aplikasi untuk mendesain OS X atau iOS. Dari sana, Anda dapat port aplikasi ke Unix, Linux, Windows, BSD, dan Solaris. Dengan demikian GNUstep memberi Anda lingkungan pengembangan lintas platform.

Ini memberi Anda banyak keuntungan dari Java Virtual Machine atau Flash. Tapi ada overhead yang jauh lebih sedikit. Terlebih lagi, beberapa orang berpendapat itu menciptakan arsitektur keseluruhan yang lebih baik.

Juga masuk akal untuk menargetkan pengembangan awal di Kakao. Itu karena Anda berurusan dengan persyaratan App Store yang seringkali sulit. Kemudian Anda dapat dengan mudah port ke lingkungan lain.

Selain itu, banyak pengembang yang menyukai platform ini. Apple telah menaruh banyak pemikiran dan pekerjaan dalam desain Cocoa, dan banyak orang yang mengembangkan untuk lingkungan Linux dan Unix seperti memiliki platform yang tersedia untuk membangun aplikasi baru.

GNUstep juga dapat dimasukkan ke dalam distribusi sistem operasi, mengintegrasikannya dengan erat seperti Apple mengintegrasikan Kakao. Ini tidak harus digunakan dengan cara ini, tetapi bisa. Ketika terintegrasi seperti ini, GNUstep dapat digunakan untuk memberi daya pada lingkungan desktop.

Bahasa untuk Pembangunan

Bahasa pengembangan utama untuk GNUstep adalah Objective-C. GNUstep sendiri ditulis dalam Objective-C, seperti kebanyakan aplikasi. Dimungkinkan untuk menjalankan kode yang ditulis dalam beberapa bahasa lain (terutama, Java dan Ruby), tetapi Objective-C benar-benar acara utama ().

Pada tulisan ini, GNUstep tidak mendukung bahasa pemrograman Swift baru Apple. Apple merilis bahasa tersebut sebagai open source baru-baru ini, dan GNUstep bermaksud untuk mendukungnya sesegera mungkin.

Sumberdaya GNUstep

  • Situs Resmi GNUstep.

  • Belajar dan Referensi

    • Tutorial Mini Pemrograman GNUstep

    • Tutorial GNUstep

    • Wiki GNUstep

    • Perpustakaan GNUstep

    • Heron’s Bertengger: blog populer, dijalankan oleh ketua pengelola GNUstep

    • Video: Objective-C pada Windows 7 menggunakan GNUstep.

  • Alat

    • Étoilé: lingkungan desktop lintas-platform yang dibangun di atas GNUstep

    • Proyek Aplikasi GNUstep: alat untuk meningkatkan pengalaman ruang kerja GNUstep Anda.

Ringkasan

GNUstep menawarkan platform pengembangan yang bagus untuk coders yang ingin membuat aplikasi pada banyak platform berbeda. Meskipun ada sejumlah terbatas informasi tentang GNUstep, Anda dapat belajar lebih banyak tentang hal itu dengan melihat Objective-C dan Cocoa.

Bacaan Lebih Lanjut dan Sumberdaya

Kami memiliki lebih banyak panduan pemrograman, tutorial, dan infografis terkait dengan pengkodean dan sumber daya pengembang:

  • Sumberdaya Objective-C: memulai dan pindah ke area maju dari pemrograman Objective-C.

  • Cocoa and Cocoa Touch Pendahuluan: pelajari API terkait erat untuk membuat aplikasi untuk Mac OS X dan iOS.

  • Pengantar dan Sumber Daya Swift: bahasa baru yang dirancang khusus dengan mempertimbangkan Kakao (dan secara tidak langsung GNUstep).

Kode Apa Yang Harus Anda Pelajari?
Kode apa yang harus Anda pelajari?

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