Coder Social home page Coder Social logo

awesome-electron's Introduction

Awesome Electron Awesome

Useful resources for creating apps with Electron

Electron is an open-source framework for creating desktop apps using web technologies. It combines the Chromium rendering engine and the Node.js runtime.





Check out my latest app

One Task
Stop procrastination and get stuff done by focusing on one task at a time






Contents

Apps

Made with Electron.

Open Source

Featured
Other
  • Git-it - Teaches you Git and GitHub.
  • Caprine - Unofficial Facebook Messenger app.
  • Simplenote - Note keeper.
  • Abricotine - Markdown editor with inline preview.
  • Kap - Screen recorder with GIF support.
  • Medis - Redis database management.
  • SmartMirror - Voice controlled smart mirror.
  • Beaker - Browser with peer-to-peer web protocols.
  • KeeWeb - Unofficial KeePass app.
  • Gitify - GitHub notifications in your menubar.
  • SpaceRadar - Interactive disk space and memory visualization.
  • Leanote - Cloud notepad.
  • Loop Drop - MIDI looper and synth for live electronic music performances.
  • Pomodoro - Timer based on the Pomodoro Technique.
  • Sia-UI - Decentralized file storage system based on cryptocurrency technology.
  • MarkRight - GitHub flavored Markdown editor with live preview.
  • Sqlectron - SQL client.
  • Light Table - Code editor with instant feedback.
  • Google Play Music Desktop Player - Unofficial Google Play Music app.
  • Chrome DevTools - Chrome DevTools packaged as an app.
  • Proton - Markdown editor with live preview.
  • Hawkpass - Password generator.
  • Boostnote - Markdown note & code snippet app for developers.
  • Before Dawn - Screensaver tool.
  • Catify - Utility for Spotify.
  • Ansel - Image organizer.
  • Tockler - Tracks your time.
  • Mattermost - Mattermost client.
  • Crypter - Secure encryption client.
  • YakYak - Unofficial Google Hangouts app.
  • Museeks - Music player.
  • Sabaki - Go/Baduk/Weiqi board.
  • Wire - Messenger and calling app.
  • Extraterm - Terminal.
  • Stacer - Ubuntu system optimizer.
  • Inpad - Notes app with GitHub-flavored Markdown.
  • Cerebro - Launcher with inline previews.
  • LosslessCut - Lossless video trimming & cutting.
  • Buka - E-book management.
  • Insomnia - Create and manage HTTP requests.
  • Tusk - Unofficial Evernote app.
  • Buttercup Desktop - Password manager.
  • Mailspring - Extensible email client. (Fork of Nylas Mail)
  • Headset - Discover, collect, and listen to music from YouTube.
  • Nuclear - Music player that streams from free sources.
  • Mark Text - Real-time preview Markdown editor.
  • Pomotroid - Pomodoro timer.
  • Netron - Visualizer for deep learning and machine learning models.
  • Etcher - Flash OS images to SD cards and USB drives.
  • Notable - Markdown-based note-taking.
  • Unsplash Wallpapers - Set desktop wallpaper from Unsplash.
  • Motrix - Download manager.
  • Franz - Skype, Slack, Hangouts, WhatsApp, Grape, Telegram, FB Messenger, Hipchat in the same app.
  • Gmail Desktop - Unofficial Gmail app.
  • Upcount - Invoicing.
  • ExifCleaner - Clean image metadata with drag and drop.
  • massCode - Code snippet manager for developers.
  • Swifty - Password manager.
  • MQTTX - Client for MQTT, which is a lightweight messaging protocol.
  • LightProxy - Web debugging proxy.
  • Beekeeper Studio - Cross-platform SQL editor and database manager.
  • Mouseless - Keyboard shortcut training and look-up.
  • Glyphfinder - Unicode character search.
  • Graviton Editor - Cross-platform code editor.
  • Yana - Notebook app with rich-text notes, nested note organization and global search.
  • SpaceEye - Live satellite imagery for your desktop background.
  • Heroic Games Launcher - Alternative Epic games launcher.
  • VIR - Intelligent time manager with automatic planning.
  • Browserosaurus - Browser prompter for macOS.
  • linked - Daily journal.
  • shadowsocks-electron - Cross-platform Shadowsocks client.
  • Sigma File Manager - Modern file manager.
  • Ostara - Monitor and interact with Spring Boot apps via Actuator.
  • PikaTorrent - BitTorrent client.
  • Wave Terminal - Open-source terminal with AI integration.

Closed Source

Featured
  • Rosefinch - Store and run SQL queries.
  • Nota - Pro writing app designed for local Markdown files.
Other
  • GitKraken - Git client.
  • 1Clipboard - Universal clipboard manager.
  • Postman - Create and send HTTP requests.
  • Slack - Desktop version.
  • Avocode - Share design and collaborate.
  • Prepros - Compile almost any preprocessing language with live browser refresh.
  • Stremio - Media center.
  • Typetalk - Share and discuss ideas with your team through instant messaging.
  • Pingendo - Bootstrap prototyping.
  • Spreaker Studio - Audio recording and broadcasting.
  • MockingBot - Prototyping tool for designing apps.
  • Caret - Markdown editor.
  • Remember - Business card management. (Korean)
  • MongoDB Compass - Official MongoDB app.
  • Freeter - Organizer for freelancers & creatives.
  • WhatsApp - Official WhatsApp app.
  • CatLight - Build status notifier.
  • Discord - Voice and text chat.
  • Cocos Creator - Game editor for creating web and native games for Cocos2D-x.
  • Inkdrop - Markdown notebook for hackers.
  • Exodus - Secure, manage, and exchange blockchain assets like Bitcoin and Ethereum.
  • Hackolade - Data modeling for NoSQL and multi-model databases.
  • CashNotify - Monitor your Stripe accounts from your menu bar.
  • Mockoon - Mock servers in seconds.
  • Twitch - Official Twitch app.
  • FenΓͺtre - Picture-in-picture for your Mac.
  • Cleavr - Provision servers and deploy web apps.
  • Brandy - A brand asset manager for your menu bar.
  • Cacher - Cloud-based, team-enabled code snippet manager with Gist sync.
  • MusicPlus - Free music app for macOS and Windows.
  • Mingo - MongoDB GUI.
  • Moon Modeler - Schema design tool for MongoDB, Mongoose, and MariaDB.
  • Notion - All-in-one workspace for your notes, tasks, wikis, and databases.
  • FATpick - Guitar tablature viewer that scores your performance as you play along.
  • Taskade - Realtime organization and collaboration tool for distributed teams with tasks, notes, and chat.
  • Coloban - All-in-one project management tool with chats, Kanban, Gantt, calls, screenshare, and more.
  • Dynobase - AWS DynamoDB GUI.
  • Lotus - Keep up with GitHub notifications without stress.
  • RunJS - Playground for JavaScript and TypeScript.

Samples

  • Electron API usage - Sample apps illustrating usage of Electron APIs.
  • Screen Recorder - WebRTC screen recorder.
  • Activity Monitor - Shows a doughnut chart of the CPU system, user, and idle activity time.
  • Hash - Shows the hash values of entered text using different algorithms.
  • Prices - Shows the current price of oil, gold, and silver using the Yahoo Finance API.

Boilerplates

Tools

For Electron

Using Electron

Components

  • menubar - Menubar app framework.
  • React Desktop - UI toolkit for macOS and Windows built with React.
  • chrome-tabs - Chrome like tabs.
  • Xel - Widget toolkit for building native-like apps.

Documentation

Articles

Books

Videos

Podcasts

Community

Contribute

Contributions welcome! Read the contribution guidelines first.

Related

awesome-electron's People

Contributors

alchaplinsky avatar alexstrat avatar arthurvr avatar brrd avatar brunowego avatar ishu3101 avatar jprichardson avatar jwu avatar kalpetros avatar kilian avatar marshallofsound avatar mawie81 avatar parro-it avatar pt2121 avatar ragingwind avatar rezach avatar rhysd avatar rokt33r avatar sbruchmann avatar sethlu avatar sidneys avatar sindresorhus avatar spekulatius avatar teesloane avatar ttmarek avatar vitorgalvao avatar xwartz avatar yoannmoinet avatar zeke avatar zenorocha avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

