9 ms·
Atom Shell is now Electron
- adrusi 11y agoWhat does Electron do differently from NW? I get that one is Chromium and the other is just webkit, but what concrete, practical differences are there?
- dubcanada 11y agoBoth are Chromium. Node Webkit has a forked version of Chromium Source with modifications (removed the event handler and replace with NodeJS one and a bunch of others). Seen at https://github.com/nwjs/chromium.src https://github.com/nwjs/chromium.src Electron uses the Content framework and has no modifications to Chromium. Directly calling the required parts from the source (example https://github.com/atom/electron/tree/master/chromium_src/chrome/browser/extensions https://github.com/atom/electron/tree/master/chromium_src/ch...). That is the major difference, in regards to architecture. Basically in Atom you need to create the Window, and in NodeWebkit you always have a Window and you need to do stuff to that Window. The other ones include things like backers, NodeWebkit is backed mostly by Intel, as one of their developers is who is building it. Atom is backed by Github bunch of others.
- brianzelip 11y agoHere's a Stack Overflow answer to that question: http://stackoverflow.com/questions/23509356/node-webkit-vs-electron http://stackoverflow.com/questions/23509356/node-webkit-vs-e...
- AdrianRossouw 11y agoThere's a wiki entry for that : https://github.com/atom/electron/blob/master/docs/development/atom-shell-vs-node-webkit.md https://github.com/atom/electron/blob/master/docs/developmen...
- jjangsangy 11y agoYou guys should probably release nucleus before hooli does!
- yzh 11y agoI'm expecting neutron and proton too, that will make a whole atom.
- samatman 11y agoThat's a deuterium, it's a whole particle more than you need.
- yellowapple 11y agoElectron's / Atom Shell's homepage isn't doing a good job of explaining what it is (as someone who's unfamiliar with it). Is it a site-specific-browser implementation? It's certainly not a "shell" in the normal sense of the term.
- tetrep 11y ago>Electron is the cross-platform application shell we originally built for the Atom editor to handle the Chromium/Node.js event loop integration and native APIs. Sounds pretty straightforward to me. They created APIs for Node.js to allow people to make cross-platform applications, such as Atom (a text editor).
- AdrianRossouw 11y agointeresting to see how many things have already switched to building on electron. Slack, Mapbox and more.
- netcraft 11y agoIm curious about the name change. What do they stand to gain from losing all of the history of atom shell search results?
- AdrianRossouw 11y agoi think it's because electron is being used to build more than just atom. having it be that deeply associated with the other brand reduces the visibility of the project?
- Igglyboo 11y agoAtom Shell is no longer tied to Atom the text editor by name. It makes sense to change the name as Electron becomes more popular in projects outside of Atom.
- phillips1012 11y agoIt would still be easy to find the project via google. Just googling "atom-shell" will probably get you this article, and from there a user would figure out that it's been renamed.
- cos2pi 11y agoBecause now they can write a blog post about it, which duly appears on HN's front page.
- frik 11y agoIs it suitable for WYSIWYG or a plain text & source code editor? Does it originate initially from Mozilla's Ace text editor? https://github.com/ajaxorg/ace https://github.com/ajaxorg/ace The name changes are a bit confusing (Mozilla Bespin -> Skywriter -> Ace ->(?) Atom -> Electron).
- mikewhy 11y agoAtom Shell != Atom It is the, well, shell of the Atom editor.
- quanticle 11y agoSo, it looks like there's a number of things you're confused about. First, Atom doesn't have anything to do with Mozilla's Ace or Bespin. Ace and Bespin (now Cloud 9) are tools that live on a server, which you access through a browser. Atom is a completely separate project (started by Github, not Mozilla) to build a native text editor using web technologies. The text editor is a native application, but it exposes a Javascript API for plugins. After a while, Github realized that the infrastructure needed to make Atom work (e.g. installers, updates, notifications, etc.) could also be used by other projects, so that code was split off into "Atom Shell". It's this project that's getting renamed to "Electron".
- ars 11y agoThat's a seriously confusing name. I thought this was a physics story of some kind. Additionally it's also a bad name because it's impossible to google.
- quanticle 11y agoIt's not any more difficult to Google than "Go", or "Python". I mean, we're talking about board games and snakes, right? :)
- ars 11y agoAnd those are in fact bad names. Just because they are used and popular doesn't make them good names. I forget which language it was, but someone interviewed the creator and he said if he had to do anything different he would not have named it something so hard to google.
- catshirt 11y agois your standard for a bad name really "hard to google"? Apple? C? when something gains critical mass it's really irrelevant anyway, since they become easy to google (atom shell is already a front page result for "electron"). or is the argument that they are bad names because they are not "relevant"? again.. Apple... C... if anything i'd say "electron" is super cliche and exactly the type of name i'd expect a library to have.
- ars 11y ago> is your standard for a bad name really "hard to google"? It's not the only one, but it's certainly important. Especially for more obscure projects, or things that users will have lots of question about, if you can't google it, it's not going to succeed. > Apple? C? Really? Those are you examples? Both of those were named before google even existed. They are very large, and hardly obscure. They don't need any help to be found. > or is the argument that they are bad names because they are not "relevant"? No, that's not the argument. > if anything i'd say "electron" is super cliche and exactly the type of name i'd expect a library to have. Maybe you expect it, but it's a terrible name.
- anon3_ 11y agoThe thing that turned me away from Atom and its' development is CoffeeScript. As someone who loves idiomatic JS, I still can't get why you'd pick a language that makes tooling and debugging a nightmare. It's also a kick in the gut to efforts to fix the shortcomings of ECMAScript like ES6 [1]. [1] https://github.com/lukehoban/es6features https://github.com/lukehoban/es6features
- gmac 11y agoYour comment fills me with equal parts irritation and curiosity, just because it's so far from my experience. I use CoffeeScript every day, and I experience not even the mildest of tooling or debugging hiccups. And I find CoffeeScript hits such a sweet spot — some of the best bits of Ruby and Python syntax, with the first class functions and raw speed of JavaScript. Mozilla's source maps implementation is pure JS, so you can take that anywhere (e.g. I use it with JavaScriptCore on iOS). Can you elaborate on these nightmares?
- sesteel 11y agoI second this; though, to be fair, source maps in AtomShell have been flaky at times when selecting breakpoints with CoffeeScript. I have turned my source mapping off and debug the unminified resultant JavaScript.
- thom_nic 11y agoYou actually don't have to touch coffeescript to develop for Atom or Electron. EDIT: here's a demo app with zero CoffeeScript: https://github.com/thom-nic/electron-demo https://github.com/thom-nic/electron-demo
- spinlock 11y agoThat's like saying you won't use Rails because it's written in Ruby and not C. Also, it's nice to work in a language that has the right features and not just all the features. I like CoffeeScript as much for what it doesn't have as for what it does have. I recently saw this piece of code: new Array(26) .map(function (item, index) { return String.fromCharCode(65 + index); }) as a "heads up" for map lovers. That's the kind of code that people write when they're tacking the latest new feature onto someplace that it doesn't belong. This code isn't just semantically wrong, it's stylistically wrong. Having a less schizophrenic language helps jr guys avoid code like the above.
- zyxley 11y agoThis would interest me more if there was a good automatic build process for it (in the style of node-grunt-webkit-builder). As it is you still have to do a bunch of the packaging manually (or design your own shell script for it), and for whatever inane reason, `npm install electron-prebuilt` only downloads the binary for your current platform, so you can't even make a replicable build process by using it as a base and using scripts that copy the different binaries.
- cygnus_a 11y agoWait, this article isn't about physics? boooooring
- teleclimber 11y agoI'm glad to see Electron / Atom-Shell moving forwards, but I wish they'd publish a roadmap. There are things (like copy/paste) that are lacking and I'd like to know what the plans are. As it stands it's mostly a wait-and-see kind of deal, which is a bit disconcerting on big projects.
- hobarrera 11y agoIs it me, or does it sound a bit bloated: > It now includes automatic app updates, Windows installers, crash reporting, notifications, and other useful native app features * automatic app updates : We have distribution repositories for this. * windows installers: Doesn't window have it's own like app store now (market something?) * notifications: which we already had on all major OSs for years.
- RobAley 11y agoObviously you don't have to use any of those features, they won't slow your app down just by being available (maybe a tiny overhead in distributed code size, but meh). - auto updates : primarily useful for commercial software that isn't "eligible" for, or chooses not to pay to use, commercial app stores. Or other apps that for whatever reason don't meet the criteria for public repositories and don't want the hassle (for the publisher or consumer) of using a private repo. - Windows installers : same reasoning as above. - Notifications : I believe its a standardised cross-platform api onto the existing system-specific notification apis, not a new notification system.
- stuaxo 11y agoAwesome, may they continue naming things after Acorn computers of the 80s.
- ilaksh 11y agoWould it be possible to combine the project with Cordova? I don't use PCs or laptops anymore because they are outdated.