Bachelor
2020/2021
Research Seminar "Cloud and Mobile Application Development for Apple iOS Platform"
Type:
Elective course (Software Engineering)
Area of studies:
Software Engineering
Delivered by:
School of Software Engineering
Where:
Faculty of Computer Science
When:
3 year, 1-3 module
Mode of studies:
offline
Instructors:
Dmitry Alexandrov
Language:
English
ECTS credits:
3
Contact hours:
44
Course Syllabus
Abstract
The course covers the Swift programming language (Edition 5.1) and iOS application development basics. In particularly, main aspects include design and architecture, user interactions specifics, capabilities of Apple devices, etc.
Learning Objectives
- The main objective of the training course is to examine and principles of iOS apps development, get familiar with platform, IDE, technologies, and frameworks for the development of iOS apps.
Expected Learning Outcomes
- Students will aсquented with IDE Xcode and Swift.
- Students will be able to work in IDE Xcode in Swift.
- Students will know how to apply design patterns in Swift.
- Understanding the mechanism of the life-cycle of UIViewController.
- Understanding how to deal with Geolocation, Core Data and Json Data & Dictionaries in apps.
- Knowing how to develop the Widgets and the apps for Apple Watch using general container for Data Storage, and write the Software Requirements Specifications (SRS).
- Students will know how to develop the custom keyboards, integrate iAds and In App purchases with the apps, implement Version Control, 3D Touch, and CoreLocation using iBeacons.
- Knowing how to create iMessage Apps, and understand the AGILE Way of Mobile Apps Development.
- Knowing how to create the iOS Apps Integrated with Firebase Services and apps that use remote services.
- Knowing how to use Cloud Data Stores for creation of backend for iOS apps.
- Knowing how to create IoT prototypes for iOS and WatchOS.
- Knowing how to use PassKit APIs to Support Apple Pay in iOS and WatchOS Apps, and create the chat Prototypes for payments.
- Knowing how to add and animate sprites in game apps.
- Knowing how to use ARKit to create unparalleled augmented reality apps, and Core ML in machine learning apps.
- Knowing how to deal with the app icons and screenshots, and submit the apps using iTunes Connect.
Course Contents
- Getting Started With Xcode and SwiftThe Xcode Interface Overview Adding Labels To the Apps Working With Text Inputs and Buttons The Swift Playground Overview Variables And Variable Types Arrays And Dictionaries If and Else Statements For and While Loops Using Constraints for Creating Robust Layouts
- Work in the IDE XсodeStudents will be able to work in IDE Xcode and program in Swift.
- Architectural Patterns in iOS. iOS FeaturesArchitectural Pattern MVC Architectural Pattern MVP Architectural Pattern MVVM Architectural Pattern VIPER Work with Timers Spinners And Alerts Adding The User Table Table Views & Working With Classes Storing Data Permanently In the Apps Viewing Website & Web Content In the Apps String Manipulation & Processing Web Data
- Creating the iMessage AppsCreating the iMessage Apps AGILE Way of Mobile Apps Development
- The Life Cycle of UIViewController. iOS FeaturesThe Life Cycle of UIViewController Working with Data From The Web Working with Images From The Web Getting Images From The Photo Library And Camera Manipulating UIImages and Creating Animations Working with Audio Responding To User Shaking and Swipes
- Maps & GeolocationIntegrating Maps Into the Apps and Adding Pins and Messages Geolocation: Using The User's Location In the Apps Working With Core Data and Searching For Objects Json Data Webviews Interaction with Integrated Software Working With Json Data & Dictionaries
- Development of Widgets and the Apps for Apple WatchDevelopment of Widgets Development and the Apps for Apple Watch Using the General Container for Data Storage Writing the Software Requirements Specifications (SRS)
- Extra Usefull FeaturesCustom Keyboards Integrating iAds and In App Purchases Into the Apps Implementing Version Control 3D Touch: Peek & Pop and Quick Actions Implementing Touch ID Advanced CoreLocation: using iBeacon
- Using the Cloud Data StoresUsing Cloud Data Stores for Creation of a Backend for iOS Apps
- Creating Apps that Use Remote ServicesCreating iOS Apps Integrated with Firebase Services Creating Apps that Use Remote Services
- Creating the IoT AppsCreating IoT App Prototypes for iOS and WatchOS
- Creating the Chat Apps for PaymentsUsing PassKit APIs to Support Apple Pay in iOS and WatchOS Apps Creating a Chat App Prototype for Payments
- Creating the Games with Sprite KitAdding And Animating Sprites Animating The Background Controlling and Spawning Sprites Collisions Scoring And Game Controls
- Extra Usefull FrameworksUsing the Framework ARKit to create unparalleled augmented reality experiences Using the Framework Core ML for Machine Learning
- Submitting an App To The App StoreApp Icons And Launch Screenshots Submitting the Apps Using iTunes Connect
Assessment Elements
- ExamЭкзамен устный в Zoom. Без прокторинга. Технические требования: web-камера, микрофон, наушники / колонки, Zoom.
- Home assignments.
Bibliography
Recommended Core Bibliography
- Dippery, Michael Professional Swift. – John Wiley & Sons, Incorporated, 2015. – Режим доступа: https://ebookcentral.proquest.com/lib/hselibrary-ebooks/reader.action?docID=4043081
Recommended Additional Bibliography
- Tyson McCann and Tyson McCann TheArt of the App Store: The Business of Apple Development. – John Wiley & Sons, Incorporated, 2011. – Режим доступа: https://ebookcentral.proquest.com/lib/hselibrary-ebooks/reader.action?docID=817945