Khoá học lập trình ứng dụng di động trên iOS

Lập trình iOS là quá trình phát triển ứng dụng di động dành cho các thiết bị chạy hệ điều hành iOS của Apple, bao gồm iPhone, iPad và iPod Touch, Apple Watch và Apple TV. Lập trình iOS sử dụng các ngôn ngữ lập trình như Swift hoặc Objective-C để tạo ra các ứng dụng và game mà người dùng có thể tải xuống từ App Store.

Học miễn phí ngay

Mức lương của lập trình viên iOS tại Việt Nam là bao nhiêu?

Mức lương trung vị của lập trình viên iOS tại Việt Nam trong năm 2023 – 2024 dao động từ 18 – 45 triệu VND/ tháng. Mức lương này có thể thay đổi tùy thuộc vào nhiều yếu tố như kinh nghiệm làm việc, kỹ năng, trình độ chuyên môn, công ty, vị trí công việc, v.v.

Đối tượng tham gia phù hợp

  • Các bạn lập trình viên, đã có kiến thức và kinh nghiệm trong lĩnh vực lập trình
  • Các bạn đang làm lập trình viên, muốn học thêm về Lập trình ứng dụng di dộng
  • Các bạn đang làm Lập trình viên ứng dụng di động, muốn hệ thống hoá lại kiến thức

iOS Developer Roadmap

Step-by-step guide to learning iOS Developer in 2024

Phần I

1. Pick a Language
  • Swift (Recommended)
    • History and Why Swift?
    • Benefits over Objective-C
    • Swift Basics
  • Objective-C
    • Objective-C Basics
    • Interoperability with Swift
2. iOS Architecture
  • Cocoa Touch
  • Core Services
  • Core OS
  • Media
    • Core Graphics
    • Core Animation
    • AVFoundation
    • Core Image
    • Core Audio
    • Metal
3. Core Programming Concepts
  • OOP
  • Functional Programming
  • Memory Management
  • ViewController Lifecycle
  • Error Handling
  • Concurrency (GCD, async/await)
4. Version Control
  • GitHub
  • Git
5. Xcode
  • Setting Up
    • Installing
    • Preferences
    • New Project
  • Navigating
    • Interface overview
    • Toolbar
    • Navigators
    • Editors
    • Project Files
    • Groups
  • Debugger
    • Breakpoints
    • Debug Navigator
    • Stepping
  • Interface Builder
    • Interface Builder
    • IBOutlets
    • IBActions
    • Auto layout
6. UIKit
  • UI Kit Basics
    • Components
    • Views
    • View Controllers
    • User Interactions
  • Building Simple UIs
    • Basic Interfaces
    • Storyboards
    • Xibs
    • Navigation
    • View Transitions
7. SwiftUI
  • Basics
    • Data binding
    • State Management
    • Components
    • Declarative Syntax
  • Simple UI Building
    • Building Interfaces
    • Views and Modifiers
    • Navigation
    • View Transitions
9. UIKit
  • Views, View Controllers
  • Navigation Controllers, Segues
  • Navigation Stacks
    • Pushing Presenting
    • Modals and Navigation
10. SwiftUI
  • Navigation Stacks
    • Navigation View
    • NavigationLink
    • Presenting / Dismissing views

Phần II

11. Core Animation
  • Architectural Patterns
    • MVC
    • MVP
    • MVVM
    • MVVM-C
    • TCA
    • VIPER
12. Reactive Programming
  • Combine
    • Publishers / Subscribers
    • Operators & Pipelines
    • Combine and MVVM
  • RxSwift
    • Observables & observers
    • Subjects
    • Operators
    • Schedulers
    • RxSwift with MVVM
13. Delegate Pattern
  • Implementing Delegates
14. Callbacks
  • Closures
    • Understanding and using Closures
    • Capturing Values & Memory Mgmt.
    • Callback Hell
15. Async / Await
  • Concurrency
16. Data Persistence
  • Core Data
  • User Defaults
  • Keychain
  • File System
  • SQLite
17. JSON / XML
  • Parsing
  • Serializing
18. Networking
  • HTTP / HTTPs
  • REST
  • GraphQL
  • URLSession
  • Alamofire
20. Dependency Manager
  • Swift Package Manager
  • CocoaPods
  • Carthage

Phần III

