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.

Full Screen Terminal di Mac OS X Lion

Anda yang sering menggunakan Linux mungkin pernah menggunakan console untuk melakukan administrasi sistem, mengubah file permission, menginstall program dan sebagainya.  Pada Linux kita bisa masuk ke mode Terminal fullscreen dengan menekan tombol ALT + F2, ALT+F3 dan seterusnya (tergantung setting anda).

Salah satu fitur andalan Lion adalah fullscreen apps, seperti halnya Safari, iPhoto, XCode, dsb yang dapat dijalankan secara fullscreen memenuhi layar.  Aplikasi Terminal pada Lion juga sudah termasuk kategori fullscreen apps, anda tinggal meng-klik tanda panah di pojok kanan atas window Terminal.

Untuk saat ini tidak semua aplikasi mendukung fitur fullscreen apps, tapi bila anda ingin aplikasi kesayangan anda dapat dijalankan secara fullscreen langkah yang diberikan di sini patut dicoba.  Tentunya asyik bila dapat menjalankan TextMate secara fullscreen 🙂

XCode 4.1 untuk Mac OS X Lion

Setelah berhasil menginstall Mac OS X Lion, berikutnya saya mencoba menginstall XCode 4.1.  Bagi anda yang membeli Mac OS X Lion, anda dapat mendownload XCode 4.1 dari Apple App Store secara gratis.  Saya memiliki installer XCode 4.0.1 yang ternyata tidak bisa diinstall di Lion.

Secara umum XCode 4.1 hampir sama dengan XCode 4.0.1, hanya terdapat beberapa update dan tambahan versi iOS 4.3 yang disertakan.  Setelah terinstall, anda dapat menjalankan XCode dari Launchpad.

Menginstall XCode Documentation (untuk XCode 4)

Salah satu fitur yang cukup membantu di XCode adalah Quick Help, yang menampilkan dokumentasi berkaitan dengan keyword yang sedang terpilih (highlighted) pada Code Editornya.  Dokumentasi tersebut diambil langsung dari dokumentasi online Apple, sehingga membutuhkan koneksi Internet untuk memunculkannya.

Jika tempat anda selalu terhubung Internet maka anda bisa tetap tenang karena Quick Help akan selalu tersedia.  Bagi saya yang koneksi Internetnya terbatas, akan lebih baik jika dokumentasi tersebut terinstall secara offline, sehingga jika suatu saat membutuhkannya maka saya dapat langsung membukanya tanpa membutuhkan koneksi Internet.

Untuk menginstall dokumentasi langkahnya mudah, pilih menu XCode > Preferences, lalu pilih Documentation, seperti pada gambar berikut.

Tekan tombol Check and Install Now, masukkan password anda pada kotak isian yang muncul, lalu tunggulah beberapa saat.  Dokumentasi lengkap sudah terinstall di Mac anda dan dapat diakses secara offline.  Walaupun versi online akan lebih terupdate, tapi saya lebih memilih versi offline karena alasan keterbatasan koneksi Internet.

Anda sering membutuhkan akses ke dokumentasi? atau anda lebih suka meminta pencerahan dari mbah Google? 🙂

Oh iya saya hampir lupa, sejak XCode versi 4.0 Apple sudah tidak menyertakan dokumentasi lagi pada installer XCode.  Seingat saya saat menggunakan XCode versi 3 saya tetap dapat mengakses dokumentasi walaupun tidak terhubung ke Internet.

iOS Tutorial 03 : Aplikasi UpDown

Selamat datang pada seri tutorial iOS yang ke-3.  Kali ini kita akan membuat aplikasi UpDown.  Aplikasi ini dapat digunakan untuk mencacah.  Selain mencacah naik (Up), aplikasi ini juga dapat mencacah mundur (Down).  Karena itulah aplikasi ini dinamakan UpDown 🙂

Pada tutorial kali ini yang akan dibahas antara lain :

  • Bagaimana menerima input (tap pada tombol)
  • Bagaimana melakukan perhitungan (Up atau Down) sesuai tombol yang ditekan
  • Bagaimana mengubah tampilan jumlah (pada label) sesuai dengan hasil cacahan sekarang

Continue reading iOS Tutorial 03 : Aplikasi UpDown

iOS Tutorial 02 : IBOutlet dan UISlider

Hari ini saya mencoba XCode 4.0.1 yang cukup impresif, terutama pada penggabungan Interface Builder dan Code Editor menjadi satu window.  Jauh lebih mudah karena tidak perlu lagi berganti window untuk desain interface dan menuliskan kode.

Pada tutorial ini saya akan membahas mengenai IBOutlet dan contoh penggunaan UISlider.  Apa itu IBOutlet? sebenarnya ini berkaitan dengan pattern MVC.  Perlu anda ketahui, iOS development menggunakan pattern MVC (Model View Controller).  Lalu apa hubungan IBOutlet dengan MVC?  Salah satu tugas Controller adalah mengatur jalur data dan respon dari Model dan View.  Misalnya saja pada View terdapat satu Label (untuk menampilkan teks).  Controller suatu saat ingin mengubah teks yang ditampilkan oleh label tersebut.  Pada saat seperti ini, Controller akan berkomunikasi dengan View menggunakan Object yang namanya IBOutlet.  Secara mudah, IBOutlet akan kita gunakan bila Controller kita ingin mengubah tampilan/nilai pada komponen yang ada pada View 🙂

Kasus yang akan saya bahas kali ini adalah pembuatan aplikasi Termometer.  KIra-kira berikut adalah tampilan dari program:

Continue reading iOS Tutorial 02 : IBOutlet dan UISlider