LINUX.ORG.RU

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

 , ,


1

5

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


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

Мне нужен собственный GUI, потому, думаю, Java не подойдёт. Что с лицензией у Qt, я обязан им платить в случае коммерческой разработки?

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

Собственный GUI - это как и зачем?

anonymous
()

Нативного нет. А так Java или Qt, как написали. Еще есть лисповое CAPI, но это для эстетов

dave ★★★★★
()

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

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

anonymous
()

Помимо вышеупомянутых Qt и Java, и учитывая «свой gui» ещё можно посмотреть в сторону web технологий аля electron.

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

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

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

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

В смысле?

Dudraug ★★★★★
()

... чтобы быстро и дёшево и нативно на все десктопные ОС.

wxWidgets

anonymous
()

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

anonymous
()

Быстро, дешево, нативно, переносимо и энтерпрайзно? Как-то больно много хотелок. Может половину все-таки можно откинуть?

morse ★★★★★
()

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

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

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

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

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

Однозначно согласен. )) Линукс - это Debian (или Ubuntu) + OpenSUSE, обязательно Windows, ну, и, возможно, MacOS. На BSD не рассчитываю.

august
() автор топика

Qt + C++, компилятор GCC, на венде mingw в cygwin, на маке из macports

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

Нужна собственная отрисовка контролов. На первом этапе стандартными буду обходиться, потом их нужно будет заменить на свои.

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

зачем нужна собственная отрисовка контролов, какой будет экономический профит от собственной отрисовки контролов

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

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

august
() автор топика

чтобы быстро и дёшево и нативно на все десктопные ОС

Limbo + Inferno OS.

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

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

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

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

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

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

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

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

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

С помощью Qt можно сделать такую кнопку, инфа 100%

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

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

Iron_Bug ★★★★★
()

Ну наконец-то. Всегда удивлялся, почему разработчики крупного коммерческого ПО не спрашивают совета на ЛОРе.

anonymous
()

Common Lisp, Python, C, Java, Racket

playX ★★
()

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

JUCE

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

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

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

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

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

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

Qt.

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

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

Спасибо. Точно будут свои контролы. )) Их, можно будет и выложить на github'е.

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

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

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

у нмх lgpl: не обязан; есть полно коммерческого софта, написанного на кутях безо всяких отчислений

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

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

anonymous
()

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

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

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

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

а зачем контролы заменять на свои?

Это называется юзабилити, когда GUI затачивается под нужды ПО, а не наоборот.

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

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

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

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

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

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

waker ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.