Web to Desktop framework comparison

Overview

Web to Desktop framework comparison

This repository was made to create an objective comparison of multiple framework that grant us to "transform" our web app to desktop application formats.

Table Of Content

Major characteristics

Electron NW.JS Tauri NodeGui Neutralino Flutter .Net MAUI
Github stars 99k 39k 25k 7k 5k 133k 13k
Forks 13k 4k 0.6k 0.2k 0.2k 20k 0.6k
Creation date 2013 2011 2017 2019 2018 2018 2020
Last Update 2021 2021 2021 2021 2021 2021 2021
Framework Language C++, JS, Objective-C, Python C++ Rust C++ C++ C, C++, Dart C#
Usage Language - Back JS, C++ JS, C++ Rust JS, C++ JS, C++ Dart C#
Usage Language - Front HTML, CSS, JS HTML, CSS, JS HTML, CSS, JS HTML, CSS, JS HTML, CSS, JS Dart C#
License MIT MIT MIT MIT MIT BSD 3-Clause MIT
Developer Dependencies Node.js, Electron NPM Package Node.js, NW.JS SDK C++ Compiler, Node.js, Rustc, Cargo, Tauri Bundler Cmake, make, Node.js, NodeGUI NPM Package Node.js, Neu NPM Package Flutter SDK, Visual Studio 2019 / Clang .Net SDK, Visual Studio (optionnal), WebView2 (optionnal), Xcode (optionnal)
User Dependencies None None None None None None None
npm/yarn module support ✔️ ✔️ ✔️
Engine Chromium Webkit, Chromium WRY (WebKitGTK for Linux, WebKit for MacOS, Webview2 for Windows) Qt WebkitGTK+ Flutter engine .NET MAUI

Operating systems support

Electron NW.JS Tauri NodeGui Neutralino Flutter .Net MAUI
Developement Environment Windows ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️
MacOS ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️
Linux ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️
Target Environment Windows ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️
MacOS ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️
Linux ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ Soon
Android Requested Soon1 ✔️ ✔️
iOS In progress1 ✔️ ✔️
tvOS ✔️
Web ✔️ 2 ✔️

1: https://github.com/tauri-apps/tauri#platforms
2: Uses modes to generate web apps

Benchmarks

See Benchmark.txt to get more informations about following data.

01 - Empty app

See source in benchmark/01-empty-app folder.

Electron NW.JS Tauri NodeGui Neutralino Flutter .Net MAUI
Build size Windows (x64) 180MB 264MB 2.6MB 83.6MB 2MB 18MB 108MB
Windows (x86) 160MB 237MB ? 83.6MB 2MB 18MB ?
Windows (ARM64) 193MB Requested ? ? ? ? ?
MacOS ? 265MB ? ? 2MB ? ?
Linux (x64) 181MB 328MB 5.8MB ? 2MB 56.8MB ?
Linux (x86) 171MB 329MB ? ? 2MB ? ?
Linux (ARM64) 196MB Requested ? ? ? ? ?
Linux (ARMv7l) 128MB Requested ? ? ? ? ?
Android - - ? ? ? ? ?
iOS - - ? ? ? ? ?
tvOS - - - ? ? ? ?
Web - - - ? ? ? ?
Memory Usage Windows ≈58MB ≈67MB (Debug) / ≈63MB (Release) ≈59MB ≈44MB then ≈39MB ≈2.7MB ≈36.2MB (Debug) / ≈23.7MB (Release) ≈61.6MB (Debug) / ≈60.4MB (Release)
MacOS ? ? ? ? ? ? ?
Linux ? ? ? ? ? ? ?
Android - - ? ? ? ? ?
iOS - - ? ? ? ? ?
tvOS - - - ? ? ? ?
Web - - - ? ? ? ?
Start duration Windows ≈131ms ≈21ms (Debug) ≈121ms ≈103ms (Debug) ? ≈5.6ms ?
MacOS ? ? ? ? ? ? ?
Linux ? ? ? ? ? ? ?
Android - - ? ? ? ? ?
iOS - - ? ? ? ? ?
tvOS - - - ? ? ? ?
Web - - - ? ? ? ?

