4 Hal yang harus dipersiapkan untuk memulai iOS App Development

Anda tertarik untuk belajar membuat aplikasi untuk platform iOS (iPhone, iPod Touch dan iPad) ? Ada beberapa hal yang perlu anda persiapkan.  Perlu anda ketahui, iOS adalah sistem operasi buatan Apple, diturunkan dari Mac OS X.  Jika anda pernah belajar pengembangan aplikasi untuk platform desktop Mac OS X, anda hanya perlu penyesuaian sedikit.  Untuk anda yang baru pertama kali berkenalan dengan platform Apple, tidak perlu kuatir, karena saya akan menuliskan hal-hal yang perlu anda persiapkan.

Sebuah Mac (MacBook Air, MacBook, MacBookPro, iMac, Mac Mini atau Mac Pro) dengan Sistem Operasi minimal Mac OS X 10.6.6 atau Mac OS X 10.7

Ini merupakan kebutuhan pertama dan sekaligus sebuah entry barrier yang cukup besar, khususnya bagi anda yang tidak memiliki Mac.  Merupakan entry barrier karena harganya cukup mahal bila dibandingkan dengan komputer biasa.

Kenapa harus menggunakan Mac?  Karena tools development seperti Xcode hanya berjalan di atas sistem operasi Mac OS X 10.6.6 ke atas atau Mac OS X 10.7.0 ke atas.  Untuk saat ini tidak ada Xcode untuk platform Windows atau Linux.  Dugaan saya nantinya juga tidak akan pernah ada 😦

Apakah bisa menggunakan Hackintosh?  Bisa, jika anda hanya ingin belajar sendiri.  Ingat, yang dibutuhkan sebenarnya sistem operasi Mac OS X.  Jika anda berhasil menjalankan Mac OS X pada komputer biasa (atau dikenal dengan istilah Hackintosh), berarti anda sebenarnya sudah memenuhi kebutuhan pertama ini.

Jika saya menggunakan Hackintosh, bagaimana kompatibilitasnya?  Jika hanya untuk belajar saja, sebagian besar proses pengembangan aplikasi iOS bisa dijalankan dengan baik.  Jika anda berniat mengupload aplikasi anda ke iTunes Store, tentunya sebaiknya menggunakan Mac, terutama bila anda ingin mendapatkan pemasukan dari aplikasi tersebut.

Saya punya iBook/iMac/MacPro keluaran beberapa tahun yang lalu, apakah bisa digunakan?  Hanya Mac dengan processor Intel yang dapat menjalankan Xcode untuk iOS Development.  Cek hardware anda untuk memastikannya. Continue reading 4 Hal yang harus dipersiapkan untuk memulai iOS App Development

Automatic Reference Counting pada Objective-C

Saat mencoba Xcode 4.2 beta 7, saya melihat ada opsi Automatic Reference Counting saat membuat project baru untuk iOS.  Apa itu Automatic Reference Counting (ARC) ?  Penjelasannya secara lengkap dapat dilihat di situs LLVM.

Automatic Reference Counting implements automatic memory management for Objective-C objects and blocks, freeing the programmer from the need explicitly insert retains and releases. It does not provide a cycle collector; users must explicitly manage lifetime instead.

Sepertinya membuat program untuk iOS dengan Objective-C akan semakin mudah, karena memory management  adalah salah satu hal yang cukup merepotkan bagi yang belum terbiasa, apalagi yang terbiasa menggunakan Java.  Pada Java terdapat fitur Garbage Collector, di mana object-object yang sudah tidak digunakan atau tidak memiliki referensi akan dihapus secara otomatis.  Untuk Objective-C 2.0 memang terdapat fitur Garbage Collector (untuk desktop apps), sedangkan untuk iOS tidak ada fitur Garbage Collector.

Lalu apa bedanya ARC dengan Garbage Collector?  Jika membaca penjelasan pada situs LLVM tersebut, sepertinya ARC bekerja pada tahap kompilasi, di mana kompiler akan menyisipkan operasi management memory (seperti retain, release) pada bagian-bagian yang diperlukan.  Sedangkan Garbage Collector bekerja pada tahap runtime.  ARC di sini mirip seperti code assistant, yang pada saat kompilasi akan melengkapi code anda dengan bagian-bagian memory management.

Apakah kita masih perlu belajar memory management (reference counting)? Menurut saya masih perlu, untuk saat ini fitur ARC masih belum masuk ke release Xcode versi final, dan sepertinya hanya akan berjalan di iOS 5 saja.  Jadi untuk saat ini, apalagi jika anda mentargetkan aplikasi anda dijalankan di iOS 4, anda masih harus belajar memory management.  Lagipula pengetahuan akan memory management akan membuat anda menjadi programmer yang lebih baik 🙂

Salah satu sumber referensi yang singkat dan jelas untuk Reference Counting dapat anda baca di sini.

Tutorial 04: Hello World!

Pada tutorial ini saya akan menjelaskan pembuatan aplikasi SimpleLabel yang akan menampilkan tulisan Hello World dan Halo Dunia berdasarkan tombol yang ditekan.  Sebagai gambaran, aplikasinya akan seperti ini:

Jika tombol Indonesia ditekan, label akan menampilkan Halo Dunia!.  Jika tombol English ditekan, label akan menampilkan tulisan Hello World!.

Mari kita mulai.  Jalankan Xcode (saya menggunakan Xcode 4.1).  Buatlah project baru.

Continue reading Tutorial 04: Hello World!

Learn Objective-C for Java Developers

Anda tertarik untuk mengembangkan aplikasi di platform iOS milik Apple?  Anda tertarik untuk membuat aplikasi yang berjalan di iPad, iPhone atau iPod Touch? Jika anda menjawab Ya, berarti sudah saatnya anda belajar bahasa pemrograman Objective-C. Bagi anda yang menguasai Java, prosesnya akan lebih mudah lagi.  Objective-C dan Java sama-sama merupakan bahasa pemrograman berorientasi obyek.  Ada beberapa perbedaan yang cukup mendasar antara Objective-C dan Java.  Saya merekomendasikan buku Learn Objective-C for Java Developers berikut:

Buku ini akan sangat membantu anda memahami Objective-C :).  Selamat membaca.