Let's say I have made something in HTML, CSS and JavaScript, and I currently have it running in NW.js, the Chromium-based "webview" which runs on Windows, macOS and Linux.

Now I want to actually make money, and not just have people theoretically find it and jump through hoops to make it run.

That means it has to go into the Apple "App Store", and be usable on iPhones. And I have to buy the cheapest possible Mac Mini as well as a developer fee to be able to submit it to the App Store. (I already have registered an "Apple ID" account.)

It appears as if Apple heavily suggests that you use Xcode and Objective C or Swift. I obviously would like to skip that part. In fact, if it's a requirement, I might as well forget about this whole thing.

Is it a requirement? Or am I allowed to use what I already know, meaning "web technologies"? And if I'm allowed to, does it come with some kind of punishment/downside? Will my app be labeled as "lesser", and/or will it run poorly on iPhones and in practice force me to learn and use Apple's language/environment after all?

  • You're not required to use Objective-C or Swift to program iPhone applications, however typically there is a layer of that code to run whatever you create. I would point out that NW.js does not run on the iPhone.
    – Ezekiel
    Oct 7 '21 at 16:48
  • Any performance issues would be because of the technology you choose, not because the system is de-prioritizing your application. Writing a graphics intensive game in web technologies is not a good idea, for example.
    – Ezekiel
    Oct 7 '21 at 16:49
  • Look into Cordova.
    – JW.
    Oct 8 '21 at 16:12

No, iOS apps can be written in just about any language, as long as you can get it to work on the iPhone. You might have to wrap your code in Objective-C or Swift at the very end, but you could build the vast majority of your app in any language without any sort of penalty or punishment.

  • As a complement I would say that you can have a simple application which open a WKWebView with the HTML included in your app bundle.
    – Ptit Xav
    Oct 8 '21 at 7:49

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .