Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/buntralino/buntralino
Bun library for Buntralino. Buntralino unites Bun and Neutralino.js to make a simpler, lighter alternative to Electron and NW.js. Use Neutralino.js API at client and send harder tasks to Bun while keeping your development process easy.
https://github.com/buntralino/buntralino
bun cross-platform cross-platform-development neutralino xpda
Last synced: 4 days ago
JSON representation
Bun library for Buntralino. Buntralino unites Bun and Neutralino.js to make a simpler, lighter alternative to Electron and NW.js. Use Neutralino.js API at client and send harder tasks to Bun while keeping your development process easy.
- Host: GitHub
- URL: https://github.com/buntralino/buntralino
- Owner: buntralino
- License: mit
- Created: 2024-12-11T13:47:54.000Z (15 days ago)
- Default Branch: main
- Last Pushed: 2024-12-21T15:53:03.000Z (5 days ago)
- Last Synced: 2024-12-21T16:39:04.792Z (5 days ago)
- Topics: bun, cross-platform, cross-platform-development, neutralino, xpda
- Language: TypeScript
- Homepage: https://buntralino.github.io/
- Size: 36.1 KB
- Stars: 6
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: Readme.md
- License: LICENSE
Awesome Lists containing this project
README
![Buntralino logo](./[email protected])
# Buntralino library for the Bun side
Buntralino unites Bun and Neutralino.js to make a simpler, lighter alternative to Electron and NW.js. Use Neutralino.js API at client and send harder tasks to Bun while keeping your development process easy.
Buntralino is a hybrid app development framework that lets you use web technologies (HTML, CSS, JavaScript, TypeScript) to make desktop apps. Buntralino applications work by creating a Bun application that launches and manages Neutralino.js windows. Neutralino.js windows can exchange information with Bun and each other in a client-server model through websockets, with you using a nice promise-based API. Bun is a faster alternative to Node.js or Deno, while Neutralino.js uses native OS' browser and augments it with native functions.
## Usage
```sh
bun install --save buntralino
```
```typescript
import * as buntralino from 'buntralino';/**
* Function map that allows running named functions with `buntralino.run` on the client (Neutralino) side.
*/
const functionMap = {
sayHello: async (payload: {
message: string
}) => {
await Bun.sleep(1000);
return `Bun says "${payload.message}"!`;
}
};buntralino.registerMethodMap(functionMap);
// or buntralino.registerMethod('sayHello', functionMap.sayHello);await buntralino.create('/', {
// Name windows to easily manipulate them and distinguish them in events
name: 'main'
// Any options for Neutralino.window.create can go here
});// Exit the app completely when the main window is closed without the `shutdown` command.
buntralino.events.on('close', (windowName: string) => {
if (windowName === 'main') {
// eslint-disable-next-line no-process-exit
process.exit();
}
});
```Docs on all the functions coming SOON! But the sources are readable and straightforward, you can read them in `window.ts`.
## Development
```sh
git clone https://github.com/CosmoMyzrailGorynych/buntralino.git
cd ./buntralino
bun install
# And you're ready to code!
```