DEV Community

Jess Lee
Jess Lee Subscriber

Posted on

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

Latest comments (18)

Collapse
 
pancy profile image
Pan Chasinga

XML (and HTML) was not designed for dynamic content. No matter how you look at it, HTML is fundamentally a markup language for describing a static document. <button> is new compared to <a>, and still the api is not perfect. That's because HTML wasn't built to be UI-oriented. It was built to be document-oriented.

In addition, the browsers had just recently introduced supports for webworker, which enables concurrent processes in the browser. Native applications have had this baked in for ages because concurrency has been a core to any UI programming.

IMHO I think all the tools and frameworks for web development to date are all just hacks around this fundamental design flaw. BUT, and a big but, frankly, I <3 the web so much because of its flaw. It's liberating (no platform-specific bureaucracy), and being a hack, attracting countless minds to work and experiment with it.

Compare it to, say, iOS development. This is what I have to say--Good luck with getting through XCode's configuration hell, if you could own a Mac at all.

Collapse
 
clickclickonsal profile image
Sal Hernandez

For Web Development:

  • A Browser to test your app, in native sometimes you need to run your code on a physical device to test some feature that uses the hardware.
  • Simple web server running when in development, in native you'll need either xcode/android studio running along with either a simulated device or running a connection to talk with a physical device & with ReactNative you need a JS server running to fetch your JS. ahhhh so much!!! Hint: expo.io will make it easier)
  • More tutorials, stack overflow, video content to go to for help

For Native:

  • You get access to hardware such as camera, nfc, network connection, etc which make it pretty cool & fun to build features on!
  • Usually are kept simpler than what a Web App would do. So makes it easier to stay small which in term would make it easier to maintain 😃
  • When deploying your app you get to tell your friends "Check out my app", & they'll say "Is it on the App Store?" & you'll finally get to say "YES!!!!!!!!!!!!"
Collapse
 
cathodion profile image
Dustin King

This is more about why I like it than what it's like:

Ideally, the web is a platform with universal reach that is not controlled by any one corporation or government, and that anybody can publish/deploy to with almost zero cost. I'm Team Web, 100%.

On the other hand, the web has spent the last couple decades reinventing features that native platforms have had, well, natively. And large organizations are still able to exert considerable influence.

But the web has come so far. I'm looking forward to things like WebAssembly and P2P protocols that may let it go even farther.

Collapse
 
kayis profile image
K

Native:

  • more features
  • easier to get good performance

Web:

  • better structured
  • way less restricted
  • best cross platform
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
 
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
 
denmch profile image
Den McHenry • Edited

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

Collapse
 
andrewlucker profile image
Andrew Lucker

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

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