In light of today's Node/Electron Conversation, it seems appropriate to remind everyone of the t-shirts I made last week.
(cc: @alphakamp)
@dmoonfire Basically, node's ecosystem is bad and encourages bad habits.
Electron has all of the problems of webapps + the massive memory usage of running multiple web browsers at the same time + all the security worries of running multiple outdated web browsers at the same time.
@dmoonfire ... NPM was responsible for the left-pad debacle a few years back.
I've installed applications that pull dependencies only to discover that those dependencies either 1) don't work with the current version of that application or 2) have been modified to introduce phone-homes or other nastiness.
The biggest bit, though, is that node is probably great as a developer's environment, but it's horrible from a maintenance/admin standpoint.
And maintenance/admin is what I do.
@ajroach42 Sorry, didn't mean to respond that way.
Thank you for telling me the details of the previous conversation.
@dmoonfire All good!
@dmoonfire ... NPM was responsible for the left-pad debacle a few years back.
I've installed applications that pull dependencies only to discover that those dependencies either 1) don't work with the current version of that application or 2) have been modified to introduce phone-homes or other nastiness.
The biggest bit, though, is that node is probably great as a developer's environment, but it's horrible from a maintenance/admin standpoint.
And maintenance/admin is what I do.
@dmoonfire I'm sure it's great for developers, because I see so many Neat things being made with it.
But I can't really trust those things. They are hard to maintain, and they break often.
@ajroach42 Yeah, I could see that. NPM is great for many things, but I always felt like it needed a good packaging story. With C#, there is the convention of doing an xcopy deploy but with node, many times it requires npm. I think there should be a reasonable effort to have a "all in one" package.
Atom actually does a decent job of that because you don't need to touch the network from the base .exe. You can, but not required.
@ajroach42 It is nice to avoid the DLL Hell that Windows and even Linux has had over the years though. I really like folder-self-contained projects, that is why I'm using NPM and NuGet as my role models for Author Intrusion.
Also, because I used to use Python and Perl with my publishing framework and two years of deployment bitrotted my old novel's publication. :(
That was... frustrating to say the least. I want to be able to freeze a project at a point in time.
@ajroach42 I found npm to be one of the better ecosystems out there, at least in terms of use (though high on fragmentation) and being self-contained verses global (composer, easy_install).
As for it being a pig, yeah, but there aren't a lot of good cross-platform, non-network-connected options out there.