Какой стек использовать для десктоп приложений в гос.предприятиях в 2023 году?
Я стою перед выбором стека для разработки десктопного приложения ERP толстый клиент для гос. предприятий, всяких ФГУПов.
Основной парк машин Windows 7, 10. Возможно появится linux, в рамках импортозамещения.
Мне удобнее сделать всё на C# (.Net, WPF, статистические расчеты на R(R.Net), генерация документов NPOI, графики OxyPlot, БД Postgres-EFCore), а в случае появления linux запускать всё под Mono/Wine.
Не будет ли это ошибкой? Не придется ли потом переходить на Python, Qt или что-нибудь в этом роде?
Подскажите, куда ветер дует?
Web-сервис не подходит.
Уточнение:
Существует ли на текущий момент официально/неофициально рекомендованный/традиционный стек разработки десктоп и(или) веб приложений для госсектора?
Если нет кода, не надо ставить тэг языка. Вообще не надо ставить как можно больше тэгов. Лучше оставить один, но конкретный, с которым проблема.
См.п.3.1 Регламента. Также обратите внимание на п.3.4
Qt присоединилось к санкциям, так что тоже не годится.
- можно рассмотреть Java + JavaFX. Плюс в том что C# - это "улучшенная Java", изучать будет проще. Минус - непонятный статус JavaFX - она выпилена из JDK и теперь поддерживается отдельными ребятами и какова её судьба - непонятно;
- Kotlin давно что-то обещает для десктопа, но как с этим обстоят дела я н в курсе;
- Dart + Flutter. Dart - приятный язык, похож на Java. Собрать приложение под desktop можно (правда для сборки под винду придётся использовать полную Visual Studio). Насколько Dart подходит для сложных систем - не знаю;
- ну.... NodeJs с обёртыванием в Electron. Считается что это адский костыль, тормоза и мрак. Ну и JavaScript (да даже и TypeScript) для тырпрайза - такой себе праздник;
- говорят что Delphi всё ещё жив....
В целом, десктоп сейчас это боль. Всё что есть хорошее заточено под WEB. И всё равно придётся туда переползать, хотим мы того или нет.
Мне удобнее сделать всё на C#, .Net, WPF и в случае появления linux запускать всё под Mono.
Ты под Mono не сможешь запустить приложение на WPF:)
Тогда уж сразу лучше писать на Avalonia.
Это раз.
Два - если будет Linux, то очень велик шанс, что какой-нибудь особенный российский linux, у которого могут быть проблемы с совместимостью - нужно будет тестировать и как минимум писать инструкции по установке.
Три - лучше смотреть на конкретные требования заказчика. Сейчас даже на госпредприятиях чаще в веб идут.
Ветер очень устойчиво дует в сторону исключительно "российских" дистрибов (в кавычках, потому что они примерно такие же российские, как ВАЗ-2101 :) - но другого не будет, придется любить эти).
Ну то есть, будет не просто линух, а именно "российский линух" - с российскими репами и прочими реалиями.
vladjaj, Пока не подскажу, потому что наши разрабы тоже все кряхтят и чешут ... затылки (хотя там тоже чешут) и ничего пока не говорят на тему "а на чем же мы будем писать нашу софтину под линух?"
Тогда можно перефразировать вопрос:
Существует ли на текущий момент официально/неофициально рекомендованный/традиционный стек разработки десктоп и(или) веб приложений для госсектора?
Можешь рассмотреть ещё Delphi или Lazarus.
Delphi - кроссплатформенный, сможешь собрать на все платформы. Интерфейс при этом только визуально нативный, а так он рисуется на GPU
Lazarus - кроссплатформенный, также сможешь собрать под любую платформу. Интерфейс для каждой ОС нативный создается (хитрый фреймворк)
Скорость разработки будет на порядок выше, чем на многих решениях (включая .Net). Софт будет без зависимостей. Синтаксис схож с C#, а в Делфи большая часть стандартной библиотеки схожа с дотнетовской. System.Net, System.Encoding, System.Json и т.д.
Сергей Горностаев, как с VS. Есть разные редакции в зависимости от задач или способа лицензирования (набор функций и вид лицензии (на одного, нескольких и тд)). И есть бесплатная коммюнити версия
Сергей Горностаев, да, ограничения есть конечно. По функционалу соответствует редакции Professional, а по лицензии - коммерческая разработка допустима только компаниям с доходом до 5к баксов. Для личного использования самое то.
Hemul GM, на сколько я понимаю, случай не автора. У нас не госуха, но позапрещали вообще всё, кроме GPL, Apache и MIT. Причём, если компания где-то упомянула экспортные ограничения или выразила антироссийскую позицию, то их ПО и с открытыми лицензиями нельзя использовать. В госухе на некоторых проектах для инструментов и библиотек может вообще сертификация ФСТЭК потребоваться.
Сергей Горностаев, думаю тут не будет больших проблем. Я знаком с некоторыми разработчиками, работающими в гос учреждениях и пилящий там софт. Проблем не возникает. Интересно ещё то, что по сути, всё RTL языка открыто. Т.е. можно проследить по шагам всю работу программы от точки входа видя весь исходный код. И сборка доступна через msbuild
Ветер однозначно дует в сторону кросс-платформенной веб-разаботки. Посмотрите на www.jmix.ru - он в реестре и дока в открытом доступе. Есть курс учебный на Stepik.