4 ms·
Is it actually "native" if it is a JS interpreter passing calls into the runtime? Yes, it is native widgets and UI, but the "brains" of the operation are seemin
by sheraz 12y ago
Is it actually "native" if it is a JS interpreter passing calls into the runtime? Yes, it is native widgets and UI, but the "brains" of the operation are seemingly outside.
PS - I have no idea what I'm talking about.
- arturadib 12y agoHaha, I wish more people were as honest as you are!
- coldtea 12y agoNative is mostly about widgets and UI -- which is what matters to the user. Else even Objective-C apps, with the Obj-C messaging system are not native, e.g. they delegate a lot to C-based APIs...
- jawngee 12y agoElse even Objective-C apps, with the Obj-C messaging system are not native, e.g. they delegate a lot to C-based APIs... For starters, that doesn't make any sense. Note the `C` part of Objective-C. Secondly, native infers compiled to executable native code, not interpreted or JIT'd via an intermediary.
- cwyers 12y agoI don't think anyone considers .NET apps non-native on Windows.
- jawngee 12y agoI'm pretty sure they're considered `managed`, not native. Otherwise, .NET Native wouldn't exist: https://msdn.microsoft.com/en-us/library/dn584397(v=vs.110).aspx https://msdn.microsoft.com/en-us/library/dn584397(v=vs.110)....
- coldtea 12y ago>Secondly, native infers compiled to executable native code, not interpreted or JIT'd via an intermediary And the GUI/Widgets part you get to use through JS here is just that (the native implementation from the OS GUI libs), which, as I said, is what users really care about when they ask for native apps. See also the sibling comment about .NET apps and Windows.
- doktrin 12y ago> which, as I said, is what users really care about when they ask for native apps That's true, but that's not what developers understand "native" to mean. Since most readers here are technical in some fashion, it makes more sense to use the more specific definition of the term (e.g. compiled, not jit'd, interpreted or otherwise managed)
- bruce_one 12y agoWouldn't that definition make Dalvik(/Java) applications on Android non-native?
- pjmlp 12y agoYes, that is why there is the NDK, aka Native Development Kit. Java only became native code on Android with the ART bytecode to native compiler. However, native can also mean, native to the platform. In this case, Java even with Dalvik is native to the Android platform.
- yuashizuki 12y agoNative means ur apps gets compiled to binary during compilation process, and not scripts being interpreted by a vm at runtime.
- coldtea 12y agoThat's interpreted/JITed vs AOT compiled, not native vs non-native.
- TylerJay 12y agoI think what makes it "native" or not is how the app is rendered. You can basically take any web application and wrap it into an app, but it displays in a "web view" whereas a "native" app uses the built-in display components of the OS. For example, the little slider gray/green icon instead of radio buttons on iOS. Also, native apps have access to certain device APIs like the camera while non-native apps don't (at least I don't think so).
- IgorPartola 12y agoCordova, which uses HTML in a WebView paradigm, lets you wrap native API's as plugins, so you can access them from JavaScript. You can access most (all?) native functionality from within JS using either Corfova-supplied or third party plugins. Honestly, Cordova + Ionic/Angular has been a great experience so far. Very few problems and a super quick time to market. I can't imagine iterating as quickly for two platforms at once (three if you care about Windows Mobile).
- RussianCow 12y agoYes, but you don't get a native UI with hybrid solutions like Cordova. Also, in order to use native APIs, you have to create special wrappers for them, whereas in NativeScript, it looks like you can call the APIs directly. (How this affects performance, I don't know.)
- IgorPartola 12y agoHow does calling API's directly work with different platforms using different names, calling conventions, etc.? I like that with Cordova someone already did the work of normalizing the native calls. Agreed about the lack of native UI. Things like Ionic help, but it is not 100% perfect by any means.
- sebastianconcpt 12y agoIf is not 1's and 0's is not native for the CPU so why downplay the intelligent attempt to empower humans with easier scripted interfaces? Yes, I called language an interface. And most suck.