02 - Empty app (Headless)

See source in benchmark/02-empty-app-headless folder.

Electron NW.JS Tauri NodeGui Neutralino Flutter .Net MAUI
Build size Windows (x64) 180MB 264MB 2.6MB 83.6MB 2MB N/A1 108MB
Windows (x86) 160MB 237MB ? 83.6MB 2MB N/A1 ?
Windows (ARM64) 193MB Requested ? ? ? N/A1 ?
MacOS ? 265MB ? ? ? N/A1 ?
Linux (x64) 181MB 328MB 5.8MB ? 2MB N/A1 ?
Linux (x86) 171MB 329MB ? ? 2MB N/A1 ?
Linux (ARM64) 196MB Requested ? ? ? N/A1 ?
Linux (ARMv7l) 128MB Requested ? ? ? N/A1 ?
Android - - ? ? ? N/A1 ?
iOS - - ? ? ? N/A1 ?
tvOS - - - ? ? N/A1 ?
Web - - - ? ? N/A1 ?
Memory Usage Windows ≈57MB ≈67MB (Debug) / ≈63MB (Release) ≈59MB ≈44MB then ≈39MB ≈2.7MB N/A1 ≈61.6MB (Debug) / ≈60.4MB (Release)
MacOS ? ? ? ? ? N/A1 ?
Linux ? ? ? ? ? N/A1 ?
Android - - ? ? ? N/A1 ?
iOS - - ? ? ? N/A1 ?
tvOS - - - ? ? N/A1 ?
Web - - - ? ? N/A1 ?
Start duration Windows ≈123ms ≈21ms (Debug) ≈121ms ≈105ms (Debug) ? N/A1 ?
MacOS ? ? ? ? ? N/A1 ?
Linux ? ? ? ? ? N/A1 ?
Android - - ? ? ? N/A1 ?
iOS - - ? ? ? N/A1 ?
tvOS - - - ? ? N/A1 ?
Web - - - ? ? N/A1 ?

1: Frameless mode not supported yet

Future content

TODO:

  • WebGL Support
  • Build constraints
  • Source code protection
  • Modules support (npm, native, etc.)

Benchmarks ideas:

  • BabylonJS scene
  • spreadsheet
  • IDE
