I am a web developer with extensive experience with React, TypeScript and Node.js.<p>I’m building a side project and tossing up whether to build an iOS app or a web app. I know what’s involved in web apps, but can anyone give an overview of what it’ll take in terms of effort & time to create and submit an iOS app to the App Store?
Do you mean besides the $99/year Apple Dev membership + a Mac?<p>Other than that the hardest part is convincing AppStore review that whatever you build and submit is useful/interesting enough to be published. There are a ton of little gotchas that don’t always get flagged in app review but can surprise you, no mention of “TestFlight” or Android allowed anywhere including screenshots.<p>Not difficult but something I always find tedious is all the marketing material required for the App Store, screenshots, icons, & copy. There are tools to automate asset workflows (fastlane snapshot + figma templates, etc) & generative ai is good enough at generating icons & marketing copy.
Well, coding-wise, it's the same skill. There are components, UI logic, business logic, etc. For these practices, I would start with Swift/React native as the easiest overhead on top of standard web development.<p>The time-consuming tasks for newcomers are the platform-related tasks. Bugs and issues unique to iOS, find the proper IDE (incl. build-tools, etc.), everything related to assets (pictures, video, splash screens, etc.), submit to the store, build the CI/CD that fits native apps, etc.<p>The most important mindset, IMO, is to remember these facts and never investigate/stuck too much with these new fields, even paying some $$ for automation that could help you with the time it is consuming. Also, managing your time for the balancing between tedious new tasks and new enjoyable learning can help with getting things done.
Since you already know react, you might want to try <a href="https://reactnative.dev" rel="nofollow noreferrer">https://reactnative.dev</a><p>As someone else mentioned the difficult part is generating the marketing materials and the app review.<p>You could also try PWA <a href="https://en.m.wikipedia.org/wiki/Progressive_web_app" rel="nofollow noreferrer">https://en.m.wikipedia.org/wiki/Progressive_web_app</a><p>Edit: add PWA