Pembangunan Objektif-C: Bermula Membangun Aplikasi Mac dan iOS

Pendedahan: Sokongan anda membantu mengekalkan laman web ini! Kami memperoleh bayaran rujukan untuk beberapa perkhidmatan yang kami cadangkan di halaman ini.


Objective-C adalah bahasa pengaturcaraan peringkat tinggi berdasarkan C, dengan ciri dan sintaks tambahan dari Smalltalk. Ini adalah superset bahasa C, yang bermaksud bahawa mana-mana kod C yang sah akan dijalankan dalam penyusun Objektif-C. Ini adalah keputusan yang disengajakan yang dibuat oleh pereka bahasa, yang ingin memastikan bahawa bahasa itu sesuai dengan aplikasi dan komponen C yang ada, kerana bahasa itu digunakan untuk kebanyakan sistem operasi dan pengaturcaraan utiliti hingga saat itu. (awal 1980-an).

Sejarah Ringkas Objektif-C

Objective-C diciptakan pada awal 1980-an sebagai kaedah untuk menambahkan kemampuan pengaturcaraan Berorientasi Objek ke C. Pencipta, Brad Cox dan Tom Love, berpendapat bahawa Smalltalk (bahasa OO awal) dapat menyediakan alat yang diperlukan untuk kod yang benar-benar dapat digunakan kembali. dan untuk mewujudkan persekitaran pembangunan untuk pembangun sistem.

Cox memulakan dengan menulis pra-pemproses untuk C yang memungkinkan untuk memasukkan kod mirip Smalltalk, yang kemudian akan dibuat menjadi kompilasi C. Ini berubah menjadi pelanjutan C Berorientasikan Objek sepenuhnya.

Objective-C akhirnya didefinisikan sepenuhnya dan dijelaskan dalam buku Object-Oriented Programming: An Evolutionary Approach.

NeXT berlesen Objective-C pada tahun 1988 dan mengembangkan beberapa alat berdasarkannya. Alat-alat ini akhirnya menjadi (setelah beberapa langkah pertengahan) persekitaran pengembangan Kakao, yang digunakan oleh beberapa sistem Apple:

  • Mac OS X

  • iOS

  • Apple WatchOS

Selama beberapa tahun sekarang, aplikasi yang ditulis untuk salah satu sistem operasi Apple ini perlu ditulis (atau dikompilasi ke, atau dijalankan di atas) Objektif-C. Situasi itu kini berubah ketika Apple memindahkan platformnya ke Swift.

Selain Kakao, Objective-C juga digunakan dalam platform GNUstep, yang dapat berjalan di lingkungan Linux, Unix, BSD, dan Windows, dan yang hampir sama dengan Kakao.

Mengenai bahasa Objektif-C

Objective-C adalah salah satu daripada dua turunan C Berorientasikan Objek utama, yang lain adalah C ++. Setiap bahasa menggunakan bahasa yang mendasari dan melaksanakan Orientasi Objek secara berbeza. (Versi C yang lebih baru mengikuti jejak C ++, bukan Objektif-C, dalam pelaksanaan orientasi objek. Ini telah menyebabkan perbezaan yang lebih jauh antara C dan Objektif-C.)

Pemesejan

Dalam kebanyakan Bahasa Berorientasi Objek, termasuk C ++, fungsi dipanggil dengan memanggil kaedah pada objek. Kaedah pemanggilan ini berasal dari Simula, bahasa berorientasi Objek pertama.

Sintaks Objective-C untuk memanggil fungsi berasal dari Smalltalk, di mana mesej dihantar ke objek.

Perbezaan ini mungkin kelihatan remeh, tetapi mempunyai sejumlah implikasi. Secara ketara, panggilan fungsi dapat diikat pada objek tertentu pada waktu runtime, bukan pada waktu kompilasi, memungkinkan pelaksanaan yang lebih fleksibel.

Penaipan Dinamik

Objective-C, seperti pendahulunya Smalltalk, dapat memanfaatkan penaipan dinamik. Ini bermaksud bahawa objek boleh menerima mesej yang tidak dinyatakan dalam antara muka kelas – sesuatu yang akan menyebabkan kesalahan atau pengecualian dalam C ++ dan banyak bahasa lain.

Oleh kerana mesej itu bukan secara langsung panggilan metode, objek tidak diperlukan untuk memiliki metode untuk dijalankan. Ini dapat menyampaikan pesan ke objek lain, melalui penerusan pesan, atau dapat membalas pesan dengan cara lain, atau menimbulkan kesalahan. Ini membolehkan pelaksanaan beberapa corak reka bentuk lebih mudah, termasuk corak proksi dan corak pemerhati.

Kategori

Kategori adalah sejenis struktur superclass yang membolehkan kaedah ditambahkan ke kelas pada waktu runtime. Ini membolehkan kaedah ditambahkan ke kelas tanpa mengkompilasi ulang kelas tersebut, atau bahkan mempunyai akses kod sumber. Mereka juga boleh menggantikan kaedah kelas yang ada.

Ciri ini memudahkan penyelenggaraan dan pengembangan asas kod yang rumit dan besar.

