Tampilkan postingan dengan label iOS. Tampilkan semua postingan
Tampilkan postingan dengan label iOS. Tampilkan semua postingan
Jumat, 29 Mei 2020
Kenapa Saya Lebih Memilih Menggunakan SwiftUI Ketimbang UIKit dan Storyboard
Storyboard and UIKit
Untuk programmer/developer iOS yang sudah mempunyai banyak pengalaman tentu tidak asing dengan Storyboard dan UIKit. Storyboard adalah fitur atau tool yang terdapat pada aplikasi Xcode. Fitur ini membantu developer untuk melihat layout atau tampilan aplikasi yang sedang dibikin tanpa harus melakukan build. Selain itu, untuk membuat layout kamu juga tinggal drag and drop.
Di atas sudah saya jelaskan kelebihannya, lalu apakah Storyboard memiliki kekurangan? Ketika saya mencoba membuat layout menggunakan Storyboard banyak kekurangan yang saya temukan antara lain pada saat membuka file Storyboard loadingnya lumayan lama. Kekurangan lainnya adalah penggunaan constraint agar posisi atau tata letak layout sesuai dengan yang kita inginkan cukup memakan waktu karena sangat berbeda dibandingkan constraint layout yang ada di Android Studio.
File Storyboard kalau dibuka berisi kodingan atau tulisan XML. Jika dibaca mungkin akan membingungkan, lebih mudah untuk membaca kodingan bahasa Swift. Sehingga apabila terjadi conflict di repository project kemungkinan besar akan memakan waktu. Daripada membuat dan me-resolve kodingan layout menggunakan Swift.
Untuk penjelasan mengenai kekeurangan dan keleihan Storybaord di atas sudah saya rangkum seperti di bawah ini.
Kekurangan :
- Loading lama
- Harus terbiasa dengan constraint, kalau menurut saya ribet, butuh waktu untuk mengatur layout sesuai dengan yg diinginkan
- Akan susah untuk meresolve apabila terjadi conflict saat menggunakan git
Kelebihan :
- Kamu bisa melihat preview layout yg kamu buat dan tahu screen selanjutnya ke mana
Membuat Layout menggunakan Swift
Selain menggunakan Storyboard, kamu juga bisa membuat layout menggunakan kodingan Swift. Jadi, kamu tidak perlu lagi atau tidak sering-sering membuka file Storyboard. Bagi saya membuat layout menggunakan Swift lebih mudah dibaca dan dipahami daripada drag and drop menggunakan Storyboard. Namun, kekurangannya adalah kamu harus mem-build project untuk bisa melihat perubahan pada layout yang kamu buat.
Kelebihan :
- Loading cepat dibandingkan membuka Storyboard.
- Kodingan mudah dibaca dan dipahami.
- Reusable.
- Mudah me-resolve apabaila terjadi conflict.
Kekurangan :
- Harus mem-build untuk melihat perubahan layout.
- Tidak ada ada fitur preview.
Swift adalah bahasa pemrograman hasil karya Apple untuk menggantikan bahasa Objective-C dan Cococoa Touch yang bisa dibilang sudah ketinggalan dan tidak relevan dengan perkembangan developer. Oleh karena itu Apple membuat Swift untuk mendukung ekosistem Apple ke arah lebih baik lebih modern. Tidak hanya itu, bahasa Swift juga bisa digunakan untuk bahasa server misalnya membuat API.
Jika kamu menggunakan Storyboard, di situ akan kamu temui di mana view dan controller dibuat secara terpisah. Sehingga banyak sekali kodingan yang tidak perlu. Karena dianggap obsolete, usang, dan tidak relevan. Apple menghadirkan teknologi atau fitur baru yang bernama SwiftUI. Pada SwiftUI view dan controller dibuat dalam satu file. Sehingga lebih simple, ringkas, dan lightweight atau mempunyai ukuran file yang lebih kecil dibandingkan menggunakan Storyboard atau UIKit.
Untuk menggunakan SwiftUI kamu harus menggunakan Xcode versi 11. Minimal kamu menggunakan OS Mojave meski tanpa ada fitur live preview. Jika kamu ingin menggunakan fitur live preview SwiftUI maka kamu harus meng-upgrade OS kamu ke Catalina.
Syarat lain untuk menjalankan SwiftUI di Xcode adalah minimal target aplikasi iOS 13. Sehingga apabila target aplikasi masih dibawah iOS13, misalnya iOS 12. Kamu masih bisa menjalankan SwifUI berbarengan dengan UIKit dengan memberikan exception yakni aplikasi iOS 13 akan menjalankan kodingan SefitUI sedangkan dibawah versi itu akan menjalankan kodingan di controller Storyboard yang menggunakn UIKit.
Saat ini adalah waktu yang tepat untuk berinvestasi menggunakan SwiftUI dan mulai migrasi atau meninggalkan Storyboard dan UIKit. Dukungan penuh Apple membuat masa depan SwiftUI semakin cerah. Untuk developer, syarat mengunggah aplikasi ke App Store adalah minimal target aplikasi untuk iOS 13. Jadi, menurut saya ini adalah salah satu cara atau strategi Apple untuk menyuruh developer untuk mulai migrasi menggunakan SwiftUI.
Membuat layout menggunakan SwiftUI sangatlah mudah, mudah dipahami dan mudah dibaca. Apabila sebelumnya kalian sudah mengenal atau belajar Jetpack Compose di Android ataupun Flutter. Bersyukurlah, karena struktur kodenya sangat mirip (declarative UI) sehingga memudahkan untuk beradaptasi. Oke, sekian penjalsan dari saya.
Kelebihan :
- Kodingan mudah dibaca dan mudah dipahami sehingga mempersingkat waktu untuk membuat layout.
- Strukturnya sama dengan Jetpack Compose di android dan juga flutter sehingga memudahkan developer untuk beradaptasi.
- Karena view dan controller jadi satu jadinya lebih simple dan ringakas.
- Dukungan penuh dari Apple.
- Storyboard sudah tidak relevan untuk kebutuhan programmer
Kekurangan :
- Karena baru jadi referensinya masih sedikit. Akan tetapi sudah mulai banyak course yang bermunculan baik di Udemy amupun di YouTube.
Selasa, 26 Mei 2020
Mencoba Fungsi Git di Xcode dengan Meng-clone Project dari Gitlab
Oke, kali ini saya ingin berbagi tips tentang bagaimana mengclone repository yang ada di Gitlab untuk dijalankan di Xcode.
Pertama adalah pastikan kamu sudah menginstal aplikasi Xcode. Jika belum kamu bisa mendownloadnya dari AppStore Apple.
Kalau sudah, silakan buka terminal lalu ketik : git config --list
Selanjutnya akan ditampilkan settingan Git global, di situ kamu dapat melihat user.name dan user.email.
Setelah itu, kita membutuhkan access account Gitlab dari Xcode. Caranya buka aplikasi Xcode melalui Spolight Search. Ketika aplikasi Xcode sudah terbuka, tekan “Command + ,”. Ketika halaman preference sudah tampil, pilih tab Account. Lalu, login ke account Gitlab caranya dengan mengklik icon “+” di pojok kiri bawah.
Pilih Gitlab.com dan tekan tombol confirm.
![]() |
| Login ke akun Gitlab |
Seperti pada gambar di atas, kamu disuruh memasukkan alamat email dan juga token yang harus kamu generate dari Gitlab.com.
Berikut ini adalah cara untuk mendaptkan access token Gitlab :
1. Kalau sudah login ke website Gitlab, klik foto profil kamu. Selanjutnya pilih Settings dan Access Tokens.
2. Ketik nama aplikasi kamu dan pilih tanggal expired token. Jangan lupa pilih grant access yang kamu butuhkan. Untuk lebih lengkapnya kamu bisa baca dokumentasi berikut: https://docs.gitlab.com/ee/user/profile/personal_access_tokens.html
3. Jangan lupa untuk menyimpan hasil generate token karena setelah halaman tersebut kamu refresh maka kamu tidak bisa melihat token tersebut lagi. Namun kamu jangan kawatir apabila ingin menghapus token yang sedang aktif, caranya pilih tombol Revoke pada menu Active Personal Access Token.
Jika sudah mendapatkan token selanjutnya, kembali ke halaman Preference. Masukkan alamat email dan juga access token yang sduah didapat. Lalu, klik tombol Sign In.
Setelah berhasil login, kembali ke buka aplikasi Xcode dan pilih menu “Clone an existing project”. Selanjutnya kamu diminta memasukkan alamat url project di Gitlab yang akan kamu clone dan kemudian tekan tombol Clone.
Jika alamat url valid, selanjutnya kamu akan disuruh memilih branch yang kamu inginkan. Selesai.
Pada saat saya mau menjalankan project terdapat error sebagai berikut :
Showing Recent Issues
/Users/aprilian/Dev iOS /rencanamu-ios/Pods/Target Support Files/Pods-Rencanamu.id/Pods-Rencanamu.id.debug.xcconfig: unable to open file (in target "Rencanamu.id" in project "Rencanamu.id")
Error tersebut dikarenakan saya belum menginstal Pod. So, kita install CocoaPods dengan mengetikkan code berikut di terminal: brew install cocoapods
![]() |
| Install Cocoapods |
Setelah Cocoapods berhasil diinstall, sekarang buka directory project kamu di terminal. Kalau sudah ketik ini :
pod deintegrate
pod install
Hasilnya seperti gambar berikut:
Oke error yang tadi sudah solve. Berikut ada error library yang belum ke install.
/Users/aprilian/Dev iOS /rencanamu-ios/Rencanamu.id/Screens/RegisterScreen/RegisterViewController.swift:10:8: No such module 'SVGKit'





