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]: 384khz playbac k HOT 1
- [Bug]: require() doesn't work despite any chsnges HOT 1
- [Bug]: There is an issue with the title bar button HOT 3
- [Bug]: desktopCapturer.getSources is not throwing any error and not returing any thing. HOT 1
- [Bug]: alwaysOnTop property does not work when using screen sharing with microsoft teams on windows. HOT 1
- [Bug]: win.focus() cannot focus and display the window in BrowserWindow
- [Bug]: [65930:0402/195339.772780:ERROR:CONSOLE(1)] "Request Autofill.enable failed. {"code":-32601,"message":"'Autofill.enable' wasn't found"}", source: devtools://devtools/bundled/core/protocol_client/protocol_client.js (1) HOT 1
- [Bug]: Cannot get WebGPU adapter in Linux. HOT 5
- [Bug]: When menu item has label equal to `Preferences` word it becomes `Settings...` HOT 1
- [Bug]: 'did-fail-load' is not happening if JavaScript fails to load HOT 3
- Unknown Error While connecting real device with appium inspector HOT 1
- [Bug]: Electron App Hangs HOT 1
- [Bug]: Setting up and clicking on Windows notifications HOT 2
- [Feature Request]: expose process.crashReporter.adExtraParameter to utility processes HOT 1
- [Bug]: Unable to create status tray icon on Windows 10 HOT 2
- [Bug]: contextBridge.exposeInIsolatedWorld with worldId 999 is not exposing the API in isolatedContext (preload.ts file) HOT 3
- [Bug]: An error when trying to install electron-forge HOT 1
- [Bug]: appendSwitch('disable-dawn-features', 'disallow_unsafe_apis') not working HOT 1
- [Bug]: New project Prod build crashes during startup on Apple Silicon HOT 1
- [Bug]: sandboxed electron app fails when running as admin
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.