10 ms·
NW.js
- deleted 12y ago[deleted]
- mkohlmyr 12y agoWrote my first node-webkit app the other week, pretty enjoyable experience overall. Very easy to do as someone with web development experience. Also it seemed appropriate as I was already running https://github.com/mixu/nwm https://github.com/mixu/nwm as my window manager ;)
- evo_9 12y agoHow is this different than the already awesome Meteor which hit version 1.0 not long ago (and I have to admit it is rocking my world right now, love it). 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.
- tommoor 12y agoThis is quite different to Meteor, allows you to package node and webkit together to create a native-looking desktop application written in Javascript.
- mackwic 12y agoBasically, it's a scriptable desktop application derived from a browser. Nothing to do with a server framework as it's at the other end of the pipe. ;)
- realusername 12y agoThey are not playing on the same market, node-webkit is about creating native apps with node + webkit + web technologies. As an example, Popcorn Time is built with node-webkit.
- netghost 12y agoI think it's completely different. This essentially lets you build local applications that use the dom as the UI and JS as the controlling language. The site doesn't do much to explain that though, so here's a presentation: https://speakerdeck.com/zcbenz/node-webkit-app-runtime-based-on-chromium-and-node-dot-js https://speakerdeck.com/zcbenz/node-webkit-app-runtime-based... Edit: Oh yeah, sometimes folks do answer honest questions ;)
- imslavko 12y agoThey are different in purpose and features. If anything, Meteor would use Node-Webkit to assist building desktop apps, the same way Meteor is using Phonegap to build mobile apps.
- Kiro 12y agoWhat made you draw the conclusion that this is anything like Meteor?
- 16bytes 12y agoWhat made you draw the conclusion that your comment was contributing to the discussion? That somebody didn't know about deployment (server vs. client) differences between two young frameworks for building single page applications?
- adrusi 12y agoActually I think it would be quite interesting to know what caused the confusion. 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.
- Kiro 12y agoI wasn't trying to be snarky. I was just interested.
- 16bytes 12y agoApologies, as I misinterpreted your short reply. It was a bit odd have "how is A different than B?" replied to as "well, how is A similar to B?". 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.
- Igglyboo 12y agoThis is completely different than meteor. Meteor is for making realtime web applications, this is for making desktop applications by leverage existing web technology (html/css/js).
- sqyttles 12y agoI wonder what performance would be like for multimedia applications or gaming (which are usually written in strongly-typed, compiled langs like C++).
- xutopia 12y agoPeople will downvote if it's irrelevant to the discussion.
- bgun 12y agoNot to be That Guy, but why oh why doesn't the compass in their logo point northwest? :)
- tommoor 12y agoI'll create an issue, I think they're on with a new logo too!
- shittyanalogy 12y agohttp://www.webkit.org/ http://www.webkit.org/
- orivej 12y agoThe compass arrow points to the north, so when it is in the top right, northwest is right on top.
- robert_tweed 12y agoAs someone else put it, this means you are heading northwest. If the needle is pointing northwest, your compass is broken! Amazing how many comments there are about this though. It's a mental illusion, like "what do cows drink?"
- taeric 12y agoBecause then you would be traveling north east? That is, I think the point is you are looking at a compass when you are headed north west. (That make sense? Or am I otherwise just off?)
- mackwic 12y agoBy the way, who use nw here ? How ?
- tommoor 12y agohttps://github.com/nwjs/nw.js/wiki/List-of-apps-and-companies-using-node-webkit https://github.com/nwjs/nw.js/wiki/List-of-apps-and-companie...
- sync 12y agoThis google group message is particularly revealing: https://groups.google.com/forum/#!msg/nwjs-general/V1FhvfaFIzQ/720xKVd0jNkJ https://groups.google.com/forum/#!msg/nwjs-general/V1FhvfaFI... Looks like they have migrated to io.js as well.
- mnutt 12y agoIn addition to the node/iojs reasoning, I think nw.js is a clearer name. Node-webkit makes it sound like it's just webkit bindings for node, whereas it's quite a bit more than that. Fusing the node and webkit runloops together is really pretty amazing.
- jdp23 12y agoAnd it also explains why they changed the name from node-webkit: "because both parts of the name are irrelevant now" (since they're on io.js and Chromium).
- TheAceOfHearts 12y agoI haven't used this new release, but I've played around with it when it was node-webkit. I love the idea of it... But when using it, I found the tooling was lacking. Developing anything on it was tedious :(.
- api 12y agoI've been following this as node-webkit for a while. It's like Qt Quick except it leverages all that's been built for the web and you don't need to waste mental bandwidth learning another new thing. (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.)
- mackwic 12y agoEspecially the full compatibility with all the HTML/CSS/JS widgets for UI, and the npm packages for computing/interfacing. 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).
- jacob2dot0 12y agoIf these guys switch to io.js they no longer will be node or webkit since they use blink under the hood.
- k__ 12y agoGood to know that there is still something going on. 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.
- McKayDavis 12y agoCan you elaborate a bit more on what you found bloated about Atom-Shell over Node-Webkit? 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...
- k__ 12y agoWell, AS seemed rather big to me compared to NW.js, also it wanted me to use a special directory structure for my application.
- hitlin37 12y agonice to see node-webkit in a new form. nw.js looks to be the right tool to write cross-platforms apps. I used some of the apps written using node-webkit and they run great on ubuntu/linux. I've been thinking of re-writing an old application (written using xulrunner) into a nw.js app. Since i'm new to nw.js, its probably good to ask here. As i understand node suits for the application where I/O are required. My application talks a lot from hardware such as getting setting files using network, sending status over the same. The application has its own protocol for talking over the network socket with other devices over the network. Is nw.js is a good choice for such an app?
- mackwic 12y agoSeems like it is. 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/ http://bookshelfjs.org/ but http://sequelizejs.com/ http://sequelizejs.com/ is better in most cases [2] With https://github.com/primus/primus https://github.com/primus/primus we spawn watchdogs which run processes (via http://nodejs.org/api/child_process.html http://nodejs.org/api/child_process.html). It's very effective.
- hitlin37 12y agothanks for the links. sounds good to look at. Other risk part i have in application is calling hw decoders from gst api for playing mp4 videos. not sure how well that is supported in nw.js especially for intel and arm arch.
- hitlin37 12y agothe closest example of the application i have would be some sort of kiosk for rail reservation. people come, select journey and time, do the payment and get the printed ticket. For such a scenario, i'm exploring nw.js.
- deanclatworthy 12y agoI think you have got your marketing messages the wrong way around. Your primary message should be that you can leverage web technologies to build native apps. I think the node thing is secondary to that.
- beefman 12y agoI've been making desktop apps for clients with node-webkit for over a year now, and it's a dream. Popcorn Time and Light Table are both built on it (the latter being written in ClojureScript). Happy to see this change and can't wait to try it out!
- jedisct1 12y agoLooks like this is what Peerio was built with.
- kbody 12y agoAny worthy changes or just the name? Like for instance using libchromiumcontent instead of building chromium like https://github.com/atom/atom-shell https://github.com/atom/atom-shell ? 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.
- chrisrickard 12y agoMuch better name imho. I love node-webkit, although at the moment I am grappling with mp3 support (finding the right version of ffmpegsudo.so that works with the latest nw version)
- premasagar 12y agoOoops. I keep reading it as nsfw.js - I'm not sure what that module would do. Congrats to the NW team.
- sjs382 12y agoIt's strange that the icon is a compass, but it's pointing NE (instead of NW).
- taeric 12y agoCompass needles always point N. If you are looking at a compass and you see one like this, then you are facing NW. (Unless I am completely forgetting how compasses work, of course.)
- pyre 12y agoThis is correct. The compass needle is just a polarized magnet that is floating in solution. One side (usually the red side) points North, and the other side (usually white) points South. If a person was holding that icon they would be facing Northwest (assuming "front" is at the top of the icon).
- sjs382 12y agoI didn't even consider how compasses actually work when thinking about that logo/icon. I just saw it and it looked wrong. :) Seems a bit counterintuitive for a logo, but I'm obviously the one that's wrong, here. Sorry!
- taeric 12y agoI can't disagree that it looked wrong, expecially since this wasn't the only thread that commented on this. 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.
- bentcorner 12y agoA "NW" at the top of the compass would help people realize their error.
- johnmw 12y agoI think it is great just as it is :) It is a little like a visual version of the confusion first caused by a recursive acronym. [http://en.wikipedia.org/wiki/Recursive_acronym http://en.wikipedia.org/wiki/Recursive_acronym]
- oDot 12y agoDoes anyone have a take on how to deal with app's appearance using these kind of tools? While a lot of apps using it look impressive, don't we lose the native look and feel of the OS?
- hit8run 12y agoTherefore I wrote https://github.com/tschundeee/maverix https://github.com/tschundeee/maverix as an OSX Theme :)
- chrisrickard 12y agoMaverix looks great. I certainly see a desktop UI theme gaining traction.. Although a lot of work - be super beneficial to provide 'skins' for yosemite/windows10/gnome etc..
- hit8run 12y agoI thought about creating a meta CSS UI Framework for every major Desktop UI. Would be great to find some contributors to this endeavor..
- hitlin37 12y agowell, there is http://webkitgtk.org/ http://webkitgtk.org/ for webkit on linux.
- fersho311 12y agoFor my understanding, does nw.js accomplish the same thing as browserify?
- munimkazia 12y agoThis is the problem in having a vague landing page which doesn't explain anything. While browserify allows you to use node modules in the browser, NW.js (like node-webkit) allows you to build applications by providing a DOM and browser window. Like popcorntime.
- mmcclure 12y agoNah, they're not really related. Browserify handles dependency management on the browser side, while NW.js allows you to build desktop applications using web technologies.
- cheriot 12y agosite under construction 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?
- pizza 12y agoWhere, precisely, does the problem with creative new programming projects lie? Maybe it's a reinvention of the wheel, but surely by now we all know that wheels are constantly re-engineered, with exotic new materials..
- cheriot 12y agoI'm not sure what you're assuming I asked, but I was actually asking the question I typed. It's impossible to tell from the site what the point is or if it's accomplishes that point. I was hoping someone on HN knew something about it.
- azinman2 12y agoOnly through these comments could I even learn what this does -- build desktop apps in javascript. "NW.js lets you call all Node.js modules directly from DOM and enables a new way of writing applications with all Web technologies." does not tell me that... I thought it meant that in an ordinary web page I could 'require' node modules that used node APIs like stream. It is all about desktop apps, right?
- S4M 12y agoHonestly, I wonder why they don't bother to put an example on the main page. Looking at the github repo of the project [0] (which doesn't have a folder "example" as well), it says: 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"). [0] https://github.com/nwjs/nw.js https://github.com/nwjs/nw.js
- STRML 12y agoThis project's homepage uses the same template as iojs.org (https://iojs.org/ https://iojs.org/) and unfortunately also has the same problem: the front page says almost nothing about the project. 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 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.
- acoyfellow 12y agoThis looks like a great opportunity for someone who is looking to get a gig for tech copywriting, which can be very lucrative. Somebody who has experience writing persuasive and informative copy, and can do a PR, you could have yourself a good resume piece :)
- deanclatworthy 12y agoA very interesting idea. Although there would not be much lucrative work within the OS community.
- rtpg 12y agoIs this a Node-webkit runtime? Like, I install this, and all node-webkit projects can stop bundling NW with the releases?
- moondowner 12y agoOn the GitHub page it says: "node-webkit is renamed NW.js" https://github.com/nwjs/nw.js https://github.com/nwjs/nw.js
- alphaomegacode 12y agoGreat projects & comments. 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.
- faboo 12y agoIt depends on how you've packaged your application. Technically, yes, the user needs NW.js to run your application, but you can ship with NW.js if you like (it's just one fat executable). When NW.js is run, it looks for a NW.js app to run in the working directory, so all the user needs to do is run the NW.js binary you provided and it will launch your app.
- quickvi 12y agoHas anyone been able to combine this with python? I have some python ML code that would be difficult to port to js and it would be nice to be able to pack everything together.
- _greim_ 12y agoWhat's the main use case for this? (e.g. Android or iOS apps, or desktop apps, all of the above, or something else?)
- thomasfoster96 12y agoDesktop apps. It's Node and Chromium together, so you can have a desktop app written in HTML and JavaScript and have access to the APIs that come with Node (so you have access to the file system, etc.).
- deleted 12y ago[deleted]
- z3t4 12y agoNW.js has both the Browser JavaScript API's and the Node.js API's. It is bleeding edge technology witch enable you to make desktop applications the same way you make web apps. 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".