So, today I was getting my hands dirty with swift. I have a demo app built with swift and I replicated the same using Ionic.
I loaded both of the apps on my phone and I see only a small (negligible) difference between the both.
So is it a good idea to stick with Ionic or should I use swift and go native which would help me speed up the app as it grows in complexity
If you want easy implementation for multiple platforms then you might want to use Ionic. If your app is platform specific then I believe you should go native since it is much powerful than html+js.
Most, if not all things you can do with native, you can do with Ionic as well.
For features not accessible through js, you can use a Cordova/PhoneGap plugin: push messages, Android toasts, native camera access, NFC access - you name it, there are hundreds of plugins available.
Writing one yourself is not difficult, either. I was just testing and created a plugin for Parse.com push messages.
Using plugins enables you to access device-specific features, yet keep the app runnable as a web app: just add some check in js to detect if we have plugins loaded or not – if not, skip the feature or use a fallback (like for toasts).