Как написать софт под Windows и Linux?

npa
Новичок
Сообщения: 14
Зарегистрирован: 30 янв 2018, 08:20
Репутация: 0
Настоящее имя: Руслан
Контактная информация:

Как написать софт под Windows и Linux?

Сообщение npa »

michael-yurov писал(а):Сейчас у меня остро стоит вопрос - как написать ПО, чтобы его можно было запускать и на windows и Linux.
Вроде бы WinForms написанные под .NET на C# - должны даже exe открываться и запускаться силами Mono... Но что то не получается у меня.
В эту сторону не пробовал, предпочитаю WX/GTK/QT. Сейчас .NET продвигают помаленьку...хоть и старое но возможно будет полезно: https://www.ibm.com/developerworks/ru/l ... index.html. Могу помочь в тестировании, как будет время.
А расчёт ШД в Wine 1.8.7 запускается нормально. :)
SVP
Мастер
Сообщения: 6135
Зарегистрирован: 19 дек 2012, 15:49
Репутация: 884
Откуда: Москва
Контактная информация:

Re: SMD раскладчик для СтепМастеров

Сообщение SVP »

michael-yurov писал(а):Сейчас у меня остро стоит вопрос - как написать ПО, чтобы его можно было запускать и на windows и Linux.
Вроде бы WinForms написанные под .NET на C# - должны даже exe открываться и запускаться силами Mono... Но что то не получается у меня.
Java однако...
Аватара пользователя
michael-yurov
Почётный участник
Почётный участник
Сообщения: 11624
Зарегистрирован: 26 июл 2012, 00:10
Репутация: 4634
Настоящее имя: Михаил Львович
Откуда: Новоуральск
Контактная информация:

Re: SMD раскладчик для СтепМастеров

Сообщение michael-yurov »

SVP писал(а):Java однако...
Не... слишком медленная зараза. Сильно бесит, когда простая программа тупит на ровном месте.
C# не намного лучше, конечно, но там хотя бы есть большие плюсы, за которые я готов жертвовать производительнсоть.
npa писал(а):WX/GTK/QT
Пока что для меня это набор букв. Буду изучать.
UPD посмотрел, что такое Qt. Кажется, что интересная и подходящая штука.
Узнал цену ($459.00 в месяц). Опечалился.
SVP
Мастер
Сообщения: 6135
Зарегистрирован: 19 дек 2012, 15:49
Репутация: 884
Откуда: Москва
Контактная информация:

Re: SMD раскладчик для СтепМастеров

Сообщение SVP »

в GPL QT бесплатен вроде как...
Аватара пользователя
michael-yurov
Почётный участник
Почётный участник
Сообщения: 11624
Зарегистрирован: 26 июл 2012, 00:10
Репутация: 4634
Настоящее имя: Михаил Львович
Откуда: Новоуральск
Контактная информация:

Re: SMD раскладчик для СтепМастеров

Сообщение michael-yurov »

SVP писал(а):в GPL QT бесплатен вроде как...
Да, так и есть.
Только вот сомневаюсь я, что хочу делиться кодом программы...

А, вообще, Qt мне очень понравился. Буду изучать.
SVP
Мастер
Сообщения: 6135
Зарегистрирован: 19 дек 2012, 15:49
Репутация: 884
Откуда: Москва
Контактная информация:

Re: SMD раскладчик для СтепМастеров

Сообщение SVP »

michael-yurov писал(а):
SVP писал(а):в GPL QT бесплатен вроде как...
Да, так и есть.
Только вот сомневаюсь я, что хочу делиться кодом программы...

А, вообще, Qt мне очень понравился. Буду изучать.
Если ты её собираешься продавать/поставлять, тогда да, придется покупать коммерческую лицензию.
Если для внутреннего употребления, то обязать тебя никто не вправе.

На самом деле костыли это всё сплошные.
В том смысле, что для того, чтобы было комфортней работать они там такого наворотили, после чего это уже
скорее кастрированная java нежели быстрый С++. Смысла не имеет особого.
С лицензиями большой гемморой, похоже даже имея коммерческую некоторые части ты трогать не вправе.
Все это имеет какой-то смысл для эмбеддед решений, но тоже не великий.
npa
Новичок
Сообщения: 14
Зарегистрирован: 30 янв 2018, 08:20
Репутация: 0
Настоящее имя: Руслан
Контактная информация:

Re: SMD раскладчик для СтепМастеров

Сообщение npa »

michael-yurov писал(а):Только вот сомневаюсь я, что хочу делиться кодом программы...
Вообще от автора GPL этого и не требует, внезапно...А ещё есть BSD и другие совместимые. И ещё один момент: По LGPL лицензии вы можете создавать коммерческое ПО не открывая свои исходники, при условии, что вы не вносите изменения в исходный код самого Qt. То есть динамическая линковка.
А вообще не очень понял вашу модель. Вы же прикладываете программу к устройству? Соответственно смысл человеку применять копию, полученную не от вас или стороннюю программу? Вас же в продаже устройств никто не ограничивает.
Аватара пользователя
michael-yurov
Почётный участник
Почётный участник
Сообщения: 11624
Зарегистрирован: 26 июл 2012, 00:10
Репутация: 4634
Настоящее имя: Михаил Львович
Откуда: Новоуральск
Контактная информация:

Re: Как написать софт под Windows и Linux?

Сообщение michael-yurov »

Дошли руки до создания простенькой системы ЧПУ.
На днях сделал набросок интерфейса программы:
экран 2.png (6196 просмотров) <a class='original' href='./download/file.php?id=131031&sid=b659756c38ed1b53e517ed5a96c1c13f&mode=view' target=_blank>Загрузить оригинал (406.31 КБ)</a>
И сейчас думаю над вопросом - в чем писать ПО.
Изначально хотел под .NET C#, думал между WinForms и WPF (последний как нельзя лучше подходит под задачу).

Windows, конечно, многим привычен и удобен, но ЧПУ станки часто расположены на производстве, и устанавливать на них виндоус - проблемно. По этой причине думаю как бы сделать возможным работу с ПО под Linux.

Из важных аспектов:
- необходима возможность отображения траектории силами OpenGL.
- связь с железом контроллера по Ethernet
- интерфейс нужно будет сделать так, чтобы он корректно (без замыливания, диспропорций и пикселизации) масштабировался под разные разрешения и dpi экранов.

Прикрепил пару тестовых файлов, использующих отрисовку силами OpenGL (со сглаживанием, перспективой и туманом).
Вложения
Desktop.zip
(503.5 КБ) 320 скачиваний
Аватара пользователя
michael-yurov
Почётный участник
Почётный участник
Сообщения: 11624
Зарегистрирован: 26 июл 2012, 00:10
Репутация: 4634
Настоящее имя: Михаил Львович
Откуда: Новоуральск
Контактная информация:

Re: Как написать софт под Windows и Linux?

Сообщение michael-yurov »

SVP писал(а):Если ты её собираешься продавать/поставлять, тогда да, придется покупать коммерческую лицензию.
Если для внутреннего употребления, то обязать тебя никто не вправе.
Собираюсь продавать (вместе с платой контроллера). И не хочу, чтобы китайцы немного поправив ПО наклепали платы под мой софт.
SVP писал(а):На самом деле костыли это всё сплошные.
В том смысле, что для того, чтобы было комфортней работать они там такого наворотили, после чего это уже
скорее кастрированная java нежели быстрый С++. Смысла не имеет особого.
Мне производительность вычислительной части не очень важна. Нужно, чтобы запускалась и работала быстро. OpenGL чтобы работал. Удобные инструменты для работы с графикой для создания интерфейса.
npa писал(а):Вообще от автора GPL этого и не требует, внезапно...
Вот это я пока не совсем понимаю. А что же тогда требуют? За что они хотят 6000 баксов в год?
npa писал(а):И ещё один момент: По LGPL лицензии вы можете создавать коммерческое ПО не открывая свои исходники, при условии, что вы не вносите изменения в исходный код самого Qt. То есть динамическая линковка.
Я полагал, что в наше время уже почти везде динамическая линковка.
Мне, вроде бы и не потребуется вносить изменения в код Qt.
npa писал(а):А вообще не очень понял вашу модель. Вы же прикладываете программу к устройству? Соответственно смысл человеку применять копию, полученную не от вас или стороннюю программу? Вас же в продаже устройств никто не ограничивает.
Так, оно, прикладываю к устройству... Но китайцы с большой долей вероятности наклепают клонов, как они с НЦСтудией и ПланетЦНЦ сделали. C косяками, глюками, худшими характеристиками и ограниченными возможностями, но, за то, в 10 раз дешевле.

Вот - только вчера залил видео про сборку степмастеров, как сразу же узкоглазое "Мясо Мяу" ищет исходники для копирования платы.
2018-01-31_12-21-52.png (6176 просмотров) <a class='original' href='./download/file.php?id=131036&sid=b659756c38ed1b53e517ed5a96c1c13f&mode=view' target=_blank>Загрузить оригинал (47.42 КБ)</a>
К слову - когда искал в Китае сборщиков для степмастеров - они сразу же требовали полный проект, включая прошивку, и потом еще месяц писали и названивали.
Аватара пользователя
selenur
Почётный участник
Почётный участник
Сообщения: 4604
Зарегистрирован: 21 авг 2013, 19:44
Репутация: 1621
Настоящее имя: Сергей
Откуда: Новый Уренгой
Контактная информация:

Re: Как написать софт под Windows и Linux?

Сообщение selenur »

michael-yurov писал(а):Но китайцы с большой долей вероятности наклепают клонов, как они с НЦСтудией сделали.
И с planetCNC они так-же сделали, что теперь только на этом форуме каждый месяц десятки пользователей появляются, которые получили негативный опыт работы с контроллерами, и при этом компания planet-CNC тут не причем....
Мой сайт: http://selenur.ru
Исходники моих программ: https://github.com/selenur
Instagram https://www.instagram.com/zheigurov/
Аватара пользователя
frezeryga
Почётный участник
Почётный участник
Сообщения: 13678
Зарегистрирован: 18 авг 2013, 16:08
Репутация: 5050
Откуда: Жуковский
Контактная информация:

Re: Как написать софт под Windows и Linux?

Сообщение frezeryga »

Для отдельных пользователей удобней и привычней винда но для производителей станков автоматом добавляется стоимость винды что делает систему дороже других которые работают на Linux.
Аватара пользователя
michael-yurov
Почётный участник
Почётный участник
Сообщения: 11624
Зарегистрирован: 26 июл 2012, 00:10
Репутация: 4634
Настоящее имя: Михаил Львович
Откуда: Новоуральск
Контактная информация:

Re: Как написать софт под Windows и Linux?

Сообщение michael-yurov »

frezeryga писал(а):Для отдельных пользователей удобней и привычней винда но для производителей станков автоматом добавляется стоимость винды что делает систему дороже других которые работают на Linux.
А со степмастером ты mach3 используешь или LinuxCNC? Что мешает второму варианту?
Аватара пользователя
frezeryga
Почётный участник
Почётный участник
Сообщения: 13678
Зарегистрирован: 18 авг 2013, 16:08
Репутация: 5050
Откуда: Жуковский
Контактная информация:

Re: Как написать софт под Windows и Linux?

Сообщение frezeryga »

Также Linux позволяет использовать набирающие популярность микрокомпьютеры которые стоят недопого и их удобно размещать в шкафу. Пример исполнения mycnc et6 очень удачный где компьютер крепится на плату контроллера а сам контроллер можно ставить на DIN рейку.
Аватара пользователя
frezeryga
Почётный участник
Почётный участник
Сообщения: 13678
Зарегистрирован: 18 авг 2013, 16:08
Репутация: 5050
Откуда: Жуковский
Контактная информация:

Re: Как написать софт под Windows и Linux?

Сообщение frezeryga »

michael-yurov, со степмастером использую Linuxcnc. Но мы сейчас про новый софт.
Аватара пользователя
Prav
Мастер
Сообщения: 827
Зарегистрирован: 14 июл 2015, 05:10
Репутация: 138
Настоящее имя: Петр Раввинский
Откуда: Москва
Контактная информация:

Re: Как написать софт под Windows и Linux?

Сообщение Prav »

michael-yurov писал(а):Windows, конечно, многим привычен и удобен, но ЧПУ станки часто расположены на производстве, и устанавливать на них виндоус - проблемно. По этой причине думаю как бы сделать возможным работу с ПО под Linux.
Я за то, чтобы не распыляться и не пытаться сделать под ВСЁ и сразу. Лучше сосредоточиться под одну операционку, лучше под Windows, потому как ты говоришь: "Windows, конечно, многим привычен и удобен...".
Аватара пользователя
frezeryga
Почётный участник
Почётный участник
Сообщения: 13678
Зарегистрирован: 18 авг 2013, 16:08
Репутация: 5050
Откуда: Жуковский
Контактная информация:

Re: Как написать софт под Windows и Linux?

Сообщение frezeryga »

Только при работе на станке взаимодействия пользователя с операционной системой практически нету. У меня есть станки и с линукс и с виндой и папка куда кидать уп и там и там одинаковая.
Аватара пользователя
Сергей Саныч
Мастер
Сообщения: 9116
Зарегистрирован: 30 май 2012, 14:20
Репутация: 2857
Откуда: Тюмень
Контактная информация:

Re: Как написать софт под Windows и Linux?

Сообщение Сергей Саныч »

michael-yurov писал(а):ты mach3 используешь или LinuxCNC? Что мешает второму варианту?
Доступность альтернативных решений (аппаратных генераторов, плат ввода-вывода). В том числе не привязанных к LPT.
Чудес не бывает. Бывают фокусы.
Аватара пользователя
selenur
Почётный участник
Почётный участник
Сообщения: 4604
Зарегистрирован: 21 авг 2013, 19:44
Репутация: 1621
Настоящее имя: Сергей
Откуда: Новый Уренгой
Контактная информация:

Re: Как написать софт под Windows и Linux?

Сообщение selenur »