Sumber Objektif-C Dalam Talian

Berikut adalah sumber untuk membantu anda belajar dan menggunakan Objektif-C. Mereka dibahagikan kepada kategori yang berbeza sehingga anda dapat dengan lebih mudah mencari maklumat yang anda cari – sama ada asas pengaturcaraan atau pendidikan lanjutan atau alat Objektif-C.

Tutorial Objektif-C dan Bahan Pengenalan

Dokumen-dokumen ini akan memulakan anda sebagai pengaturcara Objective-C – walaupun anda memulakan tanpa pengalaman dengan bahasa tersebut. Oleh itu, jika anda baru memulakannya, inilah tempat yang harus anda mulakan.

  • Pengenalan Objektif-C – Gambaran keseluruhan Objektif-C dari Apple.

  • Pengenalan Objektif-C – Gambaran keseluruhan asas Objektif-C dan platform OpenStep, dari pembangun yang terlibat dengan matematik berprestasi tinggi.

  • Konsep Pengaturcaraan Asas untuk Kakao dan Koko Sentuhan – Pengenalan kepada persekitaran Kakao.

  • Pengenalan Garis Panduan Pengekodan untuk Koko – Maklumat umum mengenai API Koko, yang menggunakan Objective-C.

  • Menulis Dokumentasi untuk Objektif-C – Panduan NSHipster untuk dokumentasi Objektif-C. (Artinya, dokumentasi yang ditulis mengenai kod, bukan mengenai bahasa.)

  • Panduan Pemula untuk Objektif-C: Bahasa dan Pemboleh ubah – Tutorial Objektif-C pemula dari Treehouse.

  • Cuba Objective-C – Kelas lima bahagian percuma di Objective-C dari Code School.

  • Belajar Objective-C dalam 24 Hari – Kursus 24 bahagian yang besar pada Objective-C, dari Feifan Zhou. (Lihat juga tutorial lengkap Objektif-C mengenai binpress ini.)

  • Belajar Objective-C – Kursus Objective-C pelbagai bahagian lain, dari tuts+.

  • Cocoa Dev Central – Tutorial bergambar mengenai Objektif-C.

  • Tutorial Objektif-C Ry – rujukan cepat yang ringkas dan pengenalan komprehensif untuk pendatang baru dalam bahasa tersebut.

  • Tutorial Objektif-C – Tutorial yang baik (tidak mengagumkan) dari sudut tutorial.

Alat Objektif-C

Alat Objective-C berikut akan menjadikan pengekodan lebih mudah dan kuat. Perkara itu berlaku terutamanya dengan alat Objective-C yang terdapat di Apple Developer Network, yang berharga $ 99 per tahun, tetapi tetap bernilai.

  • LispWorks untuk Mac – Termasuk API untuk membuat kelas Objektif-C dan kaedah panggilan – lihat Panduan Pengguna dan Rujukan LispWorks Objektif-C dan Koko untuk maklumat lebih lanjut.

  • Objective-C Editor – lebih banyak persekitaran pembangunan yang bersepadu daripada editor, ia membolehkan anda melakukan semua pekerjaan kami di satu tempat.

  • Apple Developer Network – walaupun bukan alat itu sendiri, Apple Developer Network menyediakan akses ke banyak alat Objective-C yang hebat seperti Xcode IDE dan Foundation Framework.

  • Codebeat – sistem analisis untuk membantu anda memperbaiki kod anda dengan fokus pada pembangunan web dan mudah alih.

Rujukan

Dokumen berikut memberikan potongan kod, cheat sheet, dan dokumen hiperteks untuk memudahkan pengekodan Objective-C.

  • Lembaran Menipu Objektif-C – Lembaran cheat rujukan cepat untuk topik biasa dan biasa di Objektif-C.

  • NSHipster Fake Book – Lebih 200 menjilat Objective-C untuk pembangun iOS dan MacOS X.

  • Rujukan Waktu Objektif-C – Dari Apple, semua mengenai fungsi dan struktur data perpustakaan runtime OS X Objective-C 2.0.

  • Lembaran Menipu Objektif-C dan Rujukan Pantas – Satu halaman PDF yang merangkumi masalah Objektif-C yang biasa. Bagus untuk digantung di dinding di sebelah mesin dev anda.

Penerbit

Berikut adalah beberapa penerbit yang membuat kandungan yang menarik bagi pengaturcara Objective-C.

  • Objc.io – objc.io menerbitkan buku mengenai teknik dan amalan lanjutan untuk pengembangan iOS dan OS X.

  • NSHipster – jurnal bit yang diabaikan di Objective-C, Swift, dan Cocoa.

Buku mengenai Objektif-C

Bagi mereka yang suka benar-benar menyelami subjek, berikut adalah beberapa buku terbaik yang tersedia mengenai Objective-C. Mereka termasuk buku-buku untuk mereka yang baru memulai, mereka yang ingin menambah pengetahuan mereka, dan mereka yang memerlukan bahan rujukan.

