Десктоп-приложения Webasyst для Windows и macOS: Webasyst Деньги, Webasyst X Electron.js
20 сентября 2022Для работы с приложениями Webasyst всегда было достаточно любого современного браузера. Это позволяло и всегда будет позволять работать с Webasyst на любой операционной системе. Нужен только интернет.
Но есть задачи, в рамках которых требуется более тесное взаимодействие с операционной системой и устройством, на котором работает приложение. Поэтому появляются нативные приложения Webasyst — недавно мы рассказывали о первых мобильных приложениях для iOS и Android, и теперь речь о первых десктоп-приложениях для Windows и macOS.
Webasyst Деньги
Webasyst Деньги — первое нативное десктоп-приложение для Windows и macOS в рамках платформы Webasyst.
Качайте «Деньги» бесплатно — для Windows (.exe) или macOS (.dmg).
Приложение «Деньги» в Инсталлере: https://www.webasyst.ru/store/app/cash/

Десктоп-приложение «Деньги» предоставляет те же возможности, что и основное приложение Webasyst в Инсталлере. Работает непосредственно с данными (финансовыми операциями), хранящимися на сервере Webasyst, и требует подключения к интернету. Но при этом не надо запускать браузер, не надо входить в бекенд Webasyst. Системная навигация Webasyst (меню приложений) в приложении отсутствует.
В основе приложения — все те же веб-технологии: HTML/CSS/JS и дизайн-система Webasyst 2.
Webasyst X Electron.js — открытая бесплатная технология
Технология, на которой разработаны десктопные «Деньги», открыта и доступна всем разработчикам абсолютно бесплатно.
Webasyst X Electron.js — https://github.com/1312inc/Webasyst-X-Electron — open source проект на GitHub, представляющий собой обертку для оформления веб-приложений Webasyst в виде нативных десктоп-приложений. Разработан на основе фреймворка Electron.js и реализует готовый каркас и множество полезных для разработки инструментов:
- авторизацию с Webasyst ID,
- переключение между аккаунтами Webasyst,
- создание новых аккаунтов в облаке Webasyst,
- бесплатную установку приложения с 30-дневной лицензией,
- автоматизированную сборку .dmg и .exe для macOS и Windows (GitHub Actions).
Демо-приложение Webasyst X для macOS и Windows качайте здесь: https://github.com/1312inc/Webasyst-X-Electron/releases