awesome-electron's Issues

Is Brave still Electron-based?

I heard in an interview with a Brave dev (on The Changelog) that Brave is going to rebase itself on a Chromuim fork as opposed to being an electron app.

Can anyone confirm that is is what has happened and if so, remove it from this list?

share menu extension for macOS?

I'm wondering how to generate a share menu extension to share stuff with an Electron application.
Is this exclusively a macOS thing or are there any tools to make this happen?

Package add suggestions

There are a few projects you may want to add to your list:

electron-builder

Create installers for Windows and macos

electron-updater

Cross-platform, js/npm based auto-updater

I'm working on the updater module. It would be nice to have community endorsement / contribution.

[Question] Disabling CORS

Hi,

I am planning on creating a desktop app with Vue and Electron. This is some kind of a monitoring application that frequently pulls data from an external API. Naturally, when fetching the data using Axios, I am getting blocked by CORS. I know that disabling the webSecurity is not ideal but this is the only way I can successfully pull the data.

I am sending the credentials on each request to retrieve the data because JWT authentication has not been implemented yet.

Question: Is it still safe to proceed with the webSecurity disabled? Very few people would use the app (less than 8) and it would not be distributed to anyone outside of the organization. Also, we only have 1 dedicated account that can pull the data and it is shared to everyone in our team.

Broken link

In the Articles of awesome-electron, the fifth list item, How To Make Your Electron App Sexy, redirects to a page that seems to no longer be available.
He doesn't seem to have the articles up on medium or any other blog site, so, the redirect's link cannot be changed.

Vivaldi is electron-based?

I took a quick look at the inside of the Vivaldi deb file, and the file layout seems considerably different from electron's. The executable itself is tiny and libnode and such are missing.

Where exactly is it mentioned that Vivaldi is based on electron? Just wondering, as I'm sure we don't want to mislead people.

Nightmare

Isn't an alternative to phantomjs as much as it is an add-on for it.

wagonhq url is invalid

Hello, I just noticed that the Wagonhq URL does not work, replacing https by http seems to work.

Built on Electron pull request and order of featured applications

I have noticed people make pull request to add their icon on top of the row. I keep checking regularly on what's new on the list. It is difficult to keep track of icons getting here and there each time someone adding it.

May I propose
1.Featured Section: where only known developers like Microsoft Facebook and other big names can put pull request. Electron team can arrange them however you like.
2.Other section: where it must be at the end and not in middle of lines.

it will make it easy for people like me to follow up on progress and community efforts.

The Respose of Electron App is very slow

Electron version:0.37.2
Operating system:Windows

I have created an electron app as a wrapper of a website.
Below is the code:
Dev Package.json:
{
"devDependencies": {
"electron-builder": "^3.27.0",
"electron-prebuilt": "^0.37.2"
},
"build": {
"app-bundle-id": "EnterpriseSearch",
"app-category-type": "public.app-category.productivity",
"ignore":"node_modules/electron-osx-sign-tf,node_modules/archiver",
"win": {
"iconUrl": "http://eatodo.s3.amazonaws.com/icon.ico"
}
},
"scripts": {
"postinstall": "install-app-deps",
"start": "electron ./app --enable-logging",
"dev": "NODE_ENV='development' npm run start",
"dist": "npm run dist:win64",
"dist:win64": "build --platform win32 --arch x64"
}
}

Application Package.json:
{
"name":"EnterpriseSearch",
"version":"0.1.0",
"main":"main.js",
"author":"TCS",
"description": "This is a desktop app for Enterprise Search."
}

Main.js:
if (require('electron-squirrel-startup')) return;
var app = require('app');
// this should be placed at top of main.js to handle setup events quickly
if (handleSquirrelEvent()) {
// squirrel event handled and app will exit in 1000ms, so don't do anything else
return;
}