21. Frameworks & Library
  • XCFramework
  • Static Library
  • Dynamic Library
22. Accessibility
  • Dynamic Type
  • Voice Over
  • Accessibility Inspector
23. Common Services
  • Frameworks
    • ARKit
    • HealthKit
    • GameKit
    • MapKit
    • Core ML
24. Code Quality Tools
  • SwiftLint
  • Tailor
  • SwiftFormat
25. Debugging Techniques
  • Xcode Debugger
  • Profiling Instruments
26. Testing
  • Test Plan & Coverage
  • Unit & UI Testing
    • XCTest
    • XCUITest
27. App Distribution
  • App Store Distribution
  • TestFlight
  • FastLane
28. CI / CD
  • Jenkins
  • CircleCI
  • GitHub Actions
  • GitLab
  • Azure DevOps
30. Keeping Updated with WWDC
  • Latest Swift Version
  • Latest iOS SDK
  • New Feature Announcements
iOS DeveloperSwift (Recommended)History and Why Swift?Benefits over Objective-CSwift BasicsObjective-CObjective-C BasicsInteroperability with SwiftFind the interactive version of thisroadmap and other similar roadmapsroadmap.shiOS ArchitectureCore OSCore ServicesMediaCore GraphicsCore AnimationAVFoundationCore ImageCore AudioMetalCocoa TouchCore Programming ConceptsOOPFunctional ProgrammingMemory ManagementViewController LifecycleError HandlingConcurrency (GCD, async/await)Special thanks to Dennis who helpedpublish the initial version of this roadmap.Visit his LinkedInThe FundamentalsPick a LanguageVersion ControlGitGitHubApp ComponentsXcodeSetting UpInstallingPreferencesNew ProjectNavigatingInterface overviewToolbarNavigatorsEditorsProject FilesGroupsDebuggerBreakpointsDebug NavigatorSteppingInterface BuilderInterface BuilderIBOutletsIBActionsAuto layoutUIKitComponentsViewsView ControllersUser InteractionsBasic InterfacesStoryboardsXibsNavigationView TransitionsSwiftUIBasicsDeclarative SyntaxComponentsState ManagementData bindingSimple UI BuildingBuilding InterfacesViews and ModifiersNavigationView TransitionsInterfaces and NavigationUI DesignHIGUIKitViews, View ControllersNavigation Controllers, SeguesNavigation StacksPushing PresentingModals and NavigationSwiftUINavigation StacksNavigation ViewNavigationLinkPresenting / Dismissing viewsCore AnimationBasics / Creating AnimationsLottieDesign ArchitectureMVCMVPMVVMMVVM-CVIPERTCAArchitectural Patterns— UI Kit Basics — — Building Simple UIs — Reactive ProgrammingCombinePublishers / SubscribersOperators & PipelinesCombine and MVVMRxSwiftObservables & observersSubjectsRxSwift with MVVMOperatorsSchedulersPatterns and TechniquesDelegate PatternImplementing DelegatesCallbacksClosuresUnderstanding and using ClosuresCapturing Values & Memory Mgmt.Callback HellAsync / AwaitConcurrencyData PersistenceCore DataUser DefaultsKeychainFile SystemSQLiteJSON / XMLParsingSerializingNetworkingHTTP / HTTPsRESTGraphQLURLSessionAlamofireAsynchronismConcurrency and MultithreadingGCDOperation QueuesDependency ManagerCocoaPodsCarthageSwift Package ManagerFrameworks & LibraryXCFrameworkStatic LibraryDynamic LibraryAccessibilityAccessibility InspectorVoice OverDynamic TypeCommon ServicesFrameworksARKitHealthKitGameKitMapKitCore MLLintingCode Quality ToolsSwiftLintTailorSwiftFormatDebuggingDebugging TechniquesXcode DebuggerProfiling InstrumentsTestingUnit & UI TestingXCTestXCUITestTest Plan & CoverageApp DistributionApp Store DistributionTestFlightFastLaneCI / CDJenkinsCircleCIGitHub ActionsGitLabAzure DevOpsApp Store Optimization (ASO)Continuous LearningKeeping Updated with WWDCLatest Swift VersionLatest iOS SDKNew Feature AnnouncementsHave a look at the following relevant tracksAndroidFlutterReact NativeStorage

Tất cả khoá học tại Sigma Academy