Heavenanvil
@Heavenanvil

На чём мне написать десктопное приложение?

Мне нужно написать десктопное приложение, но не могу определиться со средой разработки.
Сейчас речь не о моих навыках, а нужен вообще лишь совет, на чём лучше писать.

У программы будет несколько задач, которые веб-приложениями думаю сложно реализовать, хотя может и возможно.
1. Оффлайн режим. То есть подразумевается работа даже без интернета, но при подключении его можно будет синхронизировать данные о файлах в папках рядом с программой.
2. Проверка наличия конкретных файлов в папках, определение их MD5 сумм, сравнение их с версией в онлайне.
3. Скачивание недостающих файлов в указанную папку.
4. Немного нестандартный GUI, в частности нужны ListBox'ы с иконками и чекбоксами.
5. Обновление базы об этих файлах. В формате SQL или отдельный XML файл, хз.
6. Поддержка Windows XP/7/8/10 x32/x64.
  • Вопрос задан
  • 1451 просмотр
Пригласить эксперта
Ответы на вопрос 11
MaKvc
@MaKvc
Отчаянный веб-разработчик
Каждый будет советовать то, что ему ближе по духу. Я бы например использовал Qt. Если у вас есть временные рамки и недостаточно знаний и практики, можно взять Lazarus (Free Pascal). Да-да-да!!! Оно еще живое! Имеет кучу возможностей, огромную поддержку платформ, можно довольно быстро решить поставленную задачу.
Ответ написан
@maximsemin23
HemulGM
@HemulGM
Delphi Developer, сис. админ
Delphi по всем пунктам подходит. Помимо этого, замечу, что XP всё ещё поддерживается в Delphi. А также, приложение будет состоять из одного файла ~10-15мб и не будет требовать ни каких сторонних библиотек или ОС зависимостей.

Среда разработки бесплатная для не коммерческого использования RAD Studio CE 10.3. Качается с оф. сайта.

Можно написать и мобильную версию. Если точнее, то одно приложение можно собрать под все платформы, если писать с FMX (фреймворк из коробки).

"ListBox с иконками" - это стандартный GUI, не стандартный - это, например, список из кастомных элементов, в которых есть кнопки, картинки, другие списки и тд. Всё это легко реализуется в Delphi
Ответ написан
Griboks
@Griboks
Конечно же C#.

p.s.
Но если очень хочется, то можно писать на любом другом языке.
Ответ написан
Комментировать
@cicatrix
было бы большой ошибкой думать
Я бы посоветовал вообще разделить функционал и GUI.
Весь функционал обернул бы в class library (dll), а gui уже потом просто дописал бы к этой либе.
А писать - да, на чём угодно.
Если XP, то C# + WinForms.
Без XP можно WPF (с ним удобно реализовать это):
Немного нестандартный GUI, в частности нужны ListBox'ы с иконками и чекбоксами.

На винформах тоже можно, но трудозатрат побольше.

Ну и экзотический вариант (но не без шарма) - сделать гуй на html + css, а само приложение может реализовывать простейший веб-сервер (ну отдать по запросу html-файлик get-ом и принять инфу post-ом) - зато вообще практически без платформенных зависимостей.
Ответ написан
Комментировать
motkot
@motkot
Программирование C#.
Конечно же C#... Если хотите, то можно еще C++ или даже Delph/Pascal
Ответ написан
Комментировать
@Vorfall
если нужно быстро и на обязательно современно выглядеще то самый простой вариант эото c# + win form
там графический интерфейс разнесения элементов на экран и все программирование сведется к описанию что должно происходить по нажатию конкретной кнопки или что выводить данный листбокс
Ответ написан
Комментировать
@zkrvndm
Софт для автоматизации
На чем умейте, на том и пишите. Даже на php при большом желании можно сделать нативное приложение, способное работать без интернета.
Ответ написан
Комментировать
firedragon
@firedragon
Не джун-мидл-сеньор, а трус-балбес-бывалый.
Electron + net core

У программы будет несколько задач, которые веб-приложениями думаю сложно реализовать, хотя может и возможно.
1. Оффлайн режим. То есть подразумевается работа даже без интернета, но при подключении его можно будет синхронизировать данные о файлах в папках рядом с программой.

Как напишите, net core часть будет просто подсоединятся к вашему серверу

2. Проверка наличия конкретных файлов в папках, определение их MD5 сумм, сравнение их с версией в онлайне.


net core часть

3. Скачивание недостающих файлов в указанную папку.
4. Немного нестандартный GUI, в частности нужны ListBox'ы с иконками и чекбоксами.


Все что вам угодно

5. Обновление базы об этих файлах. В формате SQL или отдельный XML файл, хз.

Я бы рекомендовал EFcore + sqlite

6. Поддержка Windows XP/7/8/10 x32/x64.


выкиньте XP

https://github.com/dotnet/core/blob/main/release-n...

То же самое только на winforms + .NET Framework 4
Поддерживается XP
Добавьте какие нибудь компоненты типа Telerik
Ответ написан
tumbler
@tumbler
бекенд-разработчик на python
Go + gotk3, python + pygtk в список вариантов можно добавить
Ответ написан
arteqrt
@arteqrt
Почти не начинающий програмист
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы