Are Ionic Apps Native Apps?


Expires in 10 months

16 July 2021

Views: 10

Hey everybody. So today I want to discuss the question as to whether ionic apps are native apps, and I think this is saying, there's probably a little bit of confusion around, especially for newer ionic developers. Depending on who, you ask, you probably get two different answers or or more than that, and I think that there isn't really a definitive answer to that question. I think it really depends a lot on what your definition of a native app is and also the context in which you're talking about it and as always with topics like this. There is that element of ego and and gatekeeping to it, where I guess some people want to protect the thing that they do or they think what they do is the best and perhaps use that to frame their opinion on the language they're using. So what I want to do in this video is just to first give a sort of high-level overview of what one ionic app is and how it differs to regular native app and then at the end of this video. I'Ll give my opinion on the terminology that I like to use, but yeah. I just want to leave you with kind of the facts of the matter and then you can kind of decide for yourself. I guess so I'll be focusing just on iOS and Android. So I only complications that have been built with either Cordova or capacitor to get an iOS or Android app. Of course, ionic can be used to build other things as well and like progressive web apps or if an electron, apps, those sorts of things, but for now I will just focus on ionic apps built with caught over or capacitor for Android or iOS. Okay. So, let's start talking about what makes an ionic app the the same or similar to a native app and what makes them different. And so, when we're talking about the actual software that is installed onto the user's device, there's really no difference between a native app, a regular native app and an ionic application. If we're installing it on iOS we'll have an IPA package on Android, you have the APK file. This is just in both cases. It'S just a normal native application, that's being installed, and both of these applications have full access to or the normal native functionality that you would whether different starts to come in is in the way that the user interface is displayed to the user in a regular native Application, so that's an application that is coded in, say, a swift or objective-c for iOS or a job or a Kotlin for Android. Those kinds of applications use the standard native controls, the standard native UI elements for the application, whereas an ionic application actually uses an embedded browser to display the user interface. So this is what allows ionic applications to use web tech and display everything using JavaScript, HTML and CSS, and so this embedded browser is slightly. The user can't see, but really that's kind of the view, rendering engine that the app is using, as so, rather than using the standard sort of native UI elements were actually using web tech, that's embedded into a browser and that browser is being displayed inside that native Application now, in most cases to the end-user, these two things look the same, but the method in which it's achieved is quite different, and this is what you would probably often hear referred to as the hybrid approach. Now, because of that difference, many people would say that since ionic applications using Cordova or capacitor since they're, not using the native UI elements, they would say that that is no longer a native application, or at least some people might refer to that as not being real. Native or true native, or something like that - and there are other implications besides just not using the native UI controls the fact that an ionic application lives within this browser which is embedded into the native application. This adds this layer between the app and the actual native functionality of glass. So this means that if your application wants to access site that's only available through native functionality, there needs to be some kind of plug-in or communication involved and that's typically, a role that Cordova or capacitor fulfills. So, rather than requesting native resources directly, you first have to make a request to Cordova or capacitor and then that sort of acts as the go-between between your app and the actual native device. And so this does play some limitations on the application. Essentially, you're using the embedded browser as the engine. That'S running your application. Now that's providing the processing power for your application, as opposed to standard native apps, where you are using the full resources of the phone now. Sometimes this does matter, and sometimes it doesn't, and so there is, I guess at least again, I'm not trying to give my opinion here but a bit of misconception in terms of performance, and I guess you had a lot of people saying that you know native apps Are just inherently better than ionic applications because they have more performance available, but that is not always the case. They do have this kind of higher performance cap, but a lot of the time the power provided by the browser is more than enough to do what you need to do in the application. But again I want to highlight that sometimes it's not and sometimes going for a regular native app is the correct choice. So before I stray too much into getting into performance comparisons and give you my opinion I'll, I guess I'll cut the the facts segment there and I guess now I'll give you my opinion on what I would call an ionic application and really, I think it really Does depend on the context for me that in a general sense I would say that ionic apps are native apps they're installed on to a device and downloaded through the App Store like any other native app. Visit Website that is installed is a native app. You have full access to that native app, although your the view for your application is tane within the browser. If you want to, you still can code outside of that as well. So, in a general context, I think it makes the most sense to refer to them as a native, because when a lot of people are talking about a native application, they're thinking of things that you're downloading from the Apple App Store or Google Play. But I also think it does make sense to distinguish an ionic app from regular native app as well in certain contexts. So, especially, if we're talking about what sort of approach we want to take to build an application when we're actually comparing things when we're trying to decide on an approach to take, it makes sense to identify these things as two different things, because they are. I don't necessarily like the I guess, the real native or true native description, yeah, but yeah, I think using in terms like hybrid apps, probably make sense for ionic, and I don't think real native or true native is really that good of a term I'd prefer something Like you know, a native app with native you why I feel, like that's a more accurate description, but again, this is all just my my opinion. There'S not really any rules around exactly. How do we refer to these things so yeah, let's have a discussion about it. I guess if you do have an opinion on the terminology that you like to use. What you think should be used, leave a comment and yeah yeah, so my camera just decided it was done filming just then, but anyway, I think I was saying that that you should leave any opinions you have in the comments and they will get a discussion going Around that, and hopefully it's a productive one and yes, so thanks for watching this video and we'll see you again in the next one, [ Music, ]

<img width="468" src="" />

Here's my website:

Disable Third Party Ads