Hacker News new | past | comments | ask | show | jobs | submit login

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.




I 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).


Cordova, 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).


Yes, 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.)


How 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.


Haha, I wish more people were as honest as you are!


Native 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...


    Else 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.


>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.


> 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)


Wouldn't that definition make Dalvik(/Java) applications on Android non-native?


Yes, 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.


I don't think anyone considers .NET apps non-native on Windows.


I'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)....


Native means ur apps gets compiled to binary during compilation process, and not scripts being interpreted by a vm at runtime.


That's interpreted/JITed vs AOT compiled, not native vs non-native.


If 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.




Consider applying for YC's Spring batch! Applications are open till Feb 11.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: