20
Lessons
40 h
Duration
English
Language
Share This Class:
OBJECTIVEs:
- The objective of this Basic iOS development course is to equip participants with the fundamental skills and knowledge required to design, develop, and deploy iOS applications.
- Throughout the 40-hour program, students will gain hands-on experience with Swift programming, user interface design, data handling, and app deployment.
- By the end of the course, participants will have created their own fully functional iOS app, giving them a practical portfolio piece to showcase their abilities.
- This course benefits learners by building a solid foundation in iOS development, familiarizing them with industry-standard tools and practices, and instilling confidence to pursue more advanced projects and career opportunities in the field.
Course features:
- Practical hands on
- Lab sessions
- Training by experienced faculty
PRE-REQUISITES:
- Understanding of basic programming concepts such as variables, loops, and conditionals.
- Knowledge of OOP principles such as classes, objects, inheritance, and polymorphism.
- A Mac with the latest version of macOS installed, as Xcode (the development environment for iOS) only runs on macOS.
Learning Path
Week 1: Introduction to iOS Development:
- Introduction to iOS Development
– History and evolution of iOS
– Overview of the iOS ecosystem - Setting up the development environment
– Installing Xcode
– Introduction to Xcode interface
– Creating your first iOS project
- Introduction to Swift programming language
– Variables and constants
– Data types and operators - Control Flow
– If statements
– Switch statements
– Loops (for, while)
- Functions
– Defining and calling functions
– Parameters and return values - Collections
– Arrays
– Dictionaries
– Sets
- Introduction to classes and structures
– Properties and methods
– Initializers
– Inheritance
- Protocols and Delegation
- Extensions
- Optionals and Unwrapping
Week 2: Building the User Interface:
- Introduction to Interface Builder
– Designing user interfaces with Storyboards
– Auto Layout basics
– Creating UI elements (buttons, labels, text fields)
- View Controllers
– Lifecycle of a View Controller
– Segues and Navigation Controllers - Table Views
– Basic table view setup
– Custom table view cells
- Understanding MVC (Model-View-Controller)
- Introduction to Core Data
– Setting up Core Data in a project
– Basic CRUD operations
- Gesture Recognizers
– Tap, swipe, pinch, and long press gestures - Handling user input
– Text field delegation
– Keyboard management
- Introduction to networking in iOS
– URLSession basics
– Making API requests
– Parsing JSON
Week 3: Enhancing the User Experience:
- Basic animations with UIKit
– Animating views
– Transformations and transitions - Introduction to Core Graphics
– Drawing shapes and paths
- Custom Views
– Creating reusable custom views
– XIB files and custom drawing - Working with Collection Views
- Working with images
– Image View
– Image Picker Controller - Audio and Video
o Playing audio and video files
o Using AVFoundation
- User Defaults
– Storing and retrieving simple data - Keychain Services
– Storing sensitive information securely
- Localizing your app
– Supporting multiple languages
– Working with localized strings - Accessibility
– Making your app accessible
– VoiceOver and other accessibility features
Week 4: Final Project and Deployment:
- Project proposal
– Defining project requirements
– Designing the user interface
– Setting up the project structure
- Implementing the user interface
- Setting up data models and controllers
- Adding features and functionality
- Integrating networking and data persistence
- Debugging techniques
– Using Xcode’s debugger
– Analyzing and fixing common bugs - Writing unit tests
– Introduction to XCTest framework
- Preparing for app submission
– App Store guidelines and best practices
– Creating app icons and launch screens - Submitting to the App Store
– Creating a developer account
– App Store Connect
– App review process