Menjadi iOS Developer Expert
Teknologi:
iOSLevel: Mahir
Siswa Terdaftar
Teknologi:
iOSLevel: Mahir
Siswa Terdaftar
Kelas ini merupakan langkah ke-lima Anda untuk menjadi iOS Developer.
Banyak perusahaan berkompetisi untuk menjangkau pasar iOS sebanyak mungkin. Namun, mahalnya biaya akuisisi pengguna menjadi kendala dalam membangun aplikasi. Maka diperlukan aplikasi dengan performa tinggi agar dapat bersaing dan meningkatkan retensi pengguna. Minimnya bug, keamanan, dan ukuran aplikasi adalah faktor yang perlu diperhatikan untuk kenyamanan user. Pelajarilah kelas ini untuk mengetahui cara membuat kode yang dapat mengikuti kebutuhan bisnis serta tidak rapuh ketika dikembangkan.
Kelas ini merupakan langkah ke-lima Anda untuk menjadi iOS Developer.
Peralatan Belajar
Spesifikasi minimal perangkat:
Prosesor
Intel Core i3 (Rekomendasi Core i5 ke atas).
Tools yang dibutuhkan untuk belajar:
Xcode
Minimal Xcode 11 (Rekomendasi Xcode 12 atau terbaru).
Lihat semua peralatan belajar
Lihat semua peralatan belajarKelas ini membutuhkan spesifikasi perangkat seperti berikut:
RAM
4 GB (Rekomendasi 8 GB).
Layar
1366 x 768 (Rekomendasi Full HD 1920 x 1080).
Sistem Operasi
MacOS
Prosesor
Intel Core i3 (Rekomendasi Core i5 ke atas).
Kelas ini membutuhkan beberapa tools berikut:
Xcode
Minimal Xcode 11 (Rekomendasi Xcode 12 atau terbaru).
Metode Ajar
Lihat semua metode ajar
Lihat semua metode ajarKontributor
1Curriculum Developer yang membangun kelas ini:
Gilang Ramadhan
Curriculum Developer at Dicoding Indonesia
Reviewer
14Code Reviewer yang akan me-review tugas dan kode Anda:
Alfa Centaury Hidayatullah
Mobile Developer
Life Is A Choice | Mobile Developer
Learn. Code. Write. Repeat.
Ari Supriatna
Sr. iOS Engineer at Bibit
Alfian Yusuf Abdullah
Head of Reviewer at Dicoding Indonesia
Deden Muhamad Furqon
Academy Code Reviewer at Dicoding Indonesia
Lihat semua kontributor dan reviewer
Lihat semua kontributor dan reviewerKontributor kelas
Curriculum Developer yang membangun kelas ini:
Gilang Ramadhan
Curriculum Developer at Dicoding Indonesia
Tim Reviewer
Code Reviewer yang akan me-review tugas dan kode Anda:
Alfa Centaury Hidayatullah
Mobile Developer
Life Is A Choice | Mobile Developer
Learn. Code. Write. Repeat.
Ari Supriatna
Sr. iOS Engineer at Bibit
Alfian Yusuf Abdullah
Head of Reviewer at Dicoding Indonesia
Deden Muhamad Furqon
Academy Code Reviewer at Dicoding Indonesia
Gilang Ramadhan
Curriculum Developer at Dicoding Indonesia
Our team at Dicoding Indonesia thrives under my coordination, where we've honed a robust curriculum enhancing the Android and iOS development skills of our students. With a rich educational backdrop that spans from Politeknik Negeri Semarang to specialized certifications from Udacity and the University of Toronto, I've forged a path that intersects innovative teaching with cutting-edge technology.
As a Curriculum Developer and Contributor Coordinator, my focus is on crafting high-quality educational content and managing our elite contributors. Our success is evident in the elevated learning experiences we deliver, rooted in my expertise in UX Design, Android Development, iOS Development, and Project Management, ensuring that every student is equipped for the dynamic demands of the tech industry.
Sesaka Aji Nursah Bantani
External Reviewer Dicoding at Dicoding Indonesia
Uwais Alqadri
Mobile Software Engineer
A person who always curious about Mobile Technology, learned code since high school and more from the Internet and very passionate about Mobile Engineering. specialize in Swift (Apple Platforms) and Kotlin (Android, Kotlin Multiplatform).
Windy
External Code Reviewer at Dicoding Indonesia
Galah Seno Adjie
External Code Reviewer at Dicoding Indonesia
Rivaldo Fernandes
iOS and Android Expert
Mobile Developer Enthusiast
iOS Developer at PT Bank Syariah Indonesia
Kevin Jonathan
External Code Reviewer at Dicoding Indonesia
Research Assistant at Waseda University | Apple Developer Academy Alumni
Deden Muhamad Furqon
Academy Code Reviewer at Dicoding Indonesia
Saya memulai perjalanan di bidang Android Development sejak 2017 dan telah lulus dari program Google Developer Kejar 2019, IDCamp 2019, serta Bangkit 2021. Sejak bergabung dengan Dicoding pada tahun 2022, saya mengembangkan keahlian lebih luas di bidang Software Engineering, mencakup Mobile Development (Kotlin, Flutter, dan Swift), Web Development (Frontend & Backend), UI/UX, sampai Project Management.
Certificate:
Khrisna Indrawan Eka Putra
Alfa Centaury Hidayatullah
Mobile Developer
Life Is A Choice | Mobile Developer
Learn. Code. Write. Repeat.
Ari Supriatna
Sr. iOS Engineer at Bibit
Alfian Yusuf Abdullah
Head of Reviewer at Dicoding Indonesia
Deden Muhamad Furqon
Academy Code Reviewer at Dicoding Indonesia
Gilang Ramadhan
Curriculum Developer at Dicoding Indonesia
Our team at Dicoding Indonesia thrives under my coordination, where we've honed a robust curriculum enhancing the Android and iOS development skills of our students. With a rich educational backdrop that spans from Politeknik Negeri Semarang to specialized certifications from Udacity and the University of Toronto, I've forged a path that intersects innovative teaching with cutting-edge technology.
As a Curriculum Developer and Contributor Coordinator, my focus is on crafting high-quality educational content and managing our elite contributors. Our success is evident in the elevated learning experiences we deliver, rooted in my expertise in UX Design, Android Development, iOS Development, and Project Management, ensuring that every student is equipped for the dynamic demands of the tech industry.
Sesaka Aji Nursah Bantani
External Reviewer Dicoding at Dicoding Indonesia
Uwais Alqadri
Mobile Software Engineer
A person who always curious about Mobile Technology, learned code since high school and more from the Internet and very passionate about Mobile Engineering. specialize in Swift (Apple Platforms) and Kotlin (Android, Kotlin Multiplatform).
Windy
External Code Reviewer at Dicoding Indonesia
Galah Seno Adjie
External Code Reviewer at Dicoding Indonesia
Rivaldo Fernandes
iOS and Android Expert
Mobile Developer Enthusiast
iOS Developer at PT Bank Syariah Indonesia
Kevin Jonathan
External Code Reviewer at Dicoding Indonesia
Research Assistant at Waseda University | Apple Developer Academy Alumni
Raden Dimas
iOS Engineer @Bank Mandiri
Deden Muhamad Furqon
Academy Code Reviewer at Dicoding Indonesia
Saya memulai perjalanan di bidang Android Development sejak 2017 dan telah lulus dari program Google Developer Kejar 2019, IDCamp 2019, serta Bangkit 2021. Sejak bergabung dengan Dicoding pada tahun 2022, saya mengembangkan keahlian lebih luas di bidang Software Engineering, mencakup Mobile Development (Kotlin, Flutter, dan Swift), Web Development (Frontend & Backend), UI/UX, sampai Project Management.
Certificate:
Ribuan siswa sukses belajar di Dicoding Academy. Apa kata mereka? Berikut adalah testimoni asli mereka.
Berikut adalah beberapa pertanyaan yang paling sering ditanyakan.
Materi yang akan Anda pelajari pada kelas ini.
Memahami HAKI, mekanisme belajar, forum diskusi, glosarium, dan daftar referensi.
1 Menit
10 Menit
10 Menit
10 Menit
10 Menit
Forum Diskusi
10 Menit
Cara Belajar Pemrograman
9 Menit
Glosarium
5 Menit
Daftar Referensi
5 Menit
Mengerti pentingnya menulis kode dengan bersih (clean code) agar program yang dibuat dapat terus dikembangkan (scalable).
Pengantar Clean Code
10 Menit
Style Guideline
5 Menit
Code Convention
15 Menit
Code Convention: Penamaan
10 Menit
Code Convention: Gaya/Style
10 Menit
Code Convention: Spasi/Horizontal Whitespace
10 Menit
Code Convention: Organisasi Kode
10 Menit
Linter
10 Menit
Metode Instalasi Library
40 Menit
SwiftLint: Instalasi dan Implementasi
20 Menit
SwiftLint: Konfigurasi Aturan/Rule
20 Menit
Rangkuman Clean Code
15 Menit
Kuis Clean Code
5 Menit
Memahami cara terbaik dalam mengatasi permasalahan yang berulang menggunakan Design Pattern, yakni dengan meningkatkan kualitas rancangan aplikasi pada aspek-aspek penggunaan ulang (reusability), perluasan fungsi (extensibility), skalabilitas (scalability), dan pemeliharaan (maintainability).
Pengantar Design Pattern
10 Menit
Singleton Pattern
25 Menit
Builder Pattern
25 Menit
Factory Method Pattern
20 Menit
Dependency Injection Pattern
25 Menit
Facade Pattern
10 Menit
Adapter Pattern
20 Menit
Observer Pattern
20 Menit
Rangkuman Design Pattern
15 Menit
Kuis Design Pattern
5 Menit
Mengerti pentingnya menggunakan architecture pattern dalam membangun aplikasi, serta menjelaskan Clean Architecture untuk membangun aplikasi yang tertata dan mudah dipelihara.
Pengantar Architecture Pattern
15 Menit
Clean Architecture
25 Menit
VIPER
20 Menit
Latihan Clean Architecture
70 Menit
Latihan Pengujian pada Clean Architecture
60 Menit
Studi Kasus: Starter Project
70 Menit
Studi Kasus: Mengganti URLSession dengan Alamofire
60 Menit
Studi Kasus: Menambahkan Locale Database
75 Menit
Rangkuman Architecture Pattern
15 Menit
Kuis Architecture Pattern
5 Menit
Implementasi paradigma pemrograman deklaratif menggunakan dua library yang sudah cukup terkenal, yakni RxSwift dan Combine.
Pengenalan Reactive Programming
20 Menit
Data Stream
10 Menit
Transformasi Data
10 Menit
Library Reactive di iOS
5 Menit
RxSwift
15 Menit
RxSwift: Konsep Dasar
30 Menit
RxSwift: Multi-Threading dengan Schedulers
25 Menit
RxSwift: Disposable
30 Menit
RxSwift: Subject
25 Menit
RxSwift: Continuations dengan Flatmap
30 Menit
Combine Framework
10 Menit
Combine: Konsep Dasar
30 Menit
Combine: Schedulers dan Thread Handling Operator
25 Menit
Combine: Cancellable
15 Menit
Combine: Subject
10 Menit
Combine: Continuations dengan Flatmap
15 Menit
Perbedaan RxSwift dengan Combine
50 Menit
Latihan RxSwift
90 Menit
Latihan Combine
60 Menit
Studi Kasus: Mengganti Callback dengan RxSwift
100 Menit
Studi Kasus: Mengganti Callback dengan Combine
100 Menit
Rangkuman Reactive Programming
15 Menit
Kuis Reactive Programming
5 Menit
Belajar mengenai teknik membangun aplikasi yang robust, baik secara manual maupun menggunakan library seperti Swinject dan Cleanse.
Pengantar Dependency Injection
15 Menit
Manual Dependency Injection
20 Menit
Service Locator
15 Menit
Perbedaan Dependency Injection dengan Dependency Inversion
5 Menit
Swinject
10 Menit
Swinject: Konsep Dasar
40 Menit
Swinject: Fitur-Fitur yang Dimiliki
20 Menit
Cleanse
10 Menit
Cleanse: Konsep Dasar
20 Menit
Cleanse: Contoh Penerapan
45 Menit
Perbedaan Swinject, Cleanse, dan Manual Injection
30 Menit
Studi Kasus: Menganalisis Penggunaan Dependency Injection
30 Menit
Rangkuman Dependency Injection
15 Menit
Kuis Dependency Injection
5 Menit
Menguji pemahaman dalam implementasi Clean Code, Design Pattern, Architecture Pattern, Reactive Programming, dan Dependency Injection melalui pembuatan sebuah aplikasi iOS yang dapat menampilkan informasi dari server atau API dan menyimpannya ke dalam database lokal.
Submission Capstone Project
600 Menit
Belajar menulis kode melalui pendekatan pengujian.
Pengantar Test Driven Development (TDD)
10 Menit
Workflow TDD
10 Menit
Latihan Membuat Aplikasi Segitiga dengan TDD
20 Menit
Latihan Memvalidasi Masukan
20 Menit
Latihan Mendeteksi Segitiga Sama Sisi
25 Menit
Latihan Mendeteksi Segitiga Sama Kaki
30 Menit
Latihan Mendeteksi Segitiga Sembarang
25 Menit
Latihan Menemukan Fitur Tak Terduga
75 Menit
Rangkuman Test Driven Development
15 Menit
Kuis Test Driven Development
5 Menit
Belajar mengenai proses otomatisasi untuk mempermudah pengujian aplikasi.
Pengantar Continuous Integration
15 Menit
Tool untuk Continuous Integration
20 Menit
Alur Continuous Integration
5 Menit
Latihan Membangun Continuous Integration dengan Codemagic
10 Menit
Latihan Menghubungkan Project dengan GitHub
35 Menit
Latihan Menghubungkan Project ke Codemagic
35 Menit
Latihan Menjalankan Codemagic
35 Menit
Rangkuman Continuous Integration
15 Menit
Kuis Continuous Integration
5 Menit
Cara membangun aplikasi berskala besar melalui paham Modularization untuk membuat module.
Pengantar Modularization
5 Menit
Pendekatan untuk Membuat Modularization
10 Menit
Kapan Kita Harus Menggunakan Modularization
5 Menit
Perbandingan Framework dengan Static Library
10 Menit
Latihan Membuat Framework dengan Cocoapods
35 Menit
Komunikasi Antar Framework
20 Menit
Latihan Navigasi Antar Modul
40 Menit
Penggunaan Asset dalam Modularization
10 Menit
Latihan Mengakses Gambar di Modularization
35 Menit
Latihan Menambahkan Font Khusus
25 Menit
Latihan Mengakses Font di Modularization
30 Menit
Latihan Menambahkan Localization
35 Menit
Modularization dan Clean Architecture
5 Menit
Latihan Mengimplementasikan Clean Architecture dalam Modularization
40 Menit
Mempublish Modul ke Git Repository
5 Menit
Latihan Mengunggah Modul ke GitHub Melalui Podfile
35 Menit
Latihan Mengunggah Modul ke GitHub Melalui Carthage
15 Menit
Latihan Mengunggah Modul ke GitHub Melalui Swift Package Manager
30 Menit
Studi Kasus: Mengimplementasikan Modularization
50 Menit
Studi Kasus: Membuat Modul Core
40 Menit
Studi Kasus: Membuat Modul Category
30 Menit
Studi kasus: Refactor Aplikasi Utama
30 Menit
Rangkuman Modularization
15 Menit
Kuis Modularization
5 Menit
Menguji pemahaman dalam implementasi Test Driven Development, Continuous Integration, dan Modularization melalui pembuatan sebuah aplikasi iOS yang dapat menampilkan informasi dari server atau API dan menyimpannya ke dalam database lokal.
Rangkuman Kelas
15 Menit
Ujian Akhir
50 Menit
Submission Akhir Capstone Project
720 Menit