Comments (5)
I just added a section on development in Wiki, you can find build instructions there: https://github.com/atom/atom-shell/wiki#development.
Currently many basic features have been implemented for atom-shell on Windows, but there are still a lot of work need to be done:
- Native node module support
- Window menu API
- File dialog API
- Auto updater
- Crash reporter
- Some other little features
Of course the auto updater and crash reporter are not necessary at first.
After the Windows support of atom-shell is done, we need to make sure all native node module used by Atom work well, some of them are heavily platform-dependent (like node-pathwatcher and node-spellchecker), so it would take some time.
After all these had been done, I think we could start working on Atom for Window.
from electron.
Native node module support
Can you tell me more about this? I grok everything else but this one I'm not sure I fully understand. Do you mean, being able to compile native node modules?
from electron.
I mean being able to both compile and load native node modules.
Usually with npm
, native modules are built against upstream node's headers and libraries (node.lib), so they can not be loaded by atom-shell because atom-shell is using a different version of V8 which is shipped by Chromium.
In order to make atom-shell support native modules, we need to provide our own headers and node.lib
, which can tell the linker to link the module to atom-shell's binary, and then use npm
or node-gyp
to compile modules against them, this part will be done by apm
.
In Mac and Linux, this is relative easy because providing correct headers is enough to compile native modules for atom-shell, however in Windows, we need to provide an import library file node.lib
, which makes things more complicated because we not only need to link the module to atom-shell's executable, but also the libchromiumcontent.dll
.
from electron.
I think we should close this out now and instead focus on the specific remaining issues. Thoughts?
from electron.
Agreed.
from electron.
Related Issues (20)
- [Bug]: recentDocuments not populating
- [Bug]: Crash when adding child view HOT 4
- Electron SIGSEGV Error When Running in Docker Container HOT 2
- [Bug]: HTML Drag and Drop API not returning event.dataTransfer.files array consistently on all Electron versions
- [Bug]: BrowserView's content is visually wiped when vibrancy is set on Electron version 30 and up
- [Bug]: node_modules/electron/dist/electron exited with signal SIGSEGV HOT 1
- [Bug]: Clicking on the color picker doesn't do anything HOT 4
- [Bug]: New Protocol.handle vs Protocol.registerFileProtocol does not fetch files properly.
- [Bug]: Crash base::subtle::RefCountedBase::ReleaseImpl() EXCEPTION_ACCESS_VIOLATION_READ HOT 1
- [Bug]: Capturing the screen is broken in the newer version (desktopCapturer) HOT 2
- gitHub.com/docker/repo
- [Feature Request]: add config.hideDock to BrowserWindow.setHiddenInMissionControl
- [Bug]: Calling session.defaultSession.webRequest.onHeadersReceived after ready and before window creation causes silent crash
- webContents.getPrintersAsync() not returning printer list on Linux Mint Cinnamon 19.1 HOT 3
- [Bug]: Frameless BrowserView.setAutoResize() is broken in v30.0.1
- [Infra]: Test check CI failed to execute because of npm package not found HOT 3
- [Bug]: <input type="file"> is not showing dialog on click HOT 7
- [Bug]: app.setLoginItemSettings({ openAtLogin: true }) doesnt work in APPX after publishing it.
- [Bug]: <input type=file> not working in WebContentsView HOT 1
- [Bug]: Occasional segfault when closing window on Linux
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from electron.