LINUX.ORG.RU

Кроссплатформенная разработка

 , ,


1

5

Подскажите, на чём писать крупное коммерческое ПО с GUI, чтобы быстро и дёшево и нативно на все десктопные ОС. Какие языки, компиляторы и библиотеки лучше использовать? Рассматриваю вариант взять за основу существующую разработку с github и прочих, но приходит понимание, что в миллионах строк чужого кода разобраться немногим легче, чем написать свои. Какие opensource-проекты можно рассматривать для коммерческой разработки? Где почитать про структуру этих проектов и варианты использования у себя? Буду благодарен за любые советы, если есть полезные мне ссылки - шлите и их.

Ты бы нормально написал, что хочешь. Собственный GUI и нативно не вяжется. Что за ПО? На какие ОС ориентируешься?

Пиши кроссплатформенный бэкэнд на С. И GUI-фронтэнды нативные. С Qt не связывайся

anonymous ()
Ответ на: комментарий от august

Что с лицензией у Qt, я обязан им платить в случае коммерческой разработки?

Нет, там есть lgpl вариант.

Мне нужен собственный GUI, потому, думаю, Java не подойдёт.

В смысле?

Dudraug ★★★★★ ()

У comsol ядро на яве, под мак и линукс гуй тоже на яве. Под вендой отдельный гуй на дотнете, который использует то же ядро на яве.

anonymous ()

быстро и дёшево и нативно

выберите любые два из трёх пунктов.

либо быстро и дёшево, но не нативно. либо быстро и нативно, но не дёшево.

насчёт «всех десктопных ОС» - это вообще недёшево и небыстро в любом раскладе. но если есть такое требование, то только веб. потому что «десктопных ОС» сейчас как собак нерезаных и тестировать на всех вариантах - это действительно под силу только жирному энтерпрайзу, который обойдётся в неслабые затраты на разработку, поддержку и тестирование. в общем, таких проектов как-то не видать. даже монстры вроде Intel ограничивают поддержку двумя-тремя мейнстримовыми дистрами.

Iron_Bug ★★★★ ()
Ответ на: для gui от sqq

Про Nuklear и LibUI почитаю. Си рассматриваю, как первый вариант, но с плюсами. С остальными не разобрался, нативных не нашёл, некоторые транслируются в Си (Python, Vala, etc) или выполняются на всякой виртуальщине, с чем я не согласен. Ничего не понял про Swift, во что он там собирается. ))

august ()
Ответ на: комментарий от Harald

Любой софт подразумевает удобство. )) Например, кнопка «Открыть» в самом популярном офисном пакете. Там сбоку кнопка выпадающего меню дорисована. Выглядит, конечно, стрёмно, но смысл-то верный. Сайт Microsoft, сама картинка. Нужно такое же удобство, но с нормальной отрисовкой.

august ()
Ответ на: комментарий от august

В JavaFX внешний вид контролов задается через css, можно кастомизировать как угодно.

Быстро, кроссплатформенно и так чтобы выглядело везде одинаково — это либо java, либо Qt.

hippi90 ★★★★ ()
Ответ на: комментарий от august

Смущает только лицензия. )) Но сам я её не читал. Видимо, в итоге придётся это сделать.

Когда прочитаешь, расскажи, а то я прочитал, но легче от этого не стало. Ведь все на этом хотят заработать )

UVV ★★★★★ ()
Ответ на: комментарий от august

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

Iron_Bug ★★★★ ()
Ответ на: комментарий от august

Что с лицензией у Qt, я обязан им платить в случае коммерческой разработки?

Нет, можешь применять LGPL-версию. И коммерческая-некоммерческая тут вторично, LGPL требует только, чтобы покупатель смог запустить твою прогу с другой версией Qt. Что вполне решается, например, динамической линковкой.

Ну и если тебе ВДРУГ надо будет пропатчить _саму_ Qt (что бывает крайне редко), патч надо тоже распространять на условиях LGPL. На твою прикладную программу это условие не распространяется.

Хотя наша фирма таки купила коммерческую версию - в основном, чтобы показывать бумажку с лицензией всяким въедливым дядькам от заказчиков. Для коллектива, зарабатывающего программированием, она не так уж и дорого стоит. Заодно и разработчиков Qt поддержать.

hobbit ★★★★★ ()
Последнее исправление: hobbit (всего исправлений: 2)

Qt.

Если нужны прям совсем кастомные интерфейсы, то однозначно Qt Quick. Если нужны всякие десктоп-специфичные штуки типа кучи таблиц и работы с текстом, то QtWidgets + кастомизация через QSS.

CrossFire ★★★★★ ()
Ответ на: комментарий от CrossFire

Qt, к сожалению, не идеальна. Но Кьют - однозначно кандидат в первых рядах. Пошёл думать над своей темой. Спасибо за ответы и информацию. Возможно, позже отпишусь сюда, что выбрал и на чём пишу.

august ()
Ответ на: комментарий от Iron_Bug

вы забыли, что не на всех десктопных ОС этот ваш веб (а ему нужен жирный браузер в каком-то виде) вообще взлетит? Например, OS/2 или Aros: когда там для них браузеры в последний раз обновляли?

anonymous ()

А зачем обязательно нативно? Если это коммерческое крупное ПО, пользователям лишь бы работало. Быстро и дешево - быстро написать, или чтобы быстро работало?

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

Но если честно, я за Qt 5, считай сколько будет постов со словом Qt в этой теме.

I-Love-Microsoft ★★★★★ ()
Последнее исправление: I-Love-Microsoft (всего исправлений: 1)

Подскажите, на чём писать крупное коммерческое ПО с GUI, чтобы быстро и дёшево и нативно на все десктопные ОС.

Такое себе даже гугл позволить не может. А у вас там что? Терагугл какой-нибудь с альфы центавры, расширяетесь на новые рынки?

foror ★★★ ()
Ответ на: комментарий от anonymous

вы забыли, что не на всех десктопных ОС этот ваш веб (а ему нужен жирный браузер в каком-то виде) вообще взлетит? Например, OS/2 или Aros: когда там для них браузеры в последний раз обновляли?

бгы.. можно подумать, что там что-либо другое взлетит.

waker ★★★★★ ()