serialport
Electron
Our great sponsors
serialport | Electron | |
---|---|---|
6 | 236 | |
5,691 | 111,866 | |
0.5% | 1.1% | |
9.2 | 9.8 | |
8 days ago | 5 days ago | |
TypeScript | C++ | |
MIT License | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
serialport
-
node-red: the node-serialport does not work on Termux
Everything works very well, except for one detail: the node-serialport doesn't work in Android+Termux environment. You can't use RS232, MODBUS, RS422, or RS485 !!! See here the open issue,
-
Using usb-detection with electron v4 on intel mac
Strangely enough it does package fine with electron-builder but does not work in dev mode. The same happens when I try to use https://serialport.io/ which is also another module where you could achieve device detection.
-
Trying to get access to the USB device in Electron app
We use node-serialport instead of the WebSerial API, since it was only recently that Electron supported WebSerial permission overrides to make things like a 'devices screen' viable. The WebBluetooth APIs are still in a situation where you have to do polling shenanigans to get a full device list. I've found the mutated permissions system leaves a lot to be desired when debugging, whereas the NAPI modules are a lot more straightforward.
-
I've been streaming hardware driver development using node. If you've ever wondered what's involved when talking to hardware, but were put off by needing to know C or kernel internals, you might enjoy this
It really depends. The stuff I'm doing in this video for example is writing a driver stack for a device called the Bus Pirate. Communication is done over serial (which is easy in node with the serialport library). The bus pirate is a device that allows you to talk to other devices over different protocols, including SPI, I2C, and OneWire (as well as bit banging, where you control some electrical signals directly any way you want using software). So while it's not something you'd do directly in production, you can actually test communication with devices in JS in a fast, iterative, interactive way without having to use a microcontroller. You can actually figure out all of your design decisions there and port your code to the microcontroller later if you're building some kind of embedded system device, potentially saving a lot of time and debugging.
-
Lychee never loads
Turns out, there is: https://github.com/serialport/node-serialport/issues/2259
-
Electron to native hardware
We use node-serialport for USB serial communications. It's included in the transport manager renderer process. The installation guide and docs should be good enough to get you started. Hopefully serialport has prebuilds for the combination of system and electron version you're trying. We had to setup an internal prebuilds system and CDN for our app since we'd often find ourselves ahead of the prebuilt versions for node-serialport. Alternatively you can build from source.
Electron
-
Release Radar • February 2024 Edition
The team at Electron have been faithfully shipping new releases almost every single month. I think they had Christmas off 🤔. This popular framework has developers writing cross-platform desktop applications using JavaScript, HTML and CSS. The latest update depreciates some process events, and added new modules, APIs, methods, and more. Read into all the changes in the Electron release notes. This month, Electron also introduced a new formal RFC process.
-
The IDEs we had 30 years ago and we lost
VS Code has been crashing at launch in Wayland since more than eight months ago:
https://github.com/electron/electron/issues/37531
-
Design Systems with Web Components
So we talked a lot about the Atomic Design Principle, but you could just use that in any system and start creating. You could have Angular components, React Components, and Vue Components. But if you notice these don't easily work Everwhere. So the solution is to use Web Components because the modern browser can already understand these, and any Front-End framework can then utilize these components. You can use Electron for desktop (Slack, VSCode), PWA for both Android and iOS, and across all browsers Can I Use.
- Settings · Rulesets · electron/electron
-
How I got Wayland, Vulkan, and hardware acceleration working with Figma on Fedora 39.
I'm noticing a significant boost in performance, crisper text, and better power savings. The only shortcoming is that the window which Figma will run on will lose its shadow. This is due to a technical limitation with frameless windows on Linux.
-
Building Apps with Tauri and Elixir
For the longest time, building desktop apps was a daunting task to web developers. That is, until technologies like Electron made creating these apps more approachable to a wider audience. Today, we’ve got a wide array of native applications built with solutions like Electron, Tauri, Capacitor, and many more. While these are great solutions, sometimes configuration can be tricky and the applications we create can become somewhat bloated in terms of memory usage.
-
MS Teams & Electron libwebp 0-Day Vulnerability
Electron patch for version 27: https://github.com/electron/electron/pull/39823
-
CVE-2023-4863: Heap buffer overflow in WebP (Chrome)
It does, see [0]. Fun fact: Signal desktop, which uses Electron under the hood, is running without sandbox on Linux [1][2].
[0] https://github.com/electron/electron/pull/39824
[1] https://github.com/signalapp/Signal-Desktop/issues/5195
[2] https://github.com/signalapp/Signal-Desktop/pull/4381
-
Capturing at Speed of Thought
Turns out, there is an issue with the electron window not returning focus correctly on mac - https://github.com/electron/electron/issues/5495. The trick to solving is to treat quick capture as a screensaver. When closing, you hide it by setting the opacity to 0 and sending hide: command to the first responder.
-
$Home, Not So Sweet $Home
Open since 2016! https://github.com/electron/electron/issues/8124
What are some alternatives?
johnny-five - JavaScript Robotics and IoT programming framework, developed at Bocoup.
tauri - Build smaller, faster, and more secure desktop applications with a web frontend.
usb - Improved USB library for Node.js
dotenv - Loads environment variables from .env for nodejs projects.
cylon.js - JavaScript framework for robotics, drones, and the Internet of Things (IoT)
Eel - A little Python library for making simple Electron-like HTML/JS GUI apps
i2c-bus - I2C serial bus access with Node.js
puppeteer - Node.js API for Chrome
pigpio - Fast GPIO, PWM, servo control, state change notification and interrupt handling with Node.js on the Raspberry Pi
react-native - A framework for building native applications using React
onoff - GPIO access and interrupt detection with Node.js
cheerio - The fast, flexible, and elegant library for parsing and manipulating HTML and XML.