function handleSquirrelEvent() {
if (process.argv.length === 1) {
return false;
}

const ChildProcess = require('child_process');
const path = require('path');

const appFolder = path.resolve(process.execPath, '..');
const rootAtomFolder = path.resolve(appFolder, '..');
const updateDotExe = path.resolve(path.join(rootAtomFolder, 'Update.exe'));
const exeName = path.basename(process.execPath);

const spawn = function(command, args) {
let spawnedProcess, error;

try {
spawnedProcess = ChildProcess.spawn(command, args, {detached: true});
} catch (error) {}

return spawnedProcess;
};

const spawnUpdate = function(args) {
return spawn(updateDotExe, args);
};

const squirrelEvent = process.argv[1];
switch (squirrelEvent) {
case '--squirrel-install':
case '--squirrel-updated':
// Optionally do things such as:
// - Add your .exe to the PATH
// - Write to the registry for things like file associations and
// explorer context menus

// Install desktop and start menu shortcuts
spawnUpdate(['--createShortcut', exeName]);

setTimeout(app.quit, 1000);
return true;

case '--squirrel-uninstall':
// Undo anything you did in the --squirrel-install and
// --squirrel-updated handlers

// Remove desktop and start menu shortcuts
spawnUpdate(['--removeShortcut', exeName]);

setTimeout(app.quit, 1000);
return true;

case '--squirrel-obsolete':
// This is called on the outgoing version of your app before
// we update to the new version - it's the opposite of
// --squirrel-updated

app.quit();
return true;
}
};

var BrowserWindow = require('browser-window');

var win = null;

//app.commandLine.appendSwitch('ignore-certificate-errors');
//app.commandLine.appendSwitch('disable-http-cache');
//app.commandLine.appendSwitch("disable-renderer-backgrounding");
app.on('ready', function() {
win = new BrowserWindow({webPreferences: { nodeIntegration: false}});

win.loadUrl('https://enterprisesearch.ultimatix.net/enterprisesearch/');

win.on('closed', () => {
// Dereference the window object, usually you would store windows
// in an array if your app supports multi windows, this is the time
// when you should delete the corresponding element.
win = null;
});
});

// Quit when all windows are closed.
app.on('window-all-closed', () => {
// On OS X it is common for applications and their menu bar
// to stay active until the user quits explicitly with Cmd + Q
if (process.platform !== 'darwin') {
app.quit();
}
});

I have build the installer using electron builder.
But final exe takes around 1 minute to load and display the page.
How can I improve it's performance.

npm install awesome-electron

@sindresorhus I'm thinking of building a JSON tree from the contents of README.md. Would you be interested in a PR that makes this repo a requireable npm module that exports that tree?

Idea -- Extensible PDF/Document viewer based on Electron

Not sure if this is the write place for this, but just putting an idea on the table that I would love to see -- creating an extensible PDF viewer based on Electron, possibly forked from Atom Shell the way Nylas is doing for email.

The hard part of rendering PDFs is already handled nicely by PDF.js, so it would be a matter of integration it into the Electron framework.

Another awesome electron-related podcast

Hey,

There's another podcast episode with Jessica Lord talking about electron and how it came to be.
This time on "NodeUp: A Node.js Podcast" (NodeUp is already on awesome-nodejs list)
"onehundredseven - 1:1 w/ Jessica Lord" http://nodeup.com/onehundredseven

I listen to these NodeUp podcasts, and this episode got me into electron application development, so i really think it's awesome and should be on the list πŸ‘

add Trilogy

Hi,
please consider adding Trilogy:

trilogy is a Promise-based layer over SQLite, featuring type-casting schema models and allowing both native & pure JavaScript backends ( and in-memory databases ).

https://github.com/citycide/trilogy

@citycide

Discussions

I have enabled the Discussions feature. It would be a good place to ask Electron related questions, show off your prototypes, get feedback on your projects, etc. Please be kind and constructive.

This issue can be used for discussing adding new categories and other meta things.

Don't use discussions for suggesting additions to the list.

Nylas N1 has been forked over to Mailspring

Hi there, great comprehensive list you've put together there!

Just thought I'd point out that the original devs behind Nylas N1 have ported it over to a new project called Mailspring, which is also using Electron.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    πŸ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❀️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.