Issues
  • Bump tar from 0.4.35 to 0.4.38 in /benchmark/02-empty-app-headless/tauri/src-tauri

    Bump tar from 0.4.35 to 0.4.38 in /benchmark/02-empty-app-headless/tauri/src-tauri

    Bumps tar from 0.4.35 to 0.4.38.

    Commits
    • dc78ebe Bump to 0.4.38
    • de72a30 Add a method to write a link name without canonicalization (#274)
    • ec5edf1 Add an append_link() method to handle long link targets (#273)
    • 5a1c8ea Add public constructor for PaxExtensions (#271)
    • 8333ef6 Avoid reallocating Strings when creating TarError (#269)
    • 1890555 Consolidate some methods and tweak some lifetimes
    • 64b8e1b Add support for readers that implement Seek (#218) (#266)
    • a2a82e6 Fix the second overflow with self.next
    • de08ca1 Fix an overflow when rounding up the size of a file
    • 60c6bd8 Use rust birthday for HeaderMode::Deterministic timestamp (#262)
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language

    You can disable automated security fix PRs for this repo from the Security Alerts page.

    dependencies rust 
    opened by dependabot[bot] 3
  • Bump regex from 1.5.4 to 1.5.6 in /benchmark/02-empty-app-headless/tauri/src-tauri

    Bump regex from 1.5.4 to 1.5.6 in /benchmark/02-empty-app-headless/tauri/src-tauri

    Bumps regex from 1.5.4 to 1.5.6.

    Changelog

    Sourced from regex's changelog.

    1.5.6 (2022-05-20)

    This release includes a few bug fixes, including a bug that produced incorrect matches when a non-greedy ? operator was used.

    1.5.5 (2022-03-08)

    This releases fixes a security bug in the regex compiler. This bug permits a vector for a denial-of-service attack in cases where the regex being compiled is untrusted. There are no known problems where the regex is itself trusted, including in cases of untrusted haystacks.

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language

    You can disable automated security fix PRs for this repo from the Security Alerts page.

    dependencies rust 
    opened by dependabot[bot] 3
  • Bump tokio from 1.9.0 to 1.19.2 in /benchmark/02-empty-app-headless/tauri/src-tauri

    Bump tokio from 1.9.0 to 1.19.2 in /benchmark/02-empty-app-headless/tauri/src-tauri

    Bumps tokio from 1.9.0 to 1.19.2.

    Release notes

    Sourced from tokio's releases.

    Tokio v1.19.1

    1.19.1 (June 5, 2022)

    This release fixes a bug in Notified::enable. (#4747)

    #4747: tokio-rs/tokio#4747

    Tokio v1.19.0

    1.19.0 (June 3, 2022)

    Added

    • runtime: add is_finished method for JoinHandle and AbortHandle (#4709)
    • runtime: make global queue and event polling intervals configurable (#4671)
    • sync: add Notified::enable (#4705)
    • sync: add watch::Sender::send_if_modified (#4591)
    • sync: add resubscribe method to broadcast::Receiver (#4607)
    • net: add take_error to TcpSocket and TcpStream (#4739)

    Changed

    • io: refactor out usage of Weak in the io handle (#4656)

    Fixed

    • macros: avoid starvation in join! and try_join! (#4624)

    Documented

    • runtime: clarify semantics of tasks outliving block_on (#4729)
    • time: fix example for MissedTickBehavior::Burst (#4713)

    Unstable

    • metrics: correctly update atomics in IoDriverMetrics (#4725)
    • metrics: fix compilation with unstable, process, and rt, but without net (#4682)
    • task: add #[track_caller] to JoinSet/JoinMap (#4697)
    • task: add Builder::{spawn_on, spawn_local_on, spawn_blocking_on} (#4683)
    • task: add consume_budget for cooperative scheduling (#4498)
    • task: add join_set::Builder for configuring JoinSet tasks (#4687)
    • task: update return value of JoinSet::join_one (#4726)

    #4498: tokio-rs/tokio#4498 #4591: tokio-rs/tokio#4591 #4607: tokio-rs/tokio#4607 #4624: tokio-rs/tokio#4624 #4656: tokio-rs/tokio#4656 #4671: tokio-rs/tokio#4671 #4682: tokio-rs/tokio#4682 #4683: tokio-rs/tokio#4683 #4687: tokio-rs/tokio#4687 #4697: tokio-rs/tokio#4697 #4705: tokio-rs/tokio#4705 #4709: tokio-rs/tokio#4709 #4713: tokio-rs/tokio#4713 #4725: tokio-rs/tokio#4725 #4726: tokio-rs/tokio#4726 #4729: tokio-rs/tokio#4729

    ... (truncated)

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language

    You can disable automated security fix PRs for this repo from the Security Alerts page.

    dependencies rust 
    opened by dependabot[bot] 3
  • Bump crossbeam-utils from 0.8.5 to 0.8.8 in /benchmark/02-empty-app-headless/tauri/src-tauri

    Bump crossbeam-utils from 0.8.5 to 0.8.8 in /benchmark/02-empty-app-headless/tauri/src-tauri

    Bumps crossbeam-utils from 0.8.5 to 0.8.8.

    Release notes

    Sourced from crossbeam-utils's releases.

    crossbeam-utils 0.8.8

    • Fix a bug when unstable loom support is enabled. (#787)

    crossbeam-utils 0.8.7

    • Add AtomicCell<{i*,u*}>::{fetch_max,fetch_min}. (#785)
    • Add AtomicCell<{i*,u*,bool}>::fetch_nand. (#785)
    • Fix unsoundness of AtomicCell<{i,u}64> arithmetics on 32-bit targets that support Atomic{I,U}64 (#781)

    crossbeam-utils 0.8.6

    • Re-add AtomicCell<{i,u}64>::{fetch_add,fetch_sub,fetch_and,fetch_or,fetch_xor} that were accidentally removed in 0.8.0 0.7.1 on targets that do not support Atomic{I,U}64. (#767)
    • Re-add AtomicCell<{i,u}128>::{fetch_add,fetch_sub,fetch_and,fetch_or,fetch_xor} that were accidentally removed in 0.8.0 0.7.1. (#767)
    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language

    You can disable automated security fix PRs for this repo from the Security Alerts page.

    dependencies rust 
    opened by dependabot[bot] 3
  • Update README.md - Web Support

    Update README.md - Web Support

    All these libraries rely on HTML, CSS, JS for frontend. Saying they don't support web is confusing. If this theory is incorrect, what all should these libraries do, so we can say they support web?

    documentation 
    opened by xerosanyam 3
  • How to run Neutralinojs benchmark source

    How to run Neutralinojs benchmark source

    Hi, I have tried running neutralinojs benchmark on Linux with different neu CLI versions, the CLI complaints about the bin file not existing.

    here are screen shots:

    tried with latest neu-cli:

    image

    tried with older version of neu-cli: image

    could you post your way to run or build the benchmark source?

    question library-specific 
    opened by oHaiyang 3
  • [ Question ] Neutralinojs supports web as a target (or not)?

    [ Question ] Neutralinojs supports web as a target (or not)?

    If we run the Neutralinojs in cloud mode and bind to a domain, anyone can access it as a web application. But all the native functionalities won't run purely inside the browser. So maybe we could add a small hint about this scenario into your comparison. Maybe "Partial" instead of the red icon in the "Operating System" section?

    Just an idea. you can check more about cloud mode here: https://neutralino.js.org/docs/developer-environment/modes#cloud

    Thanks for creating an awesome comparison!

    doc-enhancement library-specific 
    opened by shalithasuranga 3
  • Bump crossbeam-utils from 0.8.5 to 0.8.8 in /benchmark/02-empty-app-frameless/tauri/src-tauri

    Bump crossbeam-utils from 0.8.5 to 0.8.8 in /benchmark/02-empty-app-frameless/tauri/src-tauri

    Bumps crossbeam-utils from 0.8.5 to 0.8.8.

    Release notes

    Sourced from crossbeam-utils's releases.

    crossbeam-utils 0.8.8

    • Fix a bug when unstable loom support is enabled. (#787)

    crossbeam-utils 0.8.7

    • Add AtomicCell<{i*,u*}>::{fetch_max,fetch_min}. (#785)
    • Add AtomicCell<{i*,u*,bool}>::fetch_nand. (#785)
    • Fix unsoundness of AtomicCell<{i,u}64> arithmetics on 32-bit targets that support Atomic{I,U}64 (#781)

    crossbeam-utils 0.8.6

    • Re-add AtomicCell<{i,u}64>::{fetch_add,fetch_sub,fetch_and,fetch_or,fetch_xor} that were accidentally removed in 0.8.0 0.7.1 on targets that do not support Atomic{I,U}64. (#767)
    • Re-add AtomicCell<{i,u}128>::{fetch_add,fetch_sub,fetch_and,fetch_or,fetch_xor} that were accidentally removed in 0.8.0 0.7.1. (#767)
    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language

    You can disable automated security fix PRs for this repo from the Security Alerts page.

    dependencies rust 
    opened by dependabot[bot] 2
  • Bump regex from 1.5.4 to 1.5.6 in /benchmark/02-empty-app-frameless/tauri/src-tauri

    Bump regex from 1.5.4 to 1.5.6 in /benchmark/02-empty-app-frameless/tauri/src-tauri

    Bumps regex from 1.5.4 to 1.5.6.

    Changelog

    Sourced from regex's changelog.

    1.5.6 (2022-05-20)

    This release includes a few bug fixes, including a bug that produced incorrect matches when a non-greedy ? operator was used.

    1.5.5 (2022-03-08)

    This releases fixes a security bug in the regex compiler. This bug permits a vector for a denial-of-service attack in cases where the regex being compiled is untrusted. There are no known problems where the regex is itself trusted, including in cases of untrusted haystacks.

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language

    You can disable automated security fix PRs for this repo from the Security Alerts page.

    dependencies rust 
    opened by dependabot[bot] 2
  • Bump tokio from 1.9.0 to 1.19.2 in /benchmark/02-empty-app-frameless/tauri/src-tauri

    Bump tokio from 1.9.0 to 1.19.2 in /benchmark/02-empty-app-frameless/tauri/src-tauri

    Bumps tokio from 1.9.0 to 1.19.2.

    Release notes

    Sourced from tokio's releases.

    Tokio v1.19.2

    1.19.2 (June 6, 2022)

    This release fixes another bug in Notified::enable. (#4751)

    #4751: tokio-rs/tokio#4751

    Tokio v1.19.1

    1.19.1 (June 5, 2022)

    This release fixes a bug in Notified::enable. (#4747)

    #4747: tokio-rs/tokio#4747

    Tokio v1.19.0

    1.19.0 (June 3, 2022)

    Added

    • runtime: add is_finished method for JoinHandle and AbortHandle (#4709)
    • runtime: make global queue and event polling intervals configurable (#4671)
    • sync: add Notified::enable (#4705)
    • sync: add watch::Sender::send_if_modified (#4591)
    • sync: add resubscribe method to broadcast::Receiver (#4607)
    • net: add take_error to TcpSocket and TcpStream (#4739)

    Changed

    • io: refactor out usage of Weak in the io handle (#4656)

    Fixed

    • macros: avoid starvation in join! and try_join! (#4624)

    Documented

    • runtime: clarify semantics of tasks outliving block_on (#4729)
    • time: fix example for MissedTickBehavior::Burst (#4713)

    Unstable

    • metrics: correctly update atomics in IoDriverMetrics (#4725)
    • metrics: fix compilation with unstable, process, and rt, but without net (#4682)
    • task: add #[track_caller] to JoinSet/JoinMap (#4697)
    • task: add Builder::{spawn_on, spawn_local_on, spawn_blocking_on} (#4683)
    • task: add consume_budget for cooperative scheduling (#4498)
    • task: add join_set::Builder for configuring JoinSet tasks (#4687)
    • task: update return value of JoinSet::join_one (#4726)

    #4498: tokio-rs/tokio#4498 #4591: tokio-rs/tokio#4591 #4607: tokio-rs/tokio#4607 #4624: tokio-rs/tokio#4624 #4656: tokio-rs/tokio#4656 #4671: tokio-rs/tokio#4671 #4682: tokio-rs/tokio#4682 #4683: tokio-rs/tokio#4683 #4687: tokio-rs/tokio#4687

    ... (truncated)

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language

    You can disable automated security fix PRs for this repo from the Security Alerts page.

    dependencies rust 
    opened by dependabot[bot] 2
  • Bump tar from 0.4.35 to 0.4.38 in /benchmark/02-empty-app-frameless/tauri/src-tauri

    Bump tar from 0.4.35 to 0.4.38 in /benchmark/02-empty-app-frameless/tauri/src-tauri

    Bumps tar from 0.4.35 to 0.4.38.

    Commits
    • dc78ebe Bump to 0.4.38
    • de72a30 Add a method to write a link name without canonicalization (#274)
    • ec5edf1 Add an append_link() method to handle long link targets (#273)
    • 5a1c8ea Add public constructor for PaxExtensions (#271)
    • 8333ef6 Avoid reallocating Strings when creating TarError (#269)
    • 1890555 Consolidate some methods and tweak some lifetimes
    • 64b8e1b Add support for readers that implement Seek (#218) (#266)
    • a2a82e6 Fix the second overflow with self.next
    • de08ca1 Fix an overflow when rounding up the size of a file
    • 60c6bd8 Use rust birthday for HeaderMode::Deterministic timestamp (#262)
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language

    You can disable automated security fix PRs for this repo from the Security Alerts page.

    dependencies rust 
    opened by dependabot[bot] 2
  • Addition of wails to the comparison list

    Addition of wails to the comparison list

    It would be great if you can add wails to your comparison list :-)

    https://github.com/wailsapp/wails

    From what is see it is architecturally similar to tauri and the api layer is written in golang

    It would be great to have a detailed comparison

    Thanks in advance :-)

    doc-enhancement library-specific lib-adding 
    opened by kishaningithub 1
  • CPU Usage Benchmarks

    CPU Usage Benchmarks

    I would love to see CPU usage benchmarks for the different frameworks, particularly background CPU usage.

    It seems like Electron apps always have egregious background CPU usage and I'd like to know how the others stack up.

    doc-enhancement 
    opened by brooksvb 1
  • 01-empty-app/nodegui - Update

    01-empty-app/nodegui - Update

    $ npm-check
    (node:6648) [DEP0128] DeprecationWarning: Invalid 'main' field in 'C:\Users\elani\AppData\Roaming\npm\node_modules\npm-check\node_modules\find-parent-dir\package.json' of 'find-parent-dir.js'. Please either fix that or report it to the module author
    (Use `node --trace-deprecation ...` to show where the warning was created)
    
    @nodegui/nodegui       😎  NEW VER!  NonSemver update available. https://github.com/nodegui/nodegui#readme
                                        npm install --save @nodegui/[email protected] to go from 0.33.3 to 0.37.3
    
    @nodegui/packer        😕  NOTUSED?  Still using @nodegui/packer?
                                        Depcheck did not find code similar to require('@nodegui/packer') or import from '@nodegui/packer'.                                    Check your code before removing as depcheck isn't able to foresee all ways dependencies can be used.
                                        Use --skip-unused to skip this check.
                                        To remove this package: npm uninstall --save-dev @nodegui/packer
    
    @types/node            😎  MAJOR UP  Major update available. https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/node                                    npm install --save-dev @types/nod[email protected] to go from 14.17.9 to 16.9.1
    
    clean-webpack-plugin   😎  MAJOR UP  Major update available. https://github.com/johnagan/clean-webpack-plugin
                                        npm install --save-dev [email protected] to go from 3.0.0 to 4.0.0
    
    ts-loader              😎  MAJOR UP  Major update available. https://github.com/TypeStrong/ts-loader
                                        npm install --save-dev [email protected] to go from 8.3.0 to 9.2.5
    
    typescript             😍  UPDATE!   Your local install is out of date. https://www.typescriptlang.org/
                                        npm install --save-dev [email protected] to go from 4.3.5 to 4.4.3
    
    webpack                😍  UPDATE!   Your local install is out of date. https://github.com/webpack/webpack
                                        npm install --save-dev [email protected] to go from 5.49.0 to 5.52.1
    
    webpack-cli            😍  UPDATE!   Your local install is out of date. https://github.com/webpack/webpack-cli/tree/master/packages/webpack-cli
                                        npm install --save-dev [email protected] to go from 4.7.2 to 4.8.0
                           😕  NOTUSED?  Still using webpack-cli?
                                        Depcheck did not find code similar to require('webpack-cli') or import from 'webpack-cli'.
                                        Check your code before removing as depcheck isn't able to foresee all ways dependencies can be used.
                                        Use --skip-unused to skip this check.
                                        To remove this package: npm uninstall --save-dev webpack-cli
    
    library-specific lib-update 
    opened by Elanis 0
Owner
Axel
Game dev & Web Dev. Founder of Dysnomia (https://dysnomia.studio) a company that create and manage websites & games !
Axel
Appupdater is a C++ cross-platform framework to update desktop software (gitlab mirror)

appupdater is a C++ cross-platform framework to update desktop software. How it works Framework checks the URL you specified for info about versions a

Ronzhin Mikhail 1 Jan 8, 2022
The c++ micro framework for building web applications based on workflow

wfrest The c++ micro framework for building web applications based on workflow ⌛️ Build Step 1 : install workflow git clne [email protected]:sogou/workfl

Shiyu Yi 374 Jun 21, 2022
A beginner friendly desktop UI for Tasmota flashed devices for Windows, macOS and Linux.

TasmoManager A beginner friendly desktop UI for Tasmota flashed devices for Windows, macOS and Linux. Features Native Tasmota device discovery (via ta

Tom Butcher 43 Jun 16, 2022
Add virtual monitors to your windows 10 device! Works with Oculus software, obs, and any desktop sharing software

License MIT and CC0 or Public Domain, whichever is least restrictive -- Use it AS IS - NO IMPLICIT OR EXPLICIT warranty This may break your computer,

Rashi Abramson 162 Jun 21, 2022
A Flutter package that makes it easy to customize and work with your Flutter desktop app's system tray.

system_tray A Flutter package that that enables support for system tray menu for desktop flutter apps. on Windows, macOS and Linux. Features: - Modify

AnTler 103 Jun 24, 2022
This plugin allows Flutter desktop apps to defines system tray.

tray_manager This plugin allows Flutter desktop apps to defines system tray. tray_manager Platform Support Quick Start Installation ⚠️ Linux requireme

LeanFlutter 76 Jun 20, 2022
ContactGot is an offline desktop app, where clients can leave their info, while an administrator can manage which information they need to gather on certain projects.

ContactGot Contents Description How to use Requirements Engineering Installation Documentation Design Architecture Demonstration 1. Description During

Elizaveta 16 Dec 17, 2021
ESP32 based Desktop Clock

ESP32_Desktop_Clock ESP32 based Desktop Clock This ESP32 internet of things desktop clock is a project created for my home. School has started and fal

Mike Rankin 66 May 1, 2022
A backend implementation for xdg-desktop-portal

xdg-desktop-portal-lxqt A backend implementation for xdg-desktop-portal that is using Qt/KF5. Building xdg-desktop-portal-lxqt Dependencies: xdg-deskt

LXQt 7 Apr 19, 2022
Temporary Directory for Desktop Build

flutter_tips A new Flutter application. Getting Started This project is a starting point for a Flutter application. A few resources to get you started

Paras Jain 1 Nov 2, 2021
This plugin allows Flutter desktop apps to Auto launch on startup / login.

This plugin allows Flutter desktop apps to Auto launch on startup / login.

LeanFlutter 28 Jun 18, 2022
This plugin allows Flutter desktop apps to defines system/inapp wide hotkey (i.e. shortcut).

hotkey_manager This plugin allows Flutter desktop apps to defines system/inapp wide hotkey (i.e. shortcut). hotkey_manager Platform Support Quick Star

LeanFlutter 61 Jun 16, 2022
Windscribe 2.0 desktop client for Windows, Mac and Linux

Windscribe 2.0 Desktop Application This repo contains the complete source code for the Windscribe 2.0 app. This includes installer, service/helper, ba

Windscribe 284 Jun 20, 2022
Telegram Desktop messaging app

Telegram Desktop – Official Messenger This is the complete source code and the build instructions for the alpha version of the official desktop client

Telegram Desktop 19.1k Jun 27, 2022
SDK for building cross-platform desktop apps in ANSI-C

NAppGUI Cross-Platform C SDK. Build portable desktop applications for Windows, macOS and Linux, using just C. Quick start in Windows Prerequisites Vis

Francisco García Collado 194 Jun 23, 2022
Dwm_lut - Apply 3D LUTs to the Windows desktop for system-wide color correction/calibration

About This tool applies 3D LUTs to the Windows desktop by hooking into DWM. It works in both SDR and HDR modes, and uses tetrahedral interpolation on

null 127 Jun 25, 2022
Dock - Desktop Taskbar.

Dock CutefishOS application dock. Dependencies sudo pacman -S gcc cmake qt5-base qt5-quickcontrols2 kwindowsystem You also need fishui and libcutefish

CutefishOS 87 Apr 13, 2022
A npm package that lets you automate your windows desktop.

js-macro A npm package that lets you automate your windows desktop. npm i js-macro Examples Simple cursor usage const { cursor } = require("js-macro"

4 Jan 28, 2022
A npm package that lets you automate your windows desktop.

js-macro A npm package that lets you automate your windows desktop. npm i js-macro Examples Simple cursor usage const { cursor } = require("js-macro"

4 Jan 28, 2022