Кому будет полезен Webasyst X?
Проект Webasyst X Electron.js будет полезен всем разработчикам веб-приложений Webasyst, созданных в рамках архитектуры CSR (Client-Side Rendering). Если интерфейс вашего приложения формируется на клиенте, и общение с сервером происходит исключительно по REST API, то Webasyst X позволит максимально быстро оформить приложение в виде нативного. Все «скучные» задачи по авторизации и подключению к экосистеме Webasyst уже решены в рамках Webasyst X Electron.js.
Смотрите также:
- Webasyst X для iOS (Swift)
- Webasyst X для Android (Kotlin)
3 комментария
Класс! Сегодня делал второй заход, чтобы "поиграться" с приложением в среде разработки и не получается даже запустить то, что уже есть у вас. Ни через Electron Fiddle, ни через Visual Studio Code. :(
ответитьХотелось бы конечно, чтобы был мануал, как можно открыть у себя проект, просто у меня вот так итогу
ответитьc:\webasyst-printer>npm install --force
npm WARN using --force Recommended protections disabled.
npm WARN ERESOLVE overriding peer dependency
npm WARN While resolving: @typescript-eslint/eslint-plugin@5.40.2-alpha.1
npm WARN Found: @typescript-eslint/parser@5.40.2-alpha.1
npm WARN node_modules/@typescript-eslint/parser
npm WARN dev @typescript-eslint/parser@"^5.40.2-alpha.1" from the root project
npm WARN
npm WARN Could not resolve dependency:
npm WARN peer @typescript-eslint/parser@"^5.0.0" from @typescript-eslint/eslint-plugin@5.40.2-alpha.1
npm WARN node_modules/@typescript-eslint/eslint-plugin
npm WARN dev @typescript-eslint/eslint-plugin@"^5.40.2-alpha.1" from the root project
npm WARN
npm WARN Conflicting peer dependency: @typescript-eslint/parser@5.40.1
npm WARN node_modules/@typescript-eslint/parser
npm WARN peer @typescript-eslint/parser@"^5.0.0" from @typescript-eslint/eslint-plugin@5.40.2-alpha.1
npm WARN node_modules/@typescript-eslint/eslint-plugin
npm WARN dev @typescript-eslint/eslint-plugin@"^5.40.2-alpha.1" from the root project
npm WARN ERESOLVE overriding peer dependency
npm WARN While resolving: tsutils@3.21.0
npm WARN Found: typescript@4.9.0-dev.20221019
npm WARN node_modules/typescript
npm WARN dev typescript@"^4.9.0-dev.20221019" from the root project
npm WARN
npm WARN Could not resolve dependency:
npm WARN peer typescript@">=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta" from tsutils@3.21.0
npm WARN node_modules/tsutils
npm WARN tsutils@"^3.21.0" from @typescript-eslint/eslint-plugin@5.40.2-alpha.1
npm WARN node_modules/@typescript-eslint/eslint-plugin
npm WARN 2 more (@typescript-eslint/type-utils, @typescript-eslint/typescript-estree)
npm WARN
npm WARN Conflicting peer dependency: typescript@4.8.4
npm WARN node_modules/typescript
npm WARN peer typescript@">=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta" from tsutils@3.21.0
npm WARN node_modules/tsutils
npm WARN tsutils@"^3.21.0" from @typescript-eslint/eslint-plugin@5.40.2-alpha.1
npm WARN node_modules/@typescript-eslint/eslint-plugin
npm WARN 2 more (@typescript-eslint/type-utils, @typescript-eslint/typescript-estree)
added 9 packages, and audited 892 packages in 4s
130 packages are looking for funding
run `npm fund` for details
1 high severity vulnerability
To address all issues (including breaking changes), run:
npm audit fix --force
Run `npm audit` for details.
Путем замены версий проблемных библиотек запуск пошел, если можно это так назвать
ответитьPS C:\webasyst-printer> npm run start
Debugger attached.
> webasyst-x-electron@1.0.0 start
> electron-forge start
Debugger attached.
✔ Checking your system
Debugger attached.
✔ Locating Application
✔ Preparing native dependencies: 1 / 1
✔ Launching Application
App threw an error during load
Error [ERR_REQUIRE_ESM]: require() of ES Module C:\webasyst-printer\node_modules\nanoid\index.js from C:\webasyst-printer\utils\waidAuthProvider.js not supported.
Instead change the require of index.js in C:\webasyst-printer\utils\waidAuthProvider.js to a dynamic import() which is available in all CommonJS modules.
at c._load (node:electron/js2c/asar_bundle:5:13339)
at Object.<anonymous> (C:\webasyst-printer\utils\waidAuthProvider.js:3:20)
at c._load (node:electron/js2c/asar_bundle:5:13339)
at Object.<anonymous> (C:\webasyst-printer\main.js:13:26)
at c._load (node:electron/js2c/asar_bundle:5:13339)
at loadApplicationPackage (C:\webasyst-printer\node_modules\electron\dist\resources\default_app.asar\main.js:121:16)
at Object.<anonymous> (C:\webasyst-printer\node_modules\electron\dist\resources\default_app.asar\main.js:233:9)
at c._load (node:electron/js2c/asar_bundle:5:13339)
at Object.<anonymous> (node:electron/js2c/browser_init:189:3102)
at ./lib/browser/init.ts (node:electron/js2c/browser_init:189:3306)
at __webpack_require__ (node:electron/js2c/browser_init:1:128)
at node:electron/js2c/browser_init:1:1200
at node:electron/js2c/browser_init:1:1267
at c._load (node:electron/js2c/asar_bundle:5:13339)