Кроссплатформенность на практике

Модератор: Модераторы разделов

Аватара пользователя
cy6erGn0m
Сообщения: 119
ОС: MandrivaLinux/Solaris 10

Re: Кроссплатформенность на практике

Сообщение cy6erGn0m »

на мой взгляд это всё фигня. Зачастую бирка опенсорс означает чрезвычайно низкое качество продукта и только ОЧЕНЬ старые опенсорсные продукты представляют из себя что-то серьёзное. На мой взгляд моно ещё развиваться и развиваться, а ява штука устоявшаяся и куда стабильнее и грамотнее сделанная чем моно. Можете кидаться камнями/помидорами, но это так :)
I want to Believe!

They must find it difficult...
Those who have taken authority as the truth,
Rather than trusth as the authority.
/G.Messey/
Спасибо сказали:
Аватара пользователя
/dev/random
Администратор
Сообщения: 5456
ОС: Gentoo

Re: Кроссплатформенность на практике

Сообщение /dev/random »

ozone baby писал(а):
16.05.2008 15:13
почему-то от wxWidgets многие плюются. Лично мне C# больше нравится.

От C# плюются гораздо чаще, чем от wxWidgets. Почитать хотя бы отзывы на этом форуме.
Спасибо сказали:
Аватара пользователя
Electronix
Сообщения: 53
ОС: Slackware, Suse, XP

Re: Кроссплатформенность на практике

Сообщение Electronix »

Я пробовал работать с WxWidgets, на мой взгляд это еще очень сырая библиотека. Функционал довольно скудный - ну собственно это же ведь бесплатный продукт, и для бесплатного очень даже хороший.
We have no beginning, we have no end. We are infinite.
Спасибо сказали:
sergio
Сообщения: 436
Статус: Интересующийся новичок
ОС: Debian GNU/Linux 4 & 5

Re: Кроссплатформенность на практике

Сообщение sergio »

Некто археолог-любитель выкопал тему, которая обсуждалась в декабре. Так что не флеймите попусту. :)
Debian GNU/Linux 4 -- AMD Athlon64 3000+ / Asus 7600GS -- Gnome
Debian GNU/Linux 5 -- Dell (Vostro) 500 (Celeron M560 / iGM965) -- Gnome
Спасибо сказали:
Аватара пользователя
Electronix
Сообщения: 53
ОС: Slackware, Suse, XP

Re: Кроссплатформенность на практике

Сообщение Electronix »

Ой, блин - да я оказывается некромант, воскреситель топиков :)
Извините, честное слово - не заметил.
We have no beginning, we have no end. We are infinite.
Спасибо сказали:
Аватара пользователя
Iroln
Сообщения: 201
ОС: openSUSE 10.3

Re: Кроссплатформенность на практике

Сообщение Iroln »

Electronix писал(а):
17.05.2008 21:56
Я пробовал работать с WxWidgets, на мой взгляд это еще очень сырая библиотека. Функционал довольно скудный - ну собственно это же ведь бесплатный продукт, и для бесплатного очень даже хороший.

А по моему WxWidgets мало чем уступает той же Qt особенно для создания не OpenSource кросплатформенных проектов. Скажем, я очень люблю и уважаю такие программы как Code::Blocks и Audacity, и не считаю, что они написаны на сыром инструментарии.
К тому же WxWidgets не такая и молодая (проект был запущен в 1992 году), успела нарастить потенциал, и продолжает бурно развиваться. Функционал для решения тривиальных и не только задач программирования вполне достаточен.

Что-то автора темы давно не слышно, наверное он уже принял для себя, как поступит? :)
Тайною мир держится
Спасибо сказали:
Аватара пользователя
Electronix
Сообщения: 53
ОС: Slackware, Suse, XP

Re: Кроссплатформенность на практике

Сообщение Electronix »

Iroln
Наверное. Честно говоря я не в восторге от code::blocks. В линуксе он вообще падает у меня постоянно с включенными плагинами, даже проект не создать (сегментфолитстя - последнию смотрел версию 2.0). Под виндой на него посмотрел - этакая Visual Studio 6, причем версия бетта.
We have no beginning, we have no end. We are infinite.
Спасибо сказали:
Аватара пользователя
OCTAGRAM
Сообщения: 28
ОС: Mac OS X

Re: Кроссплатформенность на практике

Сообщение OCTAGRAM »

