Live data from Hacker News

Why did the web take over desktop and not mobile?

subconscious.substack.com

21–30 of 315 posts

Re: Why did the web take over desktop and not mobile?

#21

Earlier quoted context omitted.

It'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?

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

> 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

Re: Why did the web take over desktop and not mobile?

#22

Mobile code can not burn battery on unnecessary cpu use, and certainly not on unnecessary use of power transmitting over a radio link repetitively loading things: desktop gets power plugged into a wall and is therefore less constrained.

> unnecessary use of power transmitting over a radio link repetitively loading things Web apps can be installed on the phone. Has been working on Android for a long time, and it won't need to reload anything. I don't see them being much less efficient than "native" Android apps, especially considering their average quality. > desktop gets power plugged into a wall and is therefore less constrained Unless it's a lapto…

May I ask for some examples of those web apps? Does this really exist outside some note taking sample apps?

Re: Why did the web take over desktop and not mobile?

#23

Earlier quoted context omitted.

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

> 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

Would you consider something that's not a web app, but built with a higher level framework like Flutter to be native in either sense?

Re: Why did the web take over desktop and not mobile?

#24
post #5

Maybe I missed it, but I don't think the article even provides figures for the percentage of time spent in a browser on mobile versus desktop. If it is indeed skewed toward non-browser activities on the phone, that's got to mostly be due to hardware integration for things that don't exist or aren't used the same way on most desktops (camera, voice assistant, GPS) and better notification interfaces (messaging apps, wh…

> camera, voice assistant, GPS Phones could add APIs for webapps to use those.

Camera and GPS are usable from webapps.

Re: Why did the web take over desktop and not mobile?

#25

Earlier quoted context omitted.

> 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

Would you consider something that's not a web app, but built with a higher level framework like Flutter to be native in either sense?

Me? 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).

Re: Why did the web take over desktop and not mobile?

#26

Earlier quoted context omitted.

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

> 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

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

Re: Why did the web take over desktop and not mobile?

#28

Earlier quoted context omitted.

> 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

Android 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 f…

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

Re: Why did the web take over desktop and not mobile?

#29
post #6

Earlier quoted context omitted.

Is android native development still a thing?

It'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?

I meant “not a web app”, so both, I guess.

Re: Why did the web take over desktop and not mobile?

#30
I think this article misses out on a couple things. First writing a cross platform App for desktops is a lot more work than especially the GUI aspect than a web app.

A desktop app is just as capable of using the internet as a phone app. So that point does not make any sense to me.

The main reason apps are more popular on phones is first battery usage is gonna be better and the was especially important early on when phone processors were less capable.

2nd there has been a big push particularly from apple so they could capture those purchasing fees. Combine this with the fact they prevent the device users from side-loading unless they find an exploit to jailbreak their device the Apple's incentives are clear.

Combine this fact the apple when it comes to implementing standards for browser featuers drags their feet at times. Developers will just often deal with implementing a native app, also combine the fact because users can't side load your only stuck to one browser engine on the iPhone.

This bleeds over to android as it's kinda pushed the defacto method of getting apps on a phone being to use a store. Also google is not going to really try to change it either because they are also collecting fees. Although a developers options are certainly more free on that platform, but again to the users if you stray to far from what has become the defacto method getting users will be difficult.

Post reply on HN