Buku Pengenalan

  • Pengaturcaraan Objektif-C: Panduan Big Nerd Ranch

  • Pengaturcaraan dalam Objektif-C

  • Tutorial Objektif-C Ry

  • Mur dan Baut Pengaturcaraan Objektif-C

Buku Lanjutan

  • Objektif Berkesan-C 2.0: 52 Cara Khusus untuk Meningkatkan Program iOS dan OS X anda

  • Objektif Pro-C

  • Corak Reka Bentuk Pro-Objektif-C untuk iOS

Buku rujukan

  • Rujukan Poket Objektif-C

  • Rujukan Sintaksis Objektif-C Pantas

Swift – Pengganti Objektif-C

Sekiranya anda belajar Objective-C, mungkin juga merupakan idea yang baik untuk mula belajar Swift.

Penggunaan utama untuk Objective-C adalah aplikasi di platform Kakao Apple, pada tiga sistem operasi mereka (OS X, iOS, WatchOS). Apple telah mengumumkan bahawa platform ini sekarang akan beralih ke bahasa pengaturcaraan baru mereka, Swift.

Berikut adalah beberapa sumber Swift:

  • The Swift Programming Language – Panduan pengenalan kepada Swift, dari Apple. Lihat juga buku iBook dengan nama yang sama, juga dari Apple.

  • Lembaran Menipu Swift – Rujukan cepat dan tinggi untuk Swift, dari pencipta lembaran cheat Objective-C.

  • Menggunakan Swift dengan Kakao dan Objektif-C

  • Pengaturcaraan Berfungsi dalam Swift

Soalan Lazim

Di sini kami telah menjawab beberapa soalan yang paling sering ditanya mengenai Objective-C.

Apakah Objektif-C?

Objective-C adalah superset bahasa pengaturcaraan C. Ini kebanyakannya seperti C, tetapi menambah ciri Objek Berorientasikan Smalltalk.

Objektif-C digunakan untuk apa?

Walaupun mungkin menggunakan Objective-C untuk menulis aplikasi untuk mana-mana sistem operasi atau platform, satu-satunya penggunaan utama Objective-C adalah untuk Aplikasi Apple pada tiga sistem operasi mereka: Mac OS X, iOS, WatchOS.

Adakah saya perlu menggunakan Objective-C untuk aplikasi Apple?

Tidak. Terdapat dua pilihan lain selain Objektif-C:

  • Swift – Bahasa pengaturcaraan Swift adalah penerus Objective-C, yang disokong oleh Apple untuk semua pengembangan aplikasi baru.

  • Menyusun atau berjalan di atas Objektif-C atau Swift – Terdapat beberapa cara untuk membina aplikasi bukan asli yang berfungsi di persekitaran Apple. Sebagai contoh:

    • Jejak telefon
    • Nama Kod Satu

    • Penolong

Adakah Objektif-C mati?

Tidak. Objektif-C masih merupakan bahasa yang bermanfaat untuk dipelajari, sekurang-kurangnya untuk beberapa sebab:

  • Pada masa ini, API Kakao Swift tidak matang sepenuhnya. Untuk beberapa jangka masa, Objective-C akan terus menjadi satu-satunya cara untuk memanfaatkan sepenuhnya platform Kakao.

  • Selain itu, asas untuk Kakao ditulis dalam Objektif-C. Perkara ini tidak mungkin akan berubah dalam masa terdekat, walaupun setelah Swift matang sepenuhnya. Sekiranya anda ingin menulis aplikasi kompleks yang memerlukan pemahaman yang mendalam tentang platform, anda memerlukan Objective-C.

  • Sehingga baru-baru ini, semua aplikasi Apple ditulis dalam Objective-C, dan banyak yang masih ada. Ini bermaksud bahawa jika Anda ditugaskan untuk mempertahankan, memperluas, atau meningkatkan aplikasi yang ada, Anda harus mengetahui Objective-C.

Bagaimana Objektif-C berbeza daripada C?

Objective-C merangkumi semua C, dan kemudian menambahkan prinsip Berorientasikan Objek padanya, menggunakan sintaks Smalltalk.

Bagaimana Objektif-C berbeza daripada C++?

C ++ dan Objective-C adalah penyelesaian yang berbeza untuk masalah penambahan Orientasi Objek ke bahasa pengaturcaraan C.

Objective-C menggunakan Smalltalk sebagai model bagaimana melaksanakan Orientasi Objek, sementara C ++ menggunakan Simula.

Bolehkah saya menggunakan Objective-C dalam sistem bukan Apple?

Ya. Objective-C dapat digunakan di mana saja, selama runtime yang diperlukan dipasang pada sistem.

Walau bagaimanapun, perkara ini tidak biasa dilakukan, dan biasanya terdapat cara penulisan aplikasi yang lebih baik (lebih disokong sepenuhnya) untuk platform lain.

Mungkin alasan yang paling menarik untuk menggunakan Objective-C dalam lingkungan bukan Apple adalah ketika memindahkan Aplikasi Apple ke Windows atau Linux. Dalam kes ini, anda juga perlu meniru Rangka Kerja Kakao, yang dapat anda lakukan dengan GNUstep.

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me