Categories
Uncategorized

D2. Design Document

Languages

  • Swift
    • Pros:
      • Works well with objective-C
      • A large selection of libraries and packages
    • Cons:
      • Reliant on packages
      • not ideal for cross-platform development
  • Objective-C:
    • Pros:
      • C but with Objects
      • Highly compatible with Swift 
    • Cons:
      • Unfamiliar with the language
      • High-learning curve

Back-end

  • Realm by Mongo DB
    • Pros:
      • fast, lightweight
      • easy to use for iOS persistence
    • Cons:
      • Unfamiliar with this Database
      • Minor experience with NoSQL

Front-end

  • SwiftUI
    • Pros:
      • Built-in visuals and features
      • Compatible with Objective-C
      • Part of our group is experienced with iOS development
    • Cons:
      • Not fully customizable
      • A newer package, limited compatibility with other packages

Packages

  • Swift Playgrounds
    • Pros:
      • Allows us to test functions & data in an enclosed environment
      • Can toggle and adjust variables easily
    • Cons:
      • Not many resources on how to work with them
  • Charts
    • Pros:
      • Let’s us visualize output from our functions
      • Will help us adjust and optimize our data 
    • Cons:
      • Not much experience with it
      • Limited compatibility with data types

Architecture Diagram