I'm biased because I work for Codename One which is similar in some regards to ionic only native and uses Java instead of JavaScript. You can embed a PhoneGap/Cordova/ionic app into Codename One to get a native app.
If you prefer JavaScript then ionic is probably the way to go as you can just simulate everything in the desktop easily.
Appcelerator translates the code to a native project and its process seems somewhat dated when compared to other JavaScript to native tools. E.g. React Native and Codename One provide a more fluent developer experiences.