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

> As someone who has been into mobile app development since 2010, the comments above read like a punch to the gut. We grew up believing that the native experience was better than the web!

It is

With the transition to web apps, we have lost some excellent quality standards, integration, and availablity. 10 years ago you could have productively used your computer and software without ever needing to touch an internet connection. Nowadays it's either: - the browser is the portal to everything - apps are just slow, unresponsive, ugly looking WebViews

It's sad that the bar is so low these days that VSCode is considered acceptable. That takes 30 seconds to start up on my i5-8250U with MX150 graphics.

Notepad++ launches instantly on a 10 year old 32 bit computer with a *low end CPU.

Not criticizing your service btw, I'm sure it's well developed. I hate the general concept at the base tho.




The blame is on the mobile vendors (and desktop platform vendors) just trying to "out-innovate" each other (also building propietary security/signing solutions) with their propietary stacks (SwiftUI/ObjC, Java/Kotlin, C#,etc) at the same time as there's been an explosion of apps/services that just needs basic functionality. The budgets/manpower isn't there to support everything... apart from if it's just a webview.

20 years ago a Windows program was enough (guess why Visual Basic was so popular?).

There's also a flip-side to the equation, the web-platform is damn capable thanks to the relentless pacing (both in features and JIT improvements in JS engines) after IE died off and catching up to it is becoming harder every day.

Looking today the only real choices for cross-platform dev seems to be: WebView, React Native (using Expo is a damn smooth experience almost to the level of webviews) and finally Xamarin/C#. (Yeah, I'm aware of Dart/Flutter but isn't it already long overdue to be killed by Google?)


> That takes 30 seconds to start up on my i5-8250U

I run VSCode (on Linux) on a number of different low- to mid-end machines between a 5 and 10 years old and it starts within 2-3 seconds on all of them. New windows/tabs open basically instantly. I ran it once on a Raspberry Pi just for fun and even then it was entirely bearable.

I can only imagine you are loading a bunch of extensions, or maybe one or two extremely heavy ones. It's never anywhere near as snappy as plain Vim, of course. And I am not easy to please nor a fan of Electron apps in general but VSCode has been fairly tolerable for me over the years.


On my Apple M1 it takes ~33 seconds for cold-start. I use only vim and flutter extention. That said, my biggest complaint is that on this extremely fast computer, the lag between a keypress and a symbol is too big. I'm typing faster than VSCode renders characters. With vim mode enabled it sometimes goes super slow, with 1-2 sec between characters (but that's not always).

Anyway, agree with the author. Everytime I use web- or electron-app I'm just expecting sluggishness, ugliness and weird behaviors and refresh the page (=restart the app) all the time. It's just a norm. I guess no matter how people pretend that typesetting engine from 80-s is a good UI stack, they still have to pay huge price in usability, performance and orders of magnitude higher memory usage.


How is this possible? What is a "cold start"?