Неприятные косяки есть и в Qt, и в wxWidgets. В версии под Mac у них косячат элементы системного меню. В обоих библиотеках было принято решение делать вид, что Mac OS X — это Линукс, а потом нужные элементы перемещать на нужное место. Вот, например, Настройки... удаляются из меню Правка... и перемещаются в основное системное меню. Аналогично нужно переместить "О программе..." из меню Справка, потому что в Mac OS X для этого пункта принято другое местоположение. В обоих библиотеках не обошлось без косяков с этим подходом. В обоих библиотеках при перестановке элементов либа распознаёт нужные ей элементы по их имени и идентификатору. Я считаю, это должно производиться только по идентификатору, чтобы англоязычные разработчики тоже видели косяк. Вот, например, wxWidgets распознаёт меню Справка по имени "&Help". Стоит переключить язык на русский, и, если не исправить исходный код, меню начинает косячить. В Qt аналогично. После того, как я поставил русификатор на Psi, у него сломалось меню. Пользоваться можно, но это ненормально, что есть такие проблемы. В wxWidgets, что самое забавное, когда я сделал, чтобы переведённое меню "&Help" распознавалось правильно, оно начало отображаться по–английски. Точнее, там было два меню, по–русски и по–английски, а осталось одно по–английски.
И я даже не знаю, как перевести Macintosh-specific элементы меню, потому что на программном уровне они отсутствуют. Вот у тоже хелпа локализованное название можно было взять из названия удалённого меню. Но нет, в wxMac захардкодили английскую версию.

Мне раньше нравились wx, потому что у них элементы управления настоящие, в отличие от Qt. Вот в Psi мне человек, допустим, посылает линк на файл, я этот линк, ес–но хочу перетащить на качалку. Во всех программах drag-n-drop ссылок и текста работает без проблем. Только не в Psi. Если я пытаюсь перетащить ссылку, вместо перетаскивания ссылки начинается выделение текста. Psi не даёт забыть, на каком ущербном движке он сделан.

Всё это время хорошей рекламой wx был VLC. Как выяснилось, у VLC для Mac OS X основной интерфейс был написан с нуля, с использованием родных библиотек, поэтому косяки wx там и не всплывали.

Сейчас даже не знаю, чем и пользоваться для Xplatform интерфейса. Я разочаровался во всём, что видел. На заметке Cocotron и FLTK.
If you want to get to the top, you have to start at the bottom
Спасибо сказали:
Аватара пользователя
AMD
Сообщения: 478
Статус: Maestro
ОС: Linux Kubuntu 7.10

Re: Кроссплатформенность на практике

Сообщение AMD »

divenvrsk писал(а):
10.12.2007 13:55
я бы на вашем месте все переписал на java, гарантированная кроссплатформенность + легкость формирования интерфейся. да и мне кажется быстрее будет приглядется к java чем переписывать на с++ \ qt.


Дествительно все в пользу Java а если любишь рисовать формочки то установи себе NetBeans

Кроссплатформеней чем Java некуда
Да и куча технологий и возможностей и нетрудно в изучение
Спасибо сказали:
Аватара пользователя
.Serj.
Сообщения: 127
ОС: Gentoo, Win7

Re: Кроссплатформенность на практике

Сообщение .Serj. »

В принципе, можно пользовать Python с PyQt или wxPython (или TkInter, если нужно что-нибудь простое написать). А потом перегонять в .exe'шники с помощью py2exe.
Спасибо сказали:
Аватара пользователя
AWSVladimir
Сообщения: 138
ОС: пока Мандривка

Re: Кроссплатформенность на практике

Сообщение AWSVladimir »

Denjs писал(а):
13.12.2007 17:06
indie писал(а):
13.12.2007 16:16
serzh-z писал(а):
13.12.2007 12:57
Denjs писал(а):
13.12.2007 07:26
тем более wine умеет делать "типа-линукс-программу" - пакет готовый к исполнению в линуксе ? (где-то в описаниях было, сам так не делал) )
Да, проект Winelib.

winelib бывает под паскаль?

стоп-стоп-стоп... я говорил про то что из бинарника.exe и wine делается "типа нормальная линукс программа".
какой нафиг паскаль-не-паскаль?...
блин видимо придется самому ссылки искать.


Эх, а я бы хотел посмотреть на это творение....
Спасибо сказали:
Mr.Floppy
Сообщения: 24
ОС: Debian GNU/Linux Etch/Lenny

Re: Кроссплатформенность на практике

Сообщение Mr.Floppy »

AWSVladimir писал(а):
26.05.2008 09:06
Эх, а я бы хотел посмотреть на это творение....

Google Picasa
Спасибо сказали:
Аватара пользователя
AWSVladimir
Сообщения: 138
ОС: пока Мандривка

Re: Кроссплатформенность на практике

Сообщение AWSVladimir »

Mr.Floppy писал(а):
28.05.2008 20:22
Google Picasa