Если для разработки использовать Mono, то созданный проект нормально компилируется под 3 платформы, на скрине я для примера показал один и тот-же проект под Linux и windows:
2018-01-31_125943.jpg (6130 просмотров) <a class='original' href='./download/file.php?id=131038&sid=b659756c38ed1b53e517ed5a96c1c13f&mode=view' target=_blank>Загрузить оригинал (67.72 КБ)</a>
Хотя конечно есть нюансы когда начинаешь использовать последовательные порты, сеть, и дрр...
Но везде есть свои сложности....
Мой сайт: http://selenur.ru
Исходники моих программ: https://github.com/selenur
Instagram https://www.instagram.com/zheigurov/
npa
Новичок
Сообщения: 14
Зарегистрирован: 30 янв 2018, 08:20
Репутация: 0
Настоящее имя: Руслан
Контактная информация:

Re: Как написать софт под Windows и Linux?

Сообщение npa »

michael-yurov писал(а):Вот это я пока не совсем понимаю. А что же тогда требуют? За что они хотят 6000 баксов в год?
Речь о том что автор первичен, а вот те кто поделятся этим софтом нарушат GPL. А держатели QT...понять их можно, на зарубежные цены лицензия копеечная получается. Но если в саму библиотеку вы изменений не вносите и в варианте LGPL всё более-менее чисто. Более того можете просто организовать общение своего секретного кода с GUI так, чтобы не нарушалась GPL.
А так прекрасно понимаю...я потому не заказываю свои разработки в Китае - требуют весь проект.
Prav писал(а):Я за то, чтобы не распыляться и не пытаться сделать под ВСЁ и сразу.
Не всё и сразу а сделать вовремя. Проще сначала, чем потом портировать. И это ненамного сложнее, хотя чуть дольше при отсутствии опыта кросс-разработки. Я простые конфигураторы для своих устройств делал, работали и там и там. Правда тащили с собой GTK и Питон или WX.
selenur писал(а):Если для разработки использовать Mono, то созданный проект нормально компилируется под 3 платформы
Тоже вариант, кстати. Я за то чтобы поддержка в Linux различных аппаратных решений и вообще промышленного оборудования была шире. Сейчас появляется среда для ПЛК, а когда я начинал (после того как вирус в winXP уничтожил за день до сдачи мой курсач по C++ и я поставил ASP 9) - не было ни OCR, ни доступных CAD и т.д.
Последний раз редактировалось npa 31 янв 2018, 11:17, всего редактировалось 1 раз.
SVP
Мастер
Сообщения: 6135
Зарегистрирован: 19 дек 2012, 15:49
Репутация: 884
Откуда: Москва
Контактная информация:

Re: Как написать софт под Windows и Linux?

Сообщение SVP »

npa писал(а): По LGPL лицензии вы можете создавать коммерческое ПО не открывая свои исходники, при условии, что вы не вносите изменения в исходный код самого Qt. То есть динамическая линковка.
Теоретически да. Практически так никто не делает.
Т.е. если говорить о лицензионной чистоте и гарантии того, что не будет проблем, по этому сценарию ничего этого нету.
Причем сами авторы QT об этом прямо пишут.

Ясно, что они не заинтересованы итп, но факт фактом, после нескольких раундов консультаций, приличная иностранная компания от этого пути отказалась. А ведь могли сэкономить тучу бабок. Ан нет, юристы запретили.

В вариатне ТС-а QT не вариант. Т.е. конечно, использовать можно, у нас вообще в стране не парятся о лицензировании. Но корректно воспользоваться бесплатной лицензией не выйдет.

Впрочем, если ТС более грамотен, чем "какие-то там иностранные юристы", он очевидно сам может решить для себя этот вопрос.
Однако я был-бы последним земляным червяком, если бы агитировал его за столь спорное решение.
Изначально я думал, что у него софт для личного внутреннего применения.

Инструментов для решения его задачи немного.
Я сам не любитель java, но всерьез посмотрел-бы можно-ли использовать её.
Опыт опять-таки говорит, что с запуском на различных устройствах у неё получше.
Java FX я правда пока не осилил, как-то после wpf там с биндингом непонятно, но разобраться я уверен можно.
Приложение написанное со свингом (давно дело было) работало под win, под linux, и вот сейчас его допилили и оно работает вообще внутри линукса на ксайлинксе, даже без gpu итп, причем с минимумом переделок.

Небольшой опыт использования QT показал, что неприятные косяки лезут прям при переносе win->linux. Т.е. под виндой работает одним образом, под линуксом уже немного другим... высокой производительности при использовании qml не ждите...
Последний раз редактировалось SVP 31 янв 2018, 11:26, всего редактировалось 1 раз.
Ответить

Вернуться в «Оффтоп»