The most important architectural decision on any App project is choosing between Native or Hybrid. In this video I cover the major points of consideration when choosing a mobile development architecture. Native applications are Apps in the native to the device (iPhone or Android). This means that iPhones are programmed in Swift/Object C and that Android are programmed in Java. Thus you have to have two development teams to program your App.
Hybrid apps are developed using HTML, CSS and Javascript, and then wrapped in a native application using platforms like Cordova. With this approach you can have one set of code that runs on both iOS and Android.
There are tradeoffs to each approach that need to be considered when architecting your App.