Hacker News new | past | comments | ask | show | jobs | submit login

The pedantic force is strong here.



Not really. Especially not on Hacker News. There's an expectation when someone says native app that you're getting a binary that you compiled from source you created with a reasonable expectation of performance.

No one thinks native as being a webview wrapped executable where the authored source is actually a series of HTML, CSS, and javascript. They just don't. Calling it "native" is a misnomer.


You're right about the meaning of 'native', but if you expect to have a 'reasonable expectation of performance' just because an app is written as a native binary, you may be sorely disappointed. There are plenty of poorly performing native applications out there, and it's also certainly possible to write minimal, fast HTML/CSS/JavaScript.


Absolutely. But you don't start out with a large memory footprint like an electron app, you actually have to code yourself into that problem instead of immediately inheriting it.

I'd still argue that most people are going to assume that a native app is probably faster than your average electron app, for a whole host of reasons.


That's comparing outlier to outlier. If you compare two averagely coded apps, something written in C++ will make an absolute joke of something written in Javascript.


What if the application does have compiled libraries generated from the authored source?


I'm not trying to define what a native app is, I'm only explaining the way many users such as myself perceive it today. The waters are obviously getting much murkier on what fits the definition of native and it does look like the writing is on the wall that the state javascript on the desktop is just going to continue to improve.


What about using electron with the cachedData option...? Or some webassembly thrown into the mix? Is native a development style or a product?


People who aren't pedantic in tech end up wasting thousands of dollars due to miscommunication.


I wish I upvote this more than once.


Words have meaning.

Native doesn't mean browser in a window. Same as realtime doesn't mean "it'll get there faster. Maybe"


Words do have meaning but "native" has pretty unclear meaning.

Is JavaScript native? JavaScript is interpreted when it first starts, but eventually turns into machine code through JIT by most JS engines. So is JavaScript native because it gets converted to machine code, just as C++ does?

If you say no, then you're saying only AOT compiled languages are "native". So that eliminates Python, Erlang, Java. Even C#, the "native" language on Windows is not AOT (in most cases).

So that doesn't work, AOT has nothing to do with native. JavaScript is just as native as any other language.

So maybe the problem is the UI, right? That's where most people seem to have a problem. So as long as you are using Cocoa on OSX, GTK on Gnome, Metro on Windows, you're native, right? Oh, wait, Metro apps can be written using HTML, JS, and CSS. They are essentially identical to Electron apps. In fact, Microsoft supports (and encourages) you to create .appx packages from Electron apps [1].

Oh, and all of those Qt apps out there (like Calibre, by far the best ebook management software), not native (despite being C++ in a lot of cases).

So yeah, "native" has meaning, but the meaning is as clear as mud.

[1]https://github.com/felixrieseberg/electron-windows-store


Just commenting that that is a very good definition of what realtime isn't! :)




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: