About the course
This course has been designed to provide you complete knowledge of iOS app development. It will walk you through the step-by-step process of building your first iOS application. This will give you confidence in building safe and fast applications for iPhones and iPads.
We will start the course with Swift programming basics such as data types, operators, arrays, loops, dictionaries, sets, functions, classes, etc. Then, we will understand the iOS application architecture, SwiftUI, protocols and layouts, UI controls, TableView, CollectionView, ScrollView, Controller LifeCycle, and so on. We will also understand how alerts, notifications, push notifications work in iOS applications. Then, we will talk about some advanced topics such as MultiThreading, data persistence, networking with URL session, iOS concurrency, Arkit, SiriKit, etc. Finally, we will end the course by submitting the iOS application to the iOS app store.
After completing this course, you will be able to:
- Understand the fundamentals of Swift Programming language.
- Work with functions, arrays, loops, dictionaries, and classes.
- Use SwiftUI, Protocols, and Layouts in iOS.
- Manage URL sessions, concurrency, and multitasking.
- Create an iOS Application using the required tools and publish it.
- Get a certificate on successful completion of the course.
The course can be taken by:
Students: All students who are pursuing professional graduate/post-graduate courses related to computer science or Information Technology.
Teachers/Faculties: All computer science and engineering teachers/faculties.
Professionals: All IT professionals, who wish to acquire new skills or improve their existing skills.
Why learn iOS development
Learning the development of iOS apps is one of the most desired skills at present. Mobile application development is an important part of the tech world because the mobile adoption rate is increasing gradually. The growing demand for the iPhone has forced tech companies to come up with newer, better, and reliable applications.
The overall mobile application market size is expected to reach $407.31 billion by 2026. Be it a small, medium, or big company, all are in need of talented iOS developers because the competition in the market is high. This course will help you create your own iOS application and use iOS as an Apple mobile device operating system.
Test & Evaluation
1. During the program, the participants will have to take all the assignments given to them for better learning.
2. At the end of the program, a final assessment will be conducted.
1. All successful participants will be provided with a certificate of completion.
2. Students who do not complete the course / leave it midway will not be awarded any certificate.
Topics to be covered:
- Introduction to iOS Development
The basics of iOS Application. How to create an iOS Application and what are the necessary tools to develop an iOS App. Run a “Hellow World” Application and understand the life Cycle of an iOS App. Add UI elements on the xib files from the Object Library. Xcode Tips and Tricks
- Swift Programming Basics
- Learn datatypes in swift
- booleans and logical operators
- optional and Tuple
- Array, loops, nested loops.
- Dictionaries and sets
- Structures and classes
- Overloading overloads and parameters
- filter reduce and sort
- iOS Application Architecture :
- Understanding MVVM Design pattern for iOS Development and its design to understand View, Viewcontroller, and actions
- Delegation Design Pattern
- Singleton Design Pattern
- Momento observer and Builder
- SwiftUI, Protocols, and Layout
- Understanding SwiftUI to design Reactive UI of iOS App.
- SwiftUI Views, SwiftUI layouts,
- Spacers and Padding, Swift UI Bindings
- Understanding Protocols,
- protocol extensions, Generics in depth including “Stacks” and view Modifiers.
- Layout in iOS through storyboards.
- Stack Alignment, Alignment guides,
- Custom Alignments, ZStack,
- Geometry Readers,
- Stack views, grid Layouts
- UI Controls in iOS
- Views and View Controller,
- Buttons and Action, Alerts,
- Connecting Actions,
- Outlets, Object Data, and Methods.
- Connecting Outlets Styling images and Labels,
- Button and sliders styling, Webviews,
- View Modifiers and concepts related to foreground Color, padding, etc.
- TableView in iOS
- TableviewCells and Indexpaths
- Introduction to protocols, data source, and delegation
- Adding and deleting rows
- Swipe to delete feature
- Subclassing TableView Cells
- Moving rows
- Deleting multiple rows
- Movings items between Sections
- Collection view layouts
- Creating CollectionView cells
- Creating Data Snapshots
- Flow layout objects
- Adding data source models
- Section headers and footers
- Building nested Layouts
- Drag and Drop in collection views
- View Controller LifeCycle and Scrollview in iOS
- LifeCycle of viewController
- Frames and Bounds
- Content size in a scroll view
- Embedding Layouts in Scrollview
- Insets and Paging
- Presenting Viewcontrollers
- Alerts, Notifications, Application Lifecycle
- Alert and action sheet
- Notifications and KVO
- App Life Cycle
- Property observers used for watching variables
- @state role inside a view
- Implicit v/s Explicit Animation
- Animating Views
- Animating Shapes
- Colors and Images
- Color v/s UIColor
- Image v/s UIImage
- Threads and Queues
- Asynchronous API
- Photo Framework
- Fetch photos from the photo library
- Show collection images upon row selection
- Create Photo selection capability
- Manipulate Assets to Generate Collages
- Core Motion and Camera
- Detecting the position and motion of the device
- Taking pictures through the app using Camera
- UIImagePickerController Usage
- Data Persistence
- UserDefaults used for persistence like a property list
- Retrieving Data from UserDefaults
- Understanding Core data :
- Managed Objects
- Attributed Types
- binary data
- Filtering and sorting
- Fetching results in Core data
- Deleting Data
- Realm Integration with iOS Apps
- Storing and Retrieving data in Realm
- List and Notifications in Realm
- Networking with URL Session
- Understanding concurrency
- Create Session Configuration
- Get data from Session Task
- Downloading and Uploading Data
- Show Download Progress
- Pause resume and Cancel Downloads
- Background Downloading and Websockets
- Understanding URLSession and Combine
- Use data Task for downloading
- Establish dependencies
- iOS Concurrency and GCD
- group of Tasks
- Concurrency Solutions
- Multitasking in iOS
- Communicate Across multiple windows
- Add State Restoration
- Separate UI Across windows
- Add Drag and Drop among different Apps
- Machine Learning in iOS
- Core ML and Create ML Introduction
- Core ML Models
- Vision Framework
- Create ML iOS
- Data Curation
- Push Notifications in iOS
- Introduction to Push notification
- Payload Keys
- Silent Notification
- Action Catagory
- Provider Server
- Local Notifications
- Time and Calendar Triggers
- Defining Arkit
- SceneKit introduction
- Shiny objects in AR
- AR Painter
- Painting Animated Shapes with Actions
- Drawing AR Planes over Detected Shapes
- Working with Siri Kit
- Handling Interactions
- Creating SiriKit Extensions
- Sirikit Resolution and confirmation
- Submit your App to App Store
- Introduction to App Store
- How to create a Provisioning Profile
- Useful tools to help to submit the App