SWIFT atau Objective-C

Dipostingan kali ini kita akan membahas tentang bahasa pemgoraman SWIFT dan Objective-C, seperti apa yang membedakan SWIFT dengan Objective-C, lalu mana yang lebih baik antara SWIFT atau Objective-C ?

Pada event WWDC (Worldwide Developer Conference) di tahun 2014, Apple mengejutkan para pengembang iOS dengan memperkenalkan bahasa pemograman baru yang dinamakan dengan Swift. appleswifticonBanyak developer yang tidak menyangka bahwa bahasa pemograman baru ini akan keluar di tahun itu, karena kebanyakan beranggapan yang keluar hanyalah API baru untuk iOS 8 dan versi terbaru dari Xcode. Di konferensi tersebut dijelaskan bahwa Swift itu “fast, modern, safe, & interactive”. Intinya bahasa yang lebih mudah untuk dipelajari dan memiliki fitur yang lebih produktif.

objective-c-logoJika sebelumnya iOS menggunakan bahasa pemograman objective-c untuk pengembangannya, sekarang kita sudah bisa memilih antara Swift atau Objective-C. Objective-C telah digunakan oleh Apple sebagai bahasa pemograman utama untuk pengembangan iOS dan Mac selama 20 tahun. Berikut tanggapan tentang Objective-C menurut Simon NG – Seorang Senior iOS Developer:

“Objective-C was hard to learn and its
syntax looked weird. Simply put, the code scares some beginners off from learning iOS
programming”.

Dengan di-release-nya bahasa pemograman baru, Apple menjawab keluhan yang ada tentang bahasa pemograman untuk pengembangan. Dengan syntax yang lebih bersih dan mudah untuk dibaca, dan juga sepertinya menggunakan Swift akan lebih produktif karena kemudahnnya dalam membaca syntax. Kemungkinan jika kita nantinya terbiasa menggunakan Swift, maka akan kesulitan untuk kembali menggunakan Objective-C.

Berikut contoh yang menggambarkan perbedaan syntax yang signifikan yang ada di Objective-C dan juga Swift :

Objective-C


const int count = 10;
double price = 23.55;
NSString *firstMessage = @"Swift is awesome. ";
NSString *secondMessage = @"What do you think?";
NSString *message = [NSString stringWithFormat:@"%@%@", firstMessage, secondMessage];
NSLog(@"%@", message);

view raw

sample.M

hosted with ❤ by GitHub


Swift


let count = 10
var price = 23.55
let firstMessage = "Swift is awesome. "
let secondMessage= "What do you think?"
var message = firstMessage + secondMessage
println(message)

view raw

sample.swift

hosted with ❤ by GitHub

Seperti yang terlihat, dibagian atas merupakan contoh syntax menggunakan bahasa pemograman Objective-C dan yang kedua menggunakan Swift. Menurut Anda mana bahasa yang terlihat mudah dibaca ? menurut saya sih jelas terlihat Swift enak dibaca.

Konstanta dan Variabel merupakan dua elemen dasar yang ada di pemograman. Di bahasa pemograman Objective-C, kita bertanggung jawab untuk menspesifikasikan tipe dari variabel atau konstanta menjadi integer atau string terlebih dahulu. Sedangkan di Swift, telah diperkenalkan fitur baru yang dinamakan dengan Type Inference. Kita tidak perlu lagi menspesfikasikan tipe dari variabel/konstanta. Semua yang kita perlukan adalah menggunakan let untuk mendeklarasikan konstanta dan var untuk mendeklarasikan variabel. Swift cukup pintar untuk menarik kesimpulan dari tipe dan nilai yang telah kita buat.

Perbedaan lainnya adalah penghilangan titik koma. Maksudnya, pada Objective-C kita harus membuat statement akhir dengan titik koma, jika kita lupa membuatnya maka program akan error. Nah di Swift perkerjaan menjadi lebih mudah karena hal seperti itu tidak diperlukan lagi.

Swift menambahkan banyak fitur yang powerful untuk mempermudah coding. Seperti yang kita lihat di contoh diatas, string manipulation membuatnya menjadi lebih mudah. Di Objective—C, kita haru memilih class antara class NSString dan NSMutableString untuk menentukan string bisa dimodifikasi atau tidak. Hal ini tidak diperlukan lagi di Swift. Kapanpun kita menggunakan string sebagai variabel, string bisa dengan mudah dimodifikasi. Menggabungkan string sangatlah mudah, kita hanya perlu menggunakan operator + untuk menggabungkan kedua stringnya. Dan juga Swift memperbolehkan kita untuk membandingkan string dengan menggunakan operator ==. Well sebenarnya ada banyak fitur yang belum dijelaskan, tapi akan lebih baik menjelaskannya dengan menuliskannya kedalam sebuah code.

Xcode 6 memperkenalkan fitur baru yang dinamakan dengan Playgrounds. Ini merupakan environment pengembangan yang interaktif untuk developer agar bisa belajar bahasa pemograman Swift dan dapat memperlihatkan hasil code kita secara langsung. Untuk memulainya kita dapat menemukannya di startup dialog diawal membuka Xcode.

Welcome Dialog Xcode
Welcome Dialog Xcode

Playground adalah tipe spesial dari file Xcode. Kita bisa dengan mudah meng-klik “Get started with a playground” untuk memulainya. Kemudian kita akan mendapatkan pesan untuk mengisi nama project dan pilihan platform.

Project Name Selected
Project Name Selected

