3 ms·
>Is it UX differences? Economical incentive differences? Someone with wested interested pushing things in one or both? Just a fashion thing? The main differenc
by jasode 6y ago
>Is it UX differences? Economical incentive differences? Someone with wested interested pushing things in one or both? Just a fashion thing?
The main difference between desktop pc vs mobile is the availability of programmable APIs to access underlying hardware. This leads to many apps using native API SDK on smartphones but many desktop software (especially newer software) to be browser apps.
On mobile, the underlying hardware is changing and getting enhanced at a faster rate than the standard browser APIs can keep up. Although smartphone innovation is slowing, the new phones released each year still add new features faster than a standards committee for the Javascript api can adopt. E.g. front & rear cameras instead of just rear cameras, accelerometers, voice recognition, fingerprint id, etc. In short, there's a delta of functionality between the native iOS/Swift/Android/Java SDKs vs the web api with Javascript. If that missing functionality in browser Javascript is important, you'll end up with native apps.
As just one example, look at the web browsers API compatibility list to see if there's a standard unified way to query the accelerometer: https://caniuse.com/#search=Accelerometer https://caniuse.com/#search=Accelerometer
Notice all those red rectangles instead of green ones? Developers notice that Apple Safari doesn't support the web api accelerometer. That's one example of pushing developers towards native iOS API+Swift instead of web Safari+Javascript. Another difference between mobile native vs web is push notification from apps.
On desktop, the pc hardware has matured and is more stable. The motivations for choosing native would still be accessing hardware specific advantages but these become more advanced use cases for "power users". E.g. creating arrays in RAM larger than 4GB in size, accessing GPU, use latest cpu instruction sets, etc. E.g. a banking app that let's customers check balances and move money around doesn't need any advanced hardware access and can be written with Javascript for web browsers. However, CPU and RAM intensive software like CAD modeling or After Effects video rendering will be written in C++. The lower resource apps like banking are more common on pc than Autodesk and Adobe. Widespread adoption of WASM would eventually bring more cpu intensive desktop apps to the browser but the gap will remain for many years. On the desktop, there's also a delta of functionality between web browser and native but it's less important for common use cases so browser apps will suffice.