DEV Community

Jess Lee
Jess Lee Subscriber

Posted on

What is better about web development vs native and vice versa?

Oldest comments (18)

Collapse
 
makiten profile image
Donald

For web:

  • It's easier to test UI
  • You can choose the language of your preference
  • Easier to be cross-platform

For native:

  • No browser bugs to worry about
  • Easier to just get started (fewer dependencies)
  • Less worry about supporting outdated OSes
Collapse
 
david_ojeda profile image
David Ojeda

I have to say I disagree with the native benefits you mention.

I don't think there are that many browser bugs to worry about. Maybe just non-supported ES6 features on older browsers, but those are not bugs per-se.

To get started developing native apps you need to install tons of SDKs and frameworks- be it Android or React Native (the few I have worked with). To get started with web dev, you just need any editor and a browser- almost anyone has that right out of the box.

Regarding the outdated OSes, I think Android has some big problems with that. You can't develop an Android app using the latest OS and expect to reach all Android users, not even 50% of them.

Collapse
 
rhymes profile image
rhymes • Edited

It's worse than that unfortunately :/

The latest version has 1% of market share

android versions

taken from developer.android.com/about/dashbo...

Collapse
 
nektro profile image
Meghan (she/her)

No browser bugs to worry about

your own code is a lot more likely to have bugs than the browser

Easier to just get started (fewer dependencies)

What do you mean by this?

Less worry about supporting outdated OSes

JavaScript is completely evergreen and support for legacy systems is a huge issue to tackle when doing native dev

Collapse
 
rhymes profile image
rhymes

The coincidence. In the latest digest by @iriskatastic there's a link to a comparison between Ruby and iOS programming that I found interesting: Practical Differences between Working in Ruby and iOS

It seems like the tooling is better on the web development side, especially for testing. Also web dev is less resource intensive. In iOS favor, frontend web dev these days has become quite resource intensive as well.

Collapse
 
jfrankcarr profile image
Frank Carr

The biggest thing for me is direct hardware access to things like barcode readers, scales, PLCs, specialized printers and so forth. To get these things to work in a browser you usually have to create plugins and such, if they'll work in that context and if you can accomplish it within corporate security policies.

In web development it's much easier to deploy updates, build tests, demo UI's and the like. It's also usually a lot easier to deliver a "minimum viable product" in a web environment.

Collapse
 
nektro profile image
Meghan (she/her)

Many barcode readers will actually register on your device as a keyboard and will be picked up by the browser no problem :D

And for other devices, while it doesn't have a lot of widespread use from the manufacturer side WebUSB has a lot of potential to bring all sorts of peripherals to the Web.

Collapse
 
jfrankcarr profile image
Frank Carr

I've done that with hand helds where the user walked through a warehouse scanning pallets of merchandise. But, in this case, I'm talking about an assembly line with 5 to 10 fixed position readers, 1 or 2 scales and 2-3 printers along with PLCs. WebUSB sounds interesting though. I'll look into it.

Collapse
 
justinctlam profile image
Justin Lam • Edited

I don't think either is better, both are tools and have their useful use cases. Which one should you pick, whichever you can get things done with. Which ones should companies use, whichever they have the talent for.

Do you want to make a cross platform PWA app? Great, can you hire talented JavaScript developers? Maybe you can only find native devs locally. Maybe they costs less or have a stronger community locally.

Insomniac Games decided a few years ago to use web dev to create in house tools. In the end they realized they have a whole company full of C++ devs and were better off creating native tools.

Source: deplinenoise.files.wordpress.com/2...

Collapse
 
ptasker profile image
Peter Tasker • Edited

Web dev = fast feedback loop (refresh page, thing does something)
Native dev = compiler (for most things) makes code faster and checks your syntax etc.

Collapse
 
andrewlucker profile image
Andrew Lucker

For clarification is this meant to be a comparison of mobile web vs mobile native?

Collapse
 
denmch profile image
Den McHenry • Edited

I immediately thought of this tweet by Henrik Joreteg (Human JavaScript, Ampersand):

Collapse
 
jfrankcarr profile image
Frank Carr

I agree it depends somewhat on your application and delivery infrastructure. If you have a good structure in place it's probably about the same or better. Mobile apps are like this.

However, when this structure isn't in place, for example, when you have a less-than-cooperative corporate network admin team, then a web app is typically easier to deploy faster and more frequently. That's why a lot of corporate teams have moved from desktop to web, deployment and support issues. It doesn't have to be like that but it has tended to be the path of least resistance.

Collapse
 
cess11 profile image
PNS11

This question makes a lot of assumptions that aren't necessarily true or applicable.

For high performance computation or throughput so called web development isn't an option. Then you need to do what the corporate giants from time to time have done, write parts of your web app in C++ or similar language.

If you can afford overhead or can't afford such programmers, then web scripting is probably what remains an alternative.

If you can put it in performant binaries and write such code fast, then you probably should unless you expect hardware changes breaking it further down the line.

Collapse
 
kayis profile image
K

Native:

  • more features
  • easier to get good performance

Web:

  • better structured
  • way less restricted
  • best cross platform