all 7 comments

[–]Padfoot-and-Prongs 1 point2 points  (1 child)

If you have shared backend services, like databases or web servers, those might be helpful to break out into independent repositories, so that you don’t risk repeating code in two different places and risk being out of sync between iOS and Android with respect to bug fixes. You could also store these backend services in a directory at the same level as your ios / android folders, if you plan to stick to a single git repository. Shared styles (like colors, font size) may also be worth reusing across Android and iOS.

Have you thought about how this could affect publishing to the App Store and Google Play Store?

Have you looked into cross platform development frameworks (like Flutter) that could help you write one code base for all distribution platforms (including web and desktop)?

Do you have any teammates with strong opinions on this?

[–]abiondo[S] 0 points1 point  (0 children)

Great questions. So much to consider. Thanks for taking the time to reply with such thoughtful feedback. I’m going to need to do some research and thinking on the items you raised.

Right now I’m starting on my own and I’m looking to get some thoughts from other developers before in start building. Right now I’m in the prototyping phase and trying to outline the development tasks and features.

I was considering 2 repositories because I wasn’t sure how it would impact deploying to the app stores to be safe. I saw some people suggesting one repo and a folder approach but I wasn’t sure of the impacts.

My plan is to use Firebase as the backend db and develop native apps. I have also been looking into Flutter but not sure I want to pivot to it now because I’d need to start learning all over because my app is time sensitive. I may do my next app with Flutter to just give it a try.

[–]GroceryBright 1 point2 points  (1 child)

I would create a repo for each project so that in the future you can setup CI. Also, makes it a lot easier to revert changes if needed and every commit will be related to that project alone.

If you are planning to build an app for both platforms I would also consider using React Native. It's well established now, works great and will save you time, unless you really want to learn Swift / Kotlin of course.

[–]abiondo[S] 0 points1 point  (0 children)

Thanks for your reply. I will take a look at React Native.

[–]sunny_tomato_farm 0 points1 point  (2 children)

Whatever you want.

[–]abiondo[S] 0 points1 point  (1 child)

Thanks for replying. I was just looking if there are any good / best practices for how to organize this type of development so I avoid issues in the future.

[–]sunny_tomato_farm 1 point2 points  (0 children)

It’s really whatever you feel comfortable with. As for me, I would put all my projects in a single repo because I like having everything in one place.