Реву и припадаю к коленам!
Научите меня делать так же!!!
Хелп!
Ящик сока с меня (вместо пива).

Хочу, хочу, хочу....
:wacko: :blush:
Спасибо сказали:
Demonsh
Сообщения: 22
ОС: OpenSuse 11

Re: Кроссплатформенность на практике

Сообщение Demonsh »

cy6erGn0m писал(а):
16.05.2008 17:11
Зачастую бирка опенсорс означает чрезвычайно низкое качество продукта и только ОЧЕНЬ старые опенсорсные продукты представляют из себя что-то серьёзное. Ява штука устоявшаяся и куда стабильнее и грамотнее сделанная чем моно.

Про опенсорс трудно не согласится, но тут прямая закономарность, новые продукты как правило разрабатывают 1-5 человек и делают это "по возможности". В отличии от коммерческих где явно есть цель и жестко по времени. Хороши даже не старые продукты опенсорса, а те над которыми работает достаточно большая команда с грамотным менджментом.
А вот по поводу явы, тут... в процессе работы приходится мне использовать различные ява приложения, но небыло ниодного(!) которое бы доставляло комфорт. Проблема по сути одна, тормоза и еще раз тормоза. .Net с явой сравнивать нет смысла, по сути не кроссплатформенная (а моно и рядом не стоит, писал я софт с моно, но такое количество багов было что пришлось в результате отказаться. Притом баги были в компонентах которые числились полностью портированными). Но если подумать идеология с явы и .Net похожа, и там фреймворк и там, код дефакто не компилируется при сборке и только в среде выполнения транслируется в двоичныый код. Но посмотрите на результат, скорость работы приложений на .Net (имею ввиду интерфейса) не уступает скомпилированным аналогам, а java? просто бесит, нажал кнопку и невооруженным глазом видно тормознутость реакции.
Фактически java имхо внесла правильную мысль в теорию разработки софта, но реализация на мой взгляд провальна и к сожалению никто не собирается это менять.

по теме: самым оптимальным способом разработки кросс-платформенных программ есть использование QT (или аналога) и компиляция под каждую платформу отдельно. вот только для комерции qt дороговато....
Спасибо сказали:
Аватара пользователя
Denjs
Сообщения: 1685
ОС: SuSe 10.2

Re: Кроссплатформенность на практике

Сообщение Denjs »

Demonsh писал(а):
29.05.2008 18:18
по теме: самым оптимальным способом разработки кросс-платформенных программ есть использование QT (или аналога) и компиляция под каждую платформу отдельно. вот только для комерции qt дороговато....

не "для коммерции", а "для Close-Source" или non-GPL лицензии.
QDroid - Среда исполнения и фреймворк для QtScript.
OTPD - Открытые драйвера промышленных принтеров чеков и этикеток (кроссплатформенная подсистема печати).
Спасибо сказали:
Аватара пользователя
akdengi
Сообщения: 4244

Re: Кроссплатформенность на практике

Сообщение akdengi »

Ну про кросс свои пять копеек вставлю - спокойно перевели проект с Visual Studio Net 2.0 на Mono 1 + Wine - хоть и не совсем то и костыли, но работает. Так как писали по уму (весь перевод и настройки не родными средствами, а в xml файлах и на Формах кроме элементов и сигналов с вызовом внешних процедур ничего нет, то для построения нативного приложения осталость только переделать эти самые формы. Так что C# рановато списывать.
Меня тут снова нет :P
Спасибо сказали:
Аватара пользователя
VoidExp
Сообщения: 208
Статус: Lead guitar adept
ОС: Ubuntu

Re: Кроссплатформенность на практике

Сообщение VoidExp »

Могу только посоветовать wxWidgets. Был опыт работы с QT и GTK2. Первый громоздкий, тормоза нередки, в силу своей всесторонности использования нередко можно запутаться, да и лицензия у него под бизнес проекты платная. Второй легкий, смотрится одинаково и в окошках и в пингвине, но написание программ под него требует долгих часов изучения документации, да и вообще внутреннее устройство его не слишком интуитивное. А вот тулкит wxWidgets понятен с первых минут, тормозов не встречал, весит 5-7 метров да и юзает нативные рендеры для отображения виджетов на поддерживаемых осях (Linux, Mac OS X, Windowz и прочие). Ща пишу на нем прогу с ГПИ, и должен сказать что большой мороки и сложности нету, так что переписывать можно (я юзаю С++). Плюс у него куча всяких биндингов типа wxPython и расширения для общего использования, например приятный класс wxString, разные сокетовые интерфейсы и т.д
Спасибо сказали: