Как сделать простое настольное приложение на JavaScript?
Уважаемые участники Тостера, работаю программистом несколько лет. Настольные приложения делал очень давно на Swing. Сейчас понимаю, что это прошлый век, но возникла необходимость сделать простое настольное приложение. С кнопочками, картинками и т.д. Изучать JavaFX по мне не лучшая идея. Слышал много про различные JS решения. Когда я изучал этот язык несколько лет назад он оставил не самое хорошее впечатление. Но это было тогда. Уже успели появиться React, Angular, Vue.js, Typescript и т.д. Как я понял, благодаря таким вещам как Electron и Proton стало возможно писать десктоп на JS. Мне как человеку совсем не шарящему во фронтенде легко потеряться. Если у вас есть опыт подскажите как будет проще сделать кроссплатформенное настольное приложение на JS. Желательно конечно чтобы его можно было с минимальными усилиями потом перенести в веб.
Кстати про qt. Для таких аутсайдеров (как я), которые как макаки за бананом бегают за js, есть nodegui (также для реакта). Там автор портирует qt для js.
З.ы. первая ссылка в гугле на гитхаб проекта.
Алексей Воробьёв, Смотрите десктоп приложение не важно на каком языке имеет только 1 преимущество. Оно интегрировано с системой в области доступа к файлам и не так зажато по части интерфейса и безопасности.
У электрона, да и у явы свои погремушки, по части кросплатформенности. Хелло ворлд работает, а вот дальше начинаются костыли.
Так что составьте ТЗ и уже от него отталкивайтесь. Учтите что работать с файлами вы можете даже через веб страницу. Правда через интерфейс браузера, но все же. В итоге получаете просто HTML. Который может считать, сохранять, загружать, править таблицу. Все что я описал уже есть, делал заказчику сметную систему, для выгрузки в эксель расчетов по профилям.
Желательно конечно чтобы его можно было с минимальными усилиями потом перенести в веб.
Делаешь обычный сайт на чем угодно, оформляешь к нему манифест PWA и можно устанавливать как обычное приложение на десктоп. Оно закеширует скрипты в сервис-воркере и не надо будет каждый раз скачивать.
Electron не нужен.
Вот например официальный сайт Angular удовлетворяет требованиям PWA и может быть инсталлирован
Используйте VUE + webpack и Firebase.
В итоге будете иметь страничку запускающуюся локально.
Можно правда использовать indexdb https://proglib.io/p/indexeddb-guide/
тогда не понадобится подключение к интернету.
Кроме того почему десктоп?
Что десктопного вам нужно?
Если говорить откровенно то он гуано. 120 мегабайт рантайма, которые дают наводки в системе, не обновляются и все ради того что бы запустить страничку на десктопе, в более старой версии браузера который УЖЕ есть в системе.
Уж лучше поставить NET Core (50 МБ зато будет интеграция с ситемой, и случайно не снесешь систему при деинсталяции)
Владимир Коротенко, Не буду спорить, но он пользуется не малой популярностью.
И на нем легко сделать первые шаги, потому что там все на обычной верстке и js делается. За пару часов, можно сделать простое приложение. И к тому же на нем сделан vs code. Я думаю что для чего-то не очень сложного или большого, будет самое оно.