NW.js
nwjs.io
nwjs.io
What does "call Node.js modules directly from the DOM" mean? I write Node.js code, all day, every day, and I have for three years, and I have absolutely no idea what that means.
NW.js appears to be some sort of "break" from node-webkit, and the copy on the main site seems to suggest that it is an entirely new project. The only useful link I see goes to a Google Groups post that says that node-webkit has been renamed to NW because it is neither Node nor Webkit.
This is missing the point entirely. The tagline should be something lke:
"NW.js is a runtime for building desktop applications using Web technologies. Like WebViews for iOS/Android, NW.js leverages the latest in web technologies (Chromium and io.js) to provide a complete platform for building fully-featured desktop applications using the same technologies used for the Web."
Instead, the tagline seems to be advertising that I can check `process.browser` from inside a <script> tag. That's cool, but somewhat analogous to the tagline for Tesla's newest car saying that it "lets you change songs with voice commands". Nice feature, but doesn't explain the project at all.
I put in a PR for the iojs.org site (https://github.com/iojs/iojs.github.io/pull/50) which is garnering some good discussion but it doesn't appear that anyone is "in charge" so it may be a long time before any sort of major change is merged.
Edit: Let me note that all of this is a shame because both of these projects (io.js and nw.js) are very exciting news for the Node community as a whole and are very well done projects! I don't mean to disparage the work of those teams whatsoever, they are doing a fantastic job.
Somebody who has experience writing persuasive and informative copy, and can do a PR, you could have yourself a good resume piece :)
[edit] Not to say they're never the same people, just that to expect those two skills to always coincide is unreasonable, IMO.
It's seems that it's the same project. The GitHub page says: "node-webkit is renamed NW.js" https://github.com/nwjs/nw.js
It's a very cool project regardless but it is still the same concept as node-webkit.
I have started hanging around the HN again nowadays, and this is the second link I'm commenting on and fourth or fifth one I have seen where the first one of the comments says «the website tells practically nothing». Also here, the link title (merely «NW.js» at the time I write this) also says nothing, and the linked page is annotated to be under construction. Heck, when presenting your project to the tech world shouldn't one be more cautious and more willing to make it be received better? I mean, just be a little bit more attentive before shouting out «Hey, this is a project I wish the public uses!».
If a person was holding that icon they would be facing Northwest (assuming "front" is at the top of the icon).
Seems a bit counterintuitive for a logo, but I'm obviously the one that's wrong, here. Sorry!
However, if you were to change the needle, then it would be wrong. So, I'm not sure that there is a way out of this. Without just dropping the compass.
Sadly, I my harddrive crashes completely a while back and all files on my side have been lost. However, Roger Wang still has a PSD, and I e-mailed him if he could send it to me again. He said he still had it and would e-mail it back, but he probably forgot. I'll contact him again. So I can at least properly export the icon, and make it available as a download.
Any suggestions or feedback is always appreciated!
Looks like they have migrated to io.js as well.
It is all about desktop apps, right?
node-webkit is an app runtime based on Chromium and node.js. You can write native apps in HTML and JavaScript with node-webkit. It also lets you call Node.js modules directly from the DOM and enables a new way of writing native applications with all Web technologies.
So I suppose it's about desktop apps ("native" must mean "desktop").(Not that I'm against learning new things, but I only do so when there is a reward. Qt Quick isn't "enough better" than the web to justify it.)
I have a lot of pleasure to ship software developed with nwjs, there's plenty of choice and the issues are well known (esp. for a new thing like this).
It can be weird if you are used to HTTP server > client as it's possible within a script tag to use Node.js API's.
An advantage with going desktop instead of browser is that you can do much more and it's easier to sell your application. There are for example already games on Steam that are just web apps, but using NW and run "natively" on the desktop.
You do not need an SDK, or full blown IDE, just use your usual tools. I program in Notepad myself. Just write html and JS files and treat NW as just another browser. Then package and distribute your app and the user wont notice or care that they are using a "browser".
We use nwjs with lot of files + sqlite3[1] + bluetooth + http + child synchronization for tasks in other languages[2].
It works well, scale well, is cross-platform with changing very few of the application code (the build process is quite complex, thought).
Also, building an html with bootstrap, eventually with the chrome developer tools, takes agility to a whole new level when we speak about desktop applications.
[1] With http://bookshelfjs.org/ but http://sequelizejs.com/ is better in most cases
[2] With https://github.com/primus/primus we spawn watchdogs which run processes (via http://nodejs.org/api/child_process.html). It's very effective.
I also like the node way of not forcing a window and instead using an entry.js to bootstrap anything you want, more freedom, especially handy on tray apps.
Am I correct in assuming that the end users need Node Webkit (or NWjs) installed before this runs? That means Node as well?
Instead of doing proof of projects in C# or Obj-C or C++, this could be a great time saver.
I've seen the build instructions but it seems they all need Node installed and the node-webkit path referenced.
Congrats to the NW team.
A few months ago I looked into creating desktop apps with JavaScript and found Node-Webkit and the Atom-Shell. AS seemed to bloated for my taste, but I found NW was kinda stale, back in the days.
I've been going down the AS route as I too found Node-Webkit was stale and AS was very active.
I may switch to NW.JS if the reasons are compelling enough though...
Amazing how many comments there are about this though. It's a mental illusion, like "what do cows drink?"
I'll just come back tomorrow then. Seriously, though, is this tool complete enough for people that are focused on building things rather than playing with trendy toys?
Genuinely intrigued and interested, how is this different/better?
Edit: Oh yeah I forgot HN isn't about answering honest questions, if you dislike something then you downvote it... fucking lame.
Nothing to do with a server framework as it's at the other end of the pipe. ;)
The site doesn't do much to explain that though, so here's a presentation:
https://speakerdeck.com/zcbenz/node-webkit-app-runtime-based...
Edit: Oh yeah, sometimes folks do answer honest questions ;)
That somebody didn't know about deployment (server vs. client) differences between two young frameworks for building single page applications?
My first reaction was that the projects are completely different and the question must have been grounded in a complete misunderstanding of what NW is, but as I think more I realize that there are some notable similarities.
Meteor synchronizes the clients and server in such a way that it seems they're running in the same process on the same machine, and the only thing the developer need worry about is adding some declarative configuration for security and efficiency (obviously this simplifies things a bit).
NW actually makes the client and server run in the same process on the same machine (or rather the parts of the stack that typically run on the client and server respectively).
The parent comment asked a question which may well have provoked an interesting discussion into a topic like this. And although its phrasing may have been a little blunt, it didn't come across as rude. If we assume that evo_9's comment was honest confusion rather than laziness, it's then only fair to assume Kiro's was founded in genuine interest as to where the confusion lies.
Now that I think about it they are both quite similar ("build apps with node.js/html/js/npm") and very different at the same time (webserver vs chromium runtime), so both questions are fair.