It's not the only way - you can create a hybrid app with something like Ionic (obviously this is compiled to a native app at build time, but you never touch a line of XCode yourself).
One of the big selling points of hybrid apps is that you can use your existing Javascript/Typescript skills to create apps that look and feel like native apps.