Cocoa and Cocoa Touch: Cara Memulai Membangun Aplikasi Mac dan iOS

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


Cocoa adalah API pengembangan yang asli dari sistem operasi Mac OS X. Cocoa Touch adalah platform analog terkait erat untuk iOS. Itu ditulis dalam Objective-C, dan bertindak sebagai semacam “lapisan atas” untuk setiap sistem operasi.

Kakao dapat dianggap sebagai platform aplikasi atau kerangka kerja pengembangan aplikasi, tetapi lebih terintegrasi ke dalam sistem operasi daripada salah satu dari ini akan berada di lingkungan Linux atau Windows.

Integrasi yang ketat antara API, sistem operasi, dan (tentu saja) perangkat keras Apple sendiri dimaksudkan untuk menyediakan lingkungan pengembangan yang mulus dan menegakkan “cara Apple” dalam melakukan sesuatu..

Sejarah Kakao

Kakao dimulai dengan C. Secara harfiah.

Pada awal 1980-an, sepasang pengembang bernama Brad Cox dan Tom Love berusaha untuk menambahkan Orientasi Objek ke bahasa pemrograman C, yang tidak mendukung OOP pada waktu itu.

Solusi mereka adalah membuat pra-prosesor yang akan membuat kode C dengan beberapa penambahan seperti Smalltalk menjadi kode C yang dapat dikompilasi. (Smalltalk adalah bahasa berorientasi objek awal.)

Preprosesor ini dengan cepat berkembang menjadi ekstensi bahasa yang lengkap dan kemudian dikenal sebagai Objective-C. Perangkat lunak NeXT, yang didirikan oleh Steve Jobs setelah ia dipecat dari Apple pada tahun 1985, melisensikan Objective-C dari penciptanya dan menggunakannya sebagai dasar untuk beberapa kerangka kerja pengembangan..

Ini membentuk platform aplikasi NeXTSTEP dan OpenStep, yang dijual NeXT melalui tahun 80-an dan 90-an.

Apple mengakuisisi NeXT pada tahun 1996, dan Steve Jobs kembali sebagai CEO. Kerangka kerja NeXTSTEP masuk ke sistem operasi Mac.

Apple sudah merek dagang nama Cocoa, untuk proyek terpisah yang dihentikan. Untuk dengan cepat memasukkan nama merek dagang ke versi kerangka kerja Apple yang lebih baru, mereka menyebutnya Cocoa.

Cocoa telah menjadi bagian dari semua sistem operasi Apple sejak akhir 1990-an, dan telah berkembang seiring dengan OS dan platform perangkat baru sejak saat itu..

Apa Yang Dilakukan Kakao??

Kakao melakukan banyak hal, tetapi secara umum ini termasuk dalam empat kategori:

  • Bertindak sebagai pustaka standar yang diperluas untuk Objective-C, memberikan dukungan untuk objek yang lebih kaya dan fitur bahasa komputasi modern yang tidak ada dalam desain Objective-C.

  • Memberikan antarmuka pengguna dan pengalaman pengguna yang terpadu.

  • Mengizinkan aplikasi mengakses aplikasi, layanan, dan fitur perangkat lainnya.

  • Mendorong pola arsitektur dan manajemen data tertentu.

Tujuan desain luas ini diimplementasikan dalam beberapa “kerangka kerja”. Istilah ini mungkin agak membingungkan. Dalam bahasa kontemporer, Kakao lebih seperti kerangka tunggal, dengan beberapa modul atau perpustakaan. Tetapi Apple menyebut masing-masing perpustakaan ini sebagai “kerangka kerja.”

Mari kita jelajahi masing-masing tujuan fungsional ini sedikit, dan bagaimana berbagai kerangka kerja Kakao mencapainya.

Kakao sebagai Perpustakaan Standar

Objective-C memiliki perpustakaan standar. Di lingkungan Cocoa, pustaka standar dan runtime sebenarnya disediakan oleh Cocoa. Selain itu, serangkaian fitur bahasa diperluas disediakan oleh Foundation Kit yang, dalam praktiknya, bertindak sebagai perpustakaan standar de facto.

Ini menyediakan fitur bahasa yang lebih maju daripada yang biasanya tersedia di Objective-C. Ini termasuk berbagai kelas dasar untuk jenis objek yang umum digunakan – angka, tanggal, string, URL, ekspresi reguler, dan pesan kesalahan.

Kerangka Foundation Kit ini sangat penting dalam aplikasi yang ditulis dalam Objective-C. Namun, pengembangan aplikasi di platform Apple menjauh dari Objective-C, karena Apple mempromosikan bahasa pengembangan Swift yang lebih baru.

Swift secara asli menyediakan banyak fitur bahasa modern yang ditambahkan oleh Foundation Kit, dan tidak jelas apa peran yang akan dimainkan Yayasan, dan Objective-C, dalam masa depan Swift-centric.

Kakao sebagai Antarmuka UI / UX

Aspek Kakao ini mungkin yang paling penting bagi pengembang aplikasi.

Di Cocoa versi OS X, API pengalaman pengguna disediakan oleh kerangka kerja yang disebut AppKit. Di Cocoa Touch untuk iOS, ini disebut UIKit.

Dalam kedua kasus, ini menyediakan elemen grafis, kontrol antarmuka pengguna, manajemen jendela dan panel, antarmuka multi-sentuh, dan semua detail interaksi lainnya antara pengguna dan sistem.

Penggunaan AppKit dan UIKit adalah apa yang membuat aplikasi terlihat dan terasa asli pada sistem Apple, dan menanggapi input (gerakan, klik, gerakan) dengan cara “benar”.

Perbedaan besar antara Cocoa dan Cocoa Touch adalah perbedaan antara AppKit dan UIKit. Seperti Apple telah bekerja untuk menyatukan pengalaman pengguna di seluruh platform, Anda masih berinteraksi dengan iPhone berbeda dari yang Anda lakukan dengan desktop Mac.

Selain elemen GUI yang sedikit berbeda, UIKit mencakup dukungan untuk hal-hal seperti arah kompas, GPS, akselerometer (pergerakan perangkat), dan layar sentuh.

Kakao sebagai Antarmuka Sistem Operasi

Aplikasi Apple juga harus dapat berinteraksi dengan aplikasi lain dan layanan sistem operasi.

Jika Anda ingin dapat mengklik nomor telepon di aplikasi obrolan Anda dan melakukan panggilan telepon, aplikasi harus dapat saling berbicara..

Jika Anda ingin aplikasi pengeditan musik dapat mengambil suara dari mikrofon dan memutar ke speaker Anda, aplikasi harus dapat berinteraksi dengan layanan sistem operasi.

Cocoa menyediakan daftar panjang kerangka kerja yang menyediakan akses ke aplikasi dan layanan. Inilah yang memungkinkan aplikasi untuk tidak hanya menjadi mandiri yang dapat dieksekusi, tetapi juga untuk ada dan beroperasi dalam ekosistem yang terintegrasi.

Kakao sebagai Arsitek

Kakao mendukung dua pola arsitektur penting, satu di dalam suatu aplikasi dan satu di dalam bagaimana suatu aplikasi berkomunikasi di luar dirinya.

Cocoa ditulis dengan paradigma arsitektur Model-View-Controller dalam pikiran, dan mendukung pengembangan MVC di semua tingkatan.

Lihat diimplementasikan oleh kerangka kerja AppKit atau UIKit. Modul pengontrol didukung melalui serangkaian kelas yang dibangun di dalam Foundation Kit. Model, dan koneksi yang diperlukan untuk lapisan data persistensi, ditangani oleh kerangka kerja lain yang disebut Core Data.

Desain ini mendorong (beberapa orang mengatakan memaksakan) arsitektur Model-View-Controller dalam aplikasi iOS dan OS X.

Antara aplikasi yang berbeda, dan juga antara aplikasi dan layanan, berbagai kerangka kerja memediasi interaksi dengan cara yang pada dasarnya berorientasi layanan. Ini membuatnya lebih mudah dan lebih aman untuk mengintegrasikan aplikasi satu sama lain, mempromosikan ekosistem aplikasi yang tangguh dan tangguh.

Sumberdaya Kakao

On line

Tutorial

  • Konsep Pemrograman Dasar untuk Cocoa dan Cocoa Touch

  • Pengantar Pedoman Pengkodean untuk Kakao

  • Cocoa Dev Central

  • Memprogram Mac OS X dengan Cocoa for Beginners.

Alat

  • Kontrol Kakao: komponen UI sumber terbuka untuk iOS dan OS X.

  • Cocoa Pods: manajer paket untuk proyek Cocoa.

Komunitas dan Pembelajaran Lanjutan

  • CocoaHeads: jaringan pertemuan dan diskusi kelompok di seluruh dunia yang didedikasikan untuk pengembangan Kakao dan Sentuhan Kakao.

  • Subreddit Kakao.

Buku

  • Swift Development with Cocoa: Berkembang untuk App Store Mac dan iOS

  • Pemrograman Kakao untuk OS X: Panduan Peternakan Besar Nerd

  • Belajar Kakao dengan Objective-C

  • Tutorial Kakao Ry

  • Kakao (Referensi Pengembang)

  • Pola Desain Kakao.

Sumber Pengembangan OS X dan iOS lainnya

Anda tidak dapat menggunakan Cocoa atau Cocoa Touch dalam ruang hampa. Ini adalah bagian dari lingkungan pengembangan Aplikasi Apple yang lebih besar, yang meliputi Xcode, Objective-C, dan Swift. Berbagai alat dan teknologi ini bekerja bersama untuk membentuk ekosistem pembangunan.

Xcode

Xcode adalah Lingkungan Pengembangan Terpadu (IDE) yang diperlukan untuk membangun aplikasi OS X dan iOS. Ini terintegrasi dengan erat dengan Swift, Cocoa, Apple App store, dan ekosistem Apple yang lebih besar.

Tidak ada banyak tutorial tentang Xcode khusus, karena dicakup dalam setiap sumber daya pengembangan Apple umum. Salah satu sumber yang bagus, adalah Tutorial Xcode ini, yang secara teratur diperbarui ketika versi Xcode baru keluar.

Objektif-C

  • Tentang Objective-C: tutorial pengantar dari pusat Pengembang Apple

  • Pemrograman Objective-C

  • Pemrograman Objective-C: Panduan Peternakan Besar Nerd.

Kami juga memiliki daftar sumber daya Objective-C yang lebih lengkap.

Cepat

  • Bahasa Pemrograman Swift: panduan Apple resmi

  • Swift Programming: The Big Nerd Ranch Guide: buku definitif tentang masalah ini.

Kami juga memiliki daftar lengkap sumber daya Swift.

Sumber Daya Pengembangan Umum Apple

Tempat pertama untuk informasi dan sumber daya tentang pengembangan platform Apple adalah situs Pengembang Apple.

Banyak buku terbaik tentang pengembangan Mac dan iOS berasal dari Big Nerd Ranch. Buku-buku mereka tentang topik-topik spesifik disebutkan di atas, dan Anda juga harus memeriksa buku-buku mereka tentang Pemrograman Mac OS X Lanjutan dan Pemrograman iOS.

Sumber daya umum bagus lainnya:

  • Tutorial Ray Wenderlich: salah satu penyedia yang relatif sedikit yang kembali dan memperbarui tutorial lama ketika Apple memperbarui platform.

  • Saluran Pemrograman Apple di YouTube: tidak resmi, tetapi sangat membantu.

  • WeHeartSwift: secara nominal tentang Swift, tetapi situs ini mencakup semua aspek pengembangan OS X dan iOS.

  • NSHipster: blog populer tentang pengembangan Mac dan iOS, dengan banyak tutorial tentang “bit terlewatkan di Objective-C, Swift, dan Cocoa.” Mereka juga sangat beralasan dalam liputan mereka, yang mungkin merupakan kekuatan.

  • ObjC.io: buku dan artikel tentang teknik dan praktik lanjutan untuk pengembangan iOS dan OS X.

Intinya …

Cocoa dan Cocoa Touch adalah dasar pengembangan aplikasi asli untuk Mac dan iOS.

Untuk iOS ada cara lain untuk membangun aplikasi seluler non-asli dengan HTML5 dan JS, tetapi ini tidak selalu berjalan seperti yang diharapkan – sungguh.

Jika Anda ingin membangun aplikasi iPhone besar berikutnya, atau membuat aplikasi Mac yang terintegrasi dengan baik dengan OS X dan sesuai dengan harapan pengguna, Anda benar-benar perlu menggali ke dalam Cocoa dan Cocoa Touch. Untuk pengembangan aplikasi asli, benar-benar tidak ada pengganti.

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