20

Lessons

40 h

Duration

English

Language

OBJECTIVEs:

Course features:

PRE-REQUISITES:

Learning Path

Week 1: Advanced Swift and Architecture:

  • Advanced Swift Techniques
    – Higher-order functions (map, filter, reduce)
    – Closures and capturing values
    – Generics and associated types
  • Automatic Reference Counting (ARC)
    – Strong, weak, and unowned references
    – Retain cycles and memory leaks
    – Debugging memory issues
  • Introduction to Swift’s concurrency model
    – Async/await syntax
    – Structured concurrency
    – Task groups and actors
  • Error handling techniques
    – Throwing and handling errors
    – Custom error types
    – Result type and async error handling
  • MVC vs. MVVM
    – Introduction to Model-View-ViewModel (MVVM)
    – Benefits and use cases
    – Implementing MVVM in iOS

Week 2: Advanced UI Design and Animation:

  • Constraints and Priorities
    – Intrinsic content size
    – Stack views
    – Programmatically creating and managing constraints
  • UIView animations
    – Spring and keyframe animations
    – Custom view controller transitions
    – Interactive transitions
  • Dynamic data sources
    – Diffable data sources
    – Compositional layouts
    – Custom cells and layouts
  • Advanced gesture recognizers
    – Custom gestures
    – Gesture conflicts and dependencies
    – Combining gestures with animations
  • Creating reusable components
    – Custom UI components
    – Implementing design patterns for reusable UI
    – Managing complex view hierarchies

Week 3: Data Management and Networking:

  • Core Data Performance
    – Batch updates and deletes
    – Using NSFetchedResultsController
    – Versioning and migrations
  • Advanced Networking Techniques
    – RESTful APIs and JSON parsing
    – Using third-party libraries (e.g., Alamofire)
    – Handling network errors and retries
  • Introduction to WebSockets
    – Setting up WebSocket connections
    – Handling real-time data
    – Using libraries for WebSocket communication
  • Implementing offline storage
    – Syncing local and remote data
    – Conflict resolution strategies
    – Using third-party libraries for data syncing
  • Data Protection and Encryption
    – Using Keychain Services
    – Encrypting sensitive data
    – Implementing biometric authentication (Face ID, Touch ID)

Week 4: Testing, Debugging, and Deployment:

  • Unit Testing with XCTest
    – Writing effective unit tests
    – Mocking and dependency injection
    – Code coverage and test-driven development (TDD)
  • Automated UI Testing
    – Using XCUITest framework
    – Writing and running UI tests
    – Continuous integration with CI tools (e.g., Jenkins, GitHub Actions)
  • Profiling and Optimizing Performance
    – Using Instruments for performance analysis
    – Memory and CPU optimization
    – Reducing app launch time and improving responsiveness
  • Advanced Debugging Techniques
    – Debugging with Xcode
    – Symbolication and crash logs
    – Handling common issues and bugs
  • Preparing for App Store submission
    – App Store Connect advanced features
    – Beta testing with TestFlight
    – App versioning and updates