Skip to content
This repository has been archived by the owner on Jan 26, 2021. It is now read-only.

Tech Stack

Yugantar Jain edited this page Jul 8, 2020 · 13 revisions

The Mentorship iOS app has been built natively in Swift using SwiftUI.

Summary:

  • Language: Swift
  • UI Framework: SwiftUI
  • Architecture: Model View ViewModel (MVVM)

Swift

Swift is the standard programming language for development on Apple platforms.

"Swift is a powerful and intuitive programming language for macOS, iOS, watchOS, tvOS and beyond. Writing Swift code is interactive and fun, the syntax is concise yet expressive, and Swift includes modern features developers love. Swift code is safe by design, yet also produces software that runs lightning-fast." - Apple Developer.

For further information on the Swift programming language, please visit -
Swift - Apple Developer
Swift.org

SwiftUI

SwiftUI is a new framework for UI development launched by Apple at WWDC19. SwiftUI uses a declarative syntax in conjunction with the subscriber-publisher pattern (Combine framework) to build better apps in less time. We have embraced the latest framework and the future of development on Apple platforms in the Mentorship iOS app.

"SwiftUI is an innovative, exceptionally simple way to build user interfaces across all Apple platforms with the power of Swift. Build user interfaces for any Apple device using just one set of tools and APIs. With a declarative Swift syntax that’s easy to read and natural to write, SwiftUI works seamlessly with new Xcode design tools to keep your code and design perfectly in sync. Automatic support for Dynamic Type, Dark Mode, localization, and accessibility means your first line of SwiftUI code is already the most powerful UI code you’ve ever written." - Apple Developer

For further information on SwiftUI, please visit -
SwiftUI - Apple Developer Documentation

Model View ViewModel (MVVM) Architecture

MVVM ensures the separation of view from the model and add a view model in between which communicates with both - the View and the Model. This separation allows for enhanced development and also testability of different components of the app. The MVVM architecture is used in the mentorship iOS app since it fits nicely with the SwiftUI framework. SwiftUI's support and rather extensive use of data bindings, along with the usage of subscriber-publisher pattern using the Combine framework made MVVM a good choice.

Clone this wiki locally