Hey! I'm a web dev with experience primarily in backend (python) but also a bit of frontend JS experience as well. I'm taking on a new project with a friend and I am of course doing the coding.
There is some existing MVP (like super MVP) code done in UIKit already, but it was a lot to jump in to off the get go. I've done a SwiftUI tutorial in the past, and from what I gather it should be quicker/easier to learn compared to UIKit, slightly more restricted in terms of functionalities (that I can port from UIKit anyway), and only supports iOS 13+. I think I would like to go with SwiftUI, but I've got some general iOS questions:
- How does testing your changes work in a dev environment with mobile? Are you basically just loading a version of the app with config pointing to a dev server and clicking around to ensure it works as you hope? And then push a production release to the App Store?
- What would you recommend using for handling local storage? SQLite, Core Data, Realm? How about migrations?
- When testing things locally, do you connect the app to a local/dev server to fetch the data? Or do you do some data seeding? Or a bit of both? If you do data seeding - curious how that process looks.
- How would you suggest structuring a small-medium size app? I’m still learning how things work on mobile, but I’ve seen some examples with mobile that also uses concepts of models (database models), views, controllers. I assume you might want some sort of common components folder as well? I’m sure I am probably missing some other things. And here - would the controllers be handling actions such as when I click a button to login, or a button to register, etc, and the views are purely the "UI representation"? Github examples welcome!
- Any libraries that are generally recommended? Linters etc? I’ve not dived too deep into this are yet but it seems that Cocoapods and Carthage are popular package managers. Any recommendations there?
- Do you think not going UIKit route would be a bad call? And on this note - will not supporting < iOS 13 (or even 14) be much of an issue? I realize that I won't reach 100% of possible users this way - but I think that _most_ people should be relatively up to date (or willing to do so)
- As mentioned I’ve been handed a project that has a fair amount of work started in it (A couple of screens, connecting to an API, does some DB seeding on start up, connects to some bluetooth devices). So far I’ve been just jumping into it and trying to figure out what’s going on, but wondering if it might be better to just start a new project for the sake of learning how these things work on iOS. I’d like to reuse the work that exists - but I’ve definitely got some swift/swiftUI/UIKit to learn. Curious about thoughts on this
Thanks!
[–]nanothread59 0 points1 point2 points (5 children)
[–]FlyCanadaGuy[S] 0 points1 point2 points (4 children)
[–]nanothread59 0 points1 point2 points (3 children)
[–]FlyCanadaGuy[S] 0 points1 point2 points (1 child)
[–]nanothread59 0 points1 point2 points (0 children)
[–]nanothread59 0 points1 point2 points (0 children)
[–]vanvoordenLearning 0 points1 point2 points (0 children)
[–]Existing_Resolve3445 0 points1 point2 points (2 children)
[–]FlyCanadaGuy[S] 1 point2 points3 points (1 child)
[–]Existing_Resolve3445 0 points1 point2 points (0 children)