Di tutorial ini kita bisa menggunakan nama default atau pilihan kita sendiri, lalu memilih iOS platform. Selanjutnya kita akan diminta untuk meng-confirm untuk menyimpan file, lalu Xcode akan membuka tampilan Playground yang nantinya akan terlihat seperti ini:

Playground

Di screen sebelah kiri, merupakan area editor dimana kita akan menulis code. Ketika kita menuliskan code, Playground akan secara langsung menampilkan hasilnya di panel sebelah kanan dari code editor. Defaultnya Playground memiliki dua panel.

ios-concept-dribbble

Di tutorial ini kita akan menulis beberapa code di Playground. Perlu diingat tutorial ini berfungsi untuk melatih pemograman Swift di Xcode 6. So let’s get started !!


Pertama, kita deklarasikan 2 variabel seperti berikut:


var message1 = "Hello Swift! How can I get started?"
var message2 = "The best way to get started is to stop talking and code."

view raw

sample1.swift

hosted with ❤ by GitHub

Ketika kita menambahkan code diatas ke editor, kita akan melihat hasilnya di panel sebelah kanan.

Playground Editor

Ok, mari kita lanjutkan dengan code dibawah ini :


message1.uppercaseString

view raw

sample2.swift

hosted with ❤ by GitHub

Editor Xcode memiliki fitur auto complete. Fitur inilah yang membuat proses coding menjadi lebih efisien, karena ketika kita mengetikkan “mess” maka akan muncul auto-complete windows yang menampilkan pesan petunjuk selanjutnya. Yang perlu kita lakukan adalah memilih “message1” lalu tekan enter.

Auto Complete

Swift bekerja dengan snytax dot untuk memanggil method dan mengakses properti dari sebuah variabel. Ketika kita mengetikkan dot setelah message1, window auto-complete akan muncul kembali. Nantinya akanmenampilkan beberapa list usulan dari method dan properties untuk variabel yang digunakan. Kita lanjutkan dengan mengetikkan “uppercaseString” atau memilih salah satu dari usul window auto-complete.

Auto Complete 2

Ketika kita selesai mengetikkannya, kita bisa melihat keluarannya secara langsung. Ketika kita menggunakan property uppercaseString, konten dari message1 akan dikonversikan ke dalam tipe upper case secara otomatis.

Lanjutkan dengan menambahkan code dibawah ini :


message2.lowercaseString + " Okay, I'm working on it "

view raw

message1.swift

hosted with ❤ by GitHub

Swift memperbolehkan kita untuk menggabungkan dua string dengan operator +. Baris kedua dari code akan di convert menjadi lower case.

Mari kita lanjutkan dengan code berikut :


if message1 == message2 {
println("Same message")
} else {
println("Not the same message")
}

view raw

sample3.swift

hosted with ❤ by GitHub


Kondisi dan Logika merupakan hal penting dalam pemograman. Terkadang kita ingin mengeksekusi beberap bagian dari code saja, untuk melakukannya kita perlu menambahkan sebuah kondisi seperti if-else. Nah disini kita akan membandingkan konten dari variabel message1 dan message2 menggunakan operator ==. Jika kontennya sam, makan program akan menampilkan “Same message”. Dan kebalikkannya akan menampilkan “Not the same message”. Dan nantinya kita akan melihat hasil seperti berikut :

Auto Complete 3


Oke selanjutnya kita menambahkan sebuah label, yang mana berhubungan dengan elemen user interface, seperti code berikut:


let messageLabel = UILabel(frame: CGRectMake(0, 0, 300, 50))
messageLabel.text = message1
messageLabel

view raw

sample4.swift

hosted with ❤ by GitHub

Disini kita menggunakan class UILabel yang telah built-in untuk membuat sebuah lavel dengan ukurang 300×50. Kemudian kita pasang teks ke message1. Untuk menampilkan elemen UI di playground, kita bisa mengklik icon Quick Look atau Value History. Fitur Quick Look menampilkan label dalam bentuk pop-over windows. Jika kita menggunakan fitur Value History, Playground akan membuka pane yang terpisah.

Auto Complete 4

Well itu mungkin hanyalah sebuah label, tertarik untuk mengganti warnanya? Nah selanjutnya kita akan coba untuk mengganti warnya. Ikuti code dibawah ini:


messageLabel.backgroundColor = UIColor.orangeColor()
messageLabel.textAlignment = NSTextAlignment.Center
messageLabel.layer.cornerRadius = 10.0
messageLabel.clipsToBounds = true
messageLabel

view raw

sample5.swift

hosted with ❤ by GitHub

Ini merupakan salah satu kelebihan iOS SDK, karena memperbolehkan developer untuk menggantinya dengan beberapa baris code.

Auto Complete 5

Nah sebenarnya kita tidak perlu lagi untuk menulis code secara manual untuk membuat tampilan aplikasi. Xcode memperkenalkan fitur yang dinamakan dengan Storyboard yang bisa kita gunakan untuk mendesign UI dengan drag-and-drop.

So bagaimana menurut Anda dengan bahasa pemograman Swift ini? Tertarik? Mulai jatuh cinta? Well, mari kita sama-sama mempelajarinya, oya jangan lupa juga feedbacknya agar seri tutorial ini terus bertambah dan juga menjadi lebih baik. See ya..!!


Semua contoh dari pembahasan yang ada di postingan ini bisa di download disini: https://www.dropbox.com/s/gf5045r5sd7vcib/MyPlayground.zip?dl=00

4 thoughts on “SWIFT atau Objective-C

Good People write good comments ..