For me, with Code completely exited (i.e., not in the dock at all), it takes about 1 second to start drawing and about 4 or 5 to finish rendering all the icons and such and be fully usable. Even IntelliJ (now THAT's slow) only takes about 6 or 7 seconds to fully load. On a M1 too.

Do you have some weird antivirus or similar scanning all your apps...?


By cold start I mean, I haven't launched the app in the last days, so it's not in any sort of cache or memory pages.

No, I don't have any antivirus, and generally very concerned about what's running in the background (I delete apps from LaunchAgents dir, avoid keeping hungry Electron apps in the background unless really needed, etc).


I don't understand how it's so slow for you then. I don't even use VSCode regularly (prefer the other IDE), but I keep it around specifically because it's so fast to open. A good lightweight alternative when I don't want to wait for my real IDE.

It's never taken more than a few seconds to load... whether on M1 or x86 Macs or Windows. How weird.


I don't know either, but it's definitely a common case. They have around 200 issues devoted to startup performance.

Meanwhile, NeoVim is consistently starting under 500ms for me, even being heavy loaded with plugins and offering all the same functionality (NeoVim is pretty awesome as an IDE these days).


> It's sad that the bar is so low these days that VSCode is considered acceptable. That takes 30 seconds to start up on my i5-8250U with MX150 graphics.

Have you considered that your computer is the problem? I am running a dual-core MacBook Pro that usually hosts a docker-compose file running Postgres and Mongo, a few NodeJS services, and a React hot-reload server, and I can open a fresh or additional VSCode window in 5s.

Or on my i7-6700k/1070 I was pulling it up within 2s

I don't disagree with the idea you express about the internet connection though - it's frustrating to find all the things that should be locally cached and aren't, and all the places offline-first tech isn't applied that it would be beneficial.

Fortunately airplanes have more and more wifi these days...


> Have you considered that your computer is the problem?

I wouldn't say so, Elementary OS's built in code editor takes a few seconds at most to open a file

Then again, Electron is really slow (among other things), but anyways, regardless of the toolkit you're using, your app is still an overly complex .html page, doing things the DOM was never meant to do or programmed for, e.g. DOM traversal becomes slow. (Unless you use something like React Native, which is 'truly native', but mobile only)

Honestly the idea of web apps sounds a whole lot like trying to make a video editor app in MS Word


> your app is still an overly complex .html page, doing things the DOM was never meant to do or programmed for

I mean, maybe it was true when browsers were hypertext-only applications, but now they are performant app-delivery toolkits.

Native might get higher performance, but at a fairly steep cost of coupling and distribution difficulty. I can deliver insanely powerful apps to many OSs and form factors on a 512kB bundle, meanwhile native mobile apps come in at 60-500MB for 1 platform. It's also not really that hard to have smooth 60fps display on big datasets & visualizations, which means I contest what "slow" really means for DOM traversal.

Seems to me like you're hell bent on discounting this one platform instead of arguing the tradeoffs are not worth it, which is a shallow take from my view.


Arguing that web technologies weren’t originally intended to be used to develop apps is completely orthogonal to the discussion. The fact of the matter is that web technologies are the best tool for the job. They’re one of the only tools that allow you to build an identical cross-platform application; not to mention the host of other advantages, like code-sharing with a website, an extensive JS ecosystem, (in the case of a PWA) fully sandboxed, etc.

And, I agree with you that today Electron apps are a worse user-experience a lot of the times. But just brushing off anything made with web technologies because “it wasn’t designed for this” feels very shortsighted in my opinion.


> just brushing off anything made with web technologies because “it wasn’t designed for this” feels very shortsighted in my opinion

That's more of an ideological reason for me. But even setting that aside, you can't ignore the practical downsides I listed

> The fact of the matter is that web technologies are the best tool for the job

As a former app developer, I can assure you that creating truly native apps with the OS's toolkit has been way easier than any web application framework I have ever used, ever.

For example, here are some side projects I built for Windows:

- a web browser, but kind of forgot about it - a web page editor with live HTML preview, finished but never really released it

On the other hand, it took me hours to get started making a simple react project (setting up the project, styling it, making the basic navigation components), and never finished it.

Sure, my experience is no empirical evidence of anything. But it seems to be a common misconception that building with web technologies is easier than native toolkits.

I understand that the main problem is having to write everything from scratch for every platform, assuming you're not targeting a specific one (then you should definitely go native).

But trust me, outside the Windows world the app dev's life is a lot easier (see GTK, Qt, etc. that work on any OS as long as the DE implements it)

For more complex projects porting is often an option, and for those cases I still think cross platform TKs are much better than web apps. And you usually don't need a web version if the software works natively everywhere possible.


I would note that VSCode is instantaneous on my M1 Pro..but yeah.


See, this is where the misconception comes from.

I am happily creating great offline experiences with static html apps embedded into every platform I want. (pc, ios, android, xbox)

All with the exact same code base.

A browser not implies online connectivity.


Same here. My offline-first Capacitor/Ionic app feels a lot more snappy than the native competitor, which requires an internet connection and has a lag of a second when saving a data item.

Point is: just because it’s native, doesn’t mean it’s well-designed.


You're totally right about startup times with apps like VSCode, but there's a reason that never gets worked on really: the most active users startup those pro apps (VSCode, Photoshop, etc.) and simply don't close them.

Optimizing for startup time probably doesn't end up being much of a gain, better to make sure the experience stays solid once it's already running, and for long periods of time.


Agreed. I do like how it shows the impact that each extension has on startup time, but memory is the real issue I care about.


> 10 years ago you could have productively used your computer and software without ever needing to touch an internet connection

And then users wanted collaboration features, weren't keeping their software up to date (so it had to be done for them), wanted to share their data across their device on the cloud, etc, etc.


I never did.


But a lot did.

Microsoft Word still exists but somehow lots of people prefer using Google Docs because it has those cool features.


Cloud apps != Web apps

I never had a problem with the former, and appreciate their capabilities. Many cloud apps are also web apps, but not necessarily (see Sketch)


VSCode launches instantly for me.


I wouldn't call it instant, but it takes roughly 1s for me. That's acceptable in my eyes.


Do you have the same system (or strictly lower-spec) than GP? If not, your comment is irrevelant.


Yes, but even if I had monster computer "instant vs 30 seconds" wouldn't be irrelevant.


> Yes

Alright, so it works for you, but not GP. That still means that it's poorly optimized.

> even if I had monster computer "instant vs 30 seconds" wouldn't be irrelevant

You're stating the negation without providing any argument, so I guess I should explicitly clarify why it's irrelevant: because the topic of this thread is about medium-to-low-end machines, and not about high-spec ones.

To be even more clear, the difference between "instant" and "30 seconds" is categorical in almost every situation, let alone the specific context of interactive software tools.


Yes, it launches instantly, but depending on the dev env and plugins you have it may take a while before it is fully usable


Yeah but Notepad++ as far as I know doesn't even have the level of functionality that those plugins provide?


Yes and loads more. I don't use notepad++ on the daily but it is a far superior experience than whatever VSCode gave me


Launch time doesn’t matter. The only time I launch vscode is when I have to reboot to apply updates. Even that is getting more and more rare.


VS Code is not slow, it launches in second or two, you probably installed bunch of shitty extensions that slowed Code to crawl.


No, this was on a clean install




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

Search: