4 ms·
Or native apps will go through a revival due to new languages, compiler optimizations and access to intrinsics and C libraries.
by juststeve 6y ago
Or native apps will go through a revival due to new languages, compiler optimizations and access to intrinsics and C libraries.
- karmakaze 6y agoTechnology still matters. It's not native vs not-native, there are many points along this scale. An app written in Swift on an iPhone should run faster than a similar app in Java on Android. If they run about the same, remember that the iPhone can do it with less memory and battery consumption. The Java Android app is more native than a React-Native app executing js.
- juststeve 6y agoyep, so the goal should be to compile everything down to light binary images the first time, and not require mobile devices work it all out at runtime.
- pjmlp 6y agoModern Android versions have multiple tiers. Interpreter written in Assembly for fast startup, if the application was never executed. Followed by JIT compilation to native code and when the device is idle, the PGO data collected by the JIT is used to produce a binary for direct native execution. As of Android 10 those PGO files are uploaded to the stores and then if a similar device installs the application, they will get the PGO data as well and thus achieve a relatively fast result for their initial compilation.
- peatmoss 6y agoAs an avowed skeptic of all things deep learning, I do wonder if there is a role for AI generated native code from some form of psuedocode. I know that a lot of old school code used very little memory due to everything sharing one set of libraries. I wonder if in the future, “installing an application” could be flipping a bit in a registry and your device being delivered a highly optimized monolithic system image.
- juststeve 6y ago> I do wonder if there is a role for AI generated native code from some form of psuedocode. I think that's pretty much what a good compiler is meant to do? smaller binary images would be amazing though, especially when OS dependencies are required
- njhaveri 6y agoAs a developer of a native Mac email client, I sincerely hope that this is true. At least in the Apple ecosystem, there are new technologies like SwiftUI and Mac Catalyst that should make this easier, particularly for the army of iOS developers looking to bring apps to the Mac. Before starting my app, I did briefly consider going the cross-platform route, and I realize that it's possible to build a decent app that way. But personally, I could always tell when I used one. Little things like swipe gestures and drag and drop didn't quite work right. The extra polish, consistency, and speed of going native is so nice for things you use all day every day. With the shift to remote work, people might notice this extra 5-10% of polish more than they did a year ago.
- emodendroket 6y agoIt's a double-edged sword. I like that no matter what OS I'm using I can set up IntelliJ to work exactly the same, down to non-native keymaps.
- saagarjha 6y agoI am unsure we're going to see a performance increase there; nobody has really made the highest performance languages faster by more than an order of magnitude in the last couple decades.