Тематический план
-
Welcome to proprietary mobile applications development!
-
- Mac keyboard shortcuts
https://support.apple.com/en-us/HT201236 - Xcode Versions Guide
https://xcodereleases.com/ - Xcode Help
https://developer.apple.com/documentation/xcode - Devices and Simulators
https://developer.apple.com/documentation/xcode/devices-and-simulator/ - Documentation
https://developer.apple.com/documentation - Developer Forums
https://developer.apple.com/forums/ - Installing Swift For Windows/Linux
https://github.com/pwsacademy/swift-setup/
- Mac keyboard shortcuts
-
- Swift Programming Language
https://developer.apple.com/library/ios/documentation/Swift/Conceptual/Swift_Programming_Language/TheBasics.html - Swift Style Guide
https://github.com/kodecocodes/swift-style-guide - Swift Lint
https://github.com/realm/SwiftLint - Memory management in Swift
https://www.kodeco.com/966538-arc-and-memory-management-in-swift - Mixing Languages in an Xcode project
https://developer.apple.com/documentation/swift/mixinglanguagesinanxcodeproject
- Swift Programming Language
-
-
Drawing
- Drawing on iOS
https://developer.apple.com/library/archive/documentation/2DDrawing/Conceptual/DrawingPrintingiOS/GraphicsDrawingOverview/GraphicsDrawingOverview.html - UIKit Images
https://developer.apple.com/documentation/uikit/images_and_pdf - SwiftUI
https://developer.apple.com/documentation/swiftui/drawing-and-graphics/
Core Graphics
- Core Graphics API Reference
https://developer.apple.com/documentation/coregraphics - Quartz 2D Programming Guide
https://developer.apple.com/library/archive/documentation/GraphicsImaging/Conceptual/drawingwithquartz2d/Introduction/Introduction.html
Core Animation
- Core Animation Programming Guide
https://developer.apple.com/library/archive/documentation/Cocoa/Conceptual/CoreAnimation_guide/Introduction/Introduction.html - Animation Types and Timing Programming Guide
https://developer.apple.com/library/archive/documentation/Cocoa/Conceptual/Animation_Types_Timing/Introduction/Introduction.html - UIKit Animation API Reference
https://developer.apple.com/documentation/uikit/animation_and_haptics/property-based_animations
Core Image
- Core Image Programming Guide
https://developer.apple.com/library/archive/documentation/GraphicsImaging/Conceptual/CoreImaging/ci_intro/ci_intro.html - Core Image Filter Reference
https://developer.apple.com/library/archive/documentation/GraphicsImaging/Reference/CoreImageFilterReference/ - Filter Examples
https://developer.apple.com/documentation/coreimage/applying_a_chroma_key_effect
- Drawing on iOS
-
-
-
Use CoreData to store items received from the Rest API.
- Show old items if network is unavaliable
- Update database only if new data is downloaded
-
Students are expected to implement an application of their own choice or to pick one of the applications described in the document.
The grading criteria are as follows:
User Interface [1-10]:
- Implement adaptive UI [4];
- Use CollectionView or third-party view controllers [2];
- Use non linear navigation through application [2];
- Implement new UI elements [2].
Media Files [1-10]:
- Implement local media storage [4];
- Implement media usage and storage optimization: caching, thumbnails, previews, etc [6].
Data Persistence [1-10]:
- Setup and manage CoreData or Realm local storage [4];
- Implement custom listeners for CoreData notifications [2];
- Synchronize with remote storage [4].
Networking [1-10]:
- Networking UX: reachability checks, network error handling [4];
- Implement Custom Session Delegate [4];
- Media download [2];
Integration of Apple Cloud Services [0-5]
Custom graphics and animation [0-5]
User Notifications [0-5]
Location and Map Services [0-5]
Additional Device Capabilities [0-5]
External Frameworks [0-5]
-