6 ms·
Is android native development still a thing?
by wruza 5y ago
Is android native development still a thing?
- Hydraulix989 5y agoI've only ever seen the NDK used for games
- dataflow 5y agoIt's always confusing when people say "native" on Android... you never know if they mean "not a web app" (SDK) or "machine code" (NDK). Do you mean the latter?
- Asraelite 5y agoI'm pretty sure it's "not a web app" in most contexts, but that's an interesting point I hadn't thought of before. What do you mean by "machine code" though? To me, the most native you can get is a Java/C++ app that uses Android APIs directly. Anything lower is systems development, something not generally possible for normal developers.
- dataflow 5y ago> What do you mean by "machine code" though? To me, the most native you can get is a Java/C++ app that uses Android APIs directly. I mean like C/C++ (which compiles to machine code) and not Java (which compiles to bytecode). Same as the distinction the terminology made on desktop: https://stackoverflow.com/a/855774 https://stackoverflow.com/a/855774
- Asraelite 5y agoWould you consider something that's not a web app, but built with a higher level framework like Flutter to be native in either sense?
- dataflow 5y agoMe? Personally I hate any definition that conflicts with the old one, but that ship sailed long ago. Nowadays, my understanding is, if it's not loading a webpage off the internet, people call it "native". Doesn't matter what framework it uses to actually display things (even if it uses web technology).
- vbezhenar 5y agoAndroid UI is implemented with Java libraries. If you want native Android L&F, you need to use those libraries. You can write your app with C++ and invoke those libraries via FFI, but that's extremely cumbersome way to develop and does not bring any advantages. Java is the native way to develop GUI apps for Android. And recently Java was replaced with Kotlin, so nowadays Kotlin is the native way to develop GUI apps for Android. Just like C# is one of the native ways to make Windows applications.
- dataflow 5y ago> Just like C# is one of the native ways to make Windows applications. Please do everyone a favor and, at least for the sake of desktop development, don't misuse the terminology like that if you want people to understand what you're saying. The entire reason ".NET Native" was developed was that C# did not produce "native" applications. Saying C# produces native Windows applications is going to confuse the heck out of everybody.
- pjmlp 5y agoSomeone is wrong on the Internet. .NET has always supported AOT via NGEN, although it only supports dynamic linking and was optimized for fast startup of applications. Windows 8 introduced the Bartok compiler used by Singularity, where applications would be pre-AOT compiled in the Windows store minus linking, with on-device linking happening on installation. Windows 10, improved the later scenario with the introduction of .NET Native, slightly based on the Midori experience. The new Windows 11 store is still fully based on .NET Native, as it makes use of WinUI 2.6.
- wruza 5y agoI meant “not a web app”, so both, I guess.
- pjmlp 5y agoNative on Android, is what the native platform SDK offers as development experience when you install it on the computer. So Java, Kotlin, C, C++ and Web.
- occz 5y agoYes, very much so.