Форум: "Прочее";
Текущий архив: 2011.04.24;
Скачать: [xml.tar.bz2];
ВнизВыбор технологии кросс-платформенного приложения Найти похожие ветки
← →
Rok (2011-01-06 17:25) [0]Хорошо знаю Delphi, знания остальных языков минимальны.
Есть потребность написать небольшое кросс-платформенное приложение, клиента. Будет работа с БД, приложение в целом офисное / для разработчиков. Параллельно хочется узнать кухню nix"ов, освоить новое.
Планируется работа приложения в WinNT / Linux / FreeBSD.
Собственно, что выбрать?
Я хочу вначале исключить Java, штука большая и полезная, но я ее позиционирую как бизнес-среду все таки... Не хочется тащить за собой framework"и (или хотя бы поменьше тащить) и виртуальную машину.
Собственно, я знаю два варианта еще для такого типа клиентского GUI-приложения:
1) gcc + QT - ничего в них не понимаю, придется заново осваивать
2) FreePascal - насколько я понимаю, проект в настоящее время все таки сыроват.
Возможно, есть какие-то другие альтернативы? Повторюсь - в принципе, небольшая клиентская программа по работе с БД.
Кто какие технологии использовал, как впечатления? Желательно, конечно, что-то более-менее новое, актуальное, но при этом не мода на пару дней. Вот как была классикой D5-D7 в свое время для разработи под win, вот хочется найти сочетание для кросс-платформенного приложения.
← →
Rok (2011-01-06 17:28) [1]и сразу маленький побочный нубский вопрос.
Рассмотрим сочетание C++ и Qt. Насколько я знаю, последний сильно связан с KDE. Будет ли такое приложение при этом работать в среде GNOME? А в других средах типа xfce и пр.?
Вообще, приложения под *nix они в этом смысле оболочко-независимые или есть нюансы?
← →
antonn © (2011-01-06 17:28) [2]
> Повторюсь - в принципе, небольшая клиентская программа по
> работе с БД.
"через браузер" можно все функции реализовать?
← →
icelex © (2011-01-06 17:29) [3]
> 1) gcc + QT - ничего в них не понимаю, придется заново осваивать
значит не трогай их
> 2) FreePascal - насколько я понимаю, проект в настоящее
> время все таки сыроват.
с какого такого перепуга?
← →
icelex © (2011-01-06 17:31) [4]
> Rok (06.01.11 17:28) [1]
>
> Насколько я знаю, последний сильно связан с KDE.
связь в другую сторону
работать будет везде, только библиотеки не забудь нужные, либо все включай в бинарник
← →
Ega23 © (2011-01-06 17:33) [5]Тонкий клиент, и нефиг изобретать.
← →
DVM © (2011-01-06 17:34) [6]
> Хорошо знаю Delphi,
FreePascal + Lazarus уже вполне зрелый продукт
← →
TUser © (2011-01-06 17:50) [7]> 2) FreePascal - насколько я понимаю, проект в настоящее время все таки сыроват.
Я бы не сказал, что он сыроват. Если говорить о поддержке Delphi, то из D7 не поддерживаются интерфейсы (из широко используемого). Остальное вполне стабильно работает.
Из новомодных вещей там тоже что-то есть, например, дженерики, + если какие-то свои возможности, но про это я не скажу - не пользуюсь (мне надо чтобы код компилировался в TD и FP).
Гуи - лазарус, тоже не пользуюсь, лет 5 назад он и правда был сыроват, но сейчас, говорят, мощно шагнул вперед.
← →
me (2011-01-06 18:02) [8]php + extjs
← →
Rok (2011-01-06 20:12) [9]
> "через браузер" можно все функции реализовать?
думал об этом.. В принципе, все в мире к этому идет. Но в данном случае хотелось поизучать кросс-платформенные среды с точки зрения написания клиента.
> Тонкий клиент, и нефиг изобретать.
имеешь в виду WEB?
← →
RWolf © (2011-01-06 23:31) [10]Python + wxWidgets.
← →
PEAKTOP © (2011-01-07 13:56) [11]> Возможно, есть какие-то другие альтернативы? Повторюсь - в принципе, небольшая клиентская программа по работе с БД.
Delphi7 + Kylix3.
Несмотря на то, что на новых ядрах Линукса Kylix "не взлетает", можно таки откомпилить приложение из конслоли. И оно (приложение) будет работать.
А благодаря приблуде в виде CrossKylix http://crosskylix.untergrund.net/ можно даже линухи не загружать, а откомпилить прямо в винде из Delphi7.
← →
tesseract © (2011-01-07 14:32) [12].Net сейчас пихается во все дистрибьютивы. Почему бы не воспользоваться delphi for .Net ? Заодно и под мак и freebsd пойдет.
← →
DVM © (2011-01-07 14:38) [13]
> Почему бы не воспользоваться delphi for .Net ?
Сам по себе это уже инвалид, так еще будет запускаться под моно. Лучше уж тогда другой язык взять, c# тот же.
Lazarus намного лучше этой связки, да и лучше чем кайликс.
← →
Rok (2011-01-07 15:15) [14]
> .Net сейчас пихается во все дистрибьютивы
ух. А .NET уже работает под линух? Я что-то пропустил... )
А какая версия .net поддерживается в mono? Насколько они вообще скорелированы?
И собственно в чем идет разработка, не в MS-студии же?
← →
SegeyIT (2011-01-07 15:52) [15]В действительности не хватает информации что за БД, что делает клиент, сколько пользователей. Может проще на php все сделать и не портировать клиентов на разные платформы.
Ну или новые технологии поизучать, к примеру
http://www.webtoolkit.eu/wt
или что-то другое из веб...
← →
tesseract © (2011-01-07 19:03) [16]
> ух. А .NET уже работает под линух? Я что-то пропустил...
> )
Лет 5 жизни.
> Сам по себе это уже инвалид, так еще будет запускаться под
> моно.
Так это и есть моно. Не сказал бы, что это инвалид. Весьма неплохо для чисто прикладных решений.
> Насколько они вообще скорелированы?
Так себе. Но разрабатывать можно. Остальные кросcплатформенные чудеса еще хуже. Ну кроме wxWidgets.
← →
Eraser © (2011-01-07 19:18) [17]> [0] Rok (06.01.11 17:25)
> Я хочу вначале исключить Java
а зря.
> но я ее позиционирую как бизнес-среду все таки
кто позиционирует? уже довольно давно java вполне подходит и для десктопных приложений. фреймворк весит не так уж много, сравнимо с qt.
← →
tesseract © (2011-01-07 19:45) [18]
> > Я хочу вначале исключить Java
>
> а зря.
В таком случае llvm исключать - преступление.
← →
DiamondShark © (2011-01-07 20:18) [19]
> Повторюсь - в принципе, небольшая клиентская программа
> по работе с БД.
Жабу возьми (ой-вэй, неужели это я сказал?). Она страшненькая, но пока это единственный вариант для нетрансректального создания действительно многоплатформенного приложения.
Ну и стоит ОЧЕНЬ основательно подумать над вопросом, зачем вообще нужно именно кросплатформенное приложение.
← →
Eraser © (2011-01-07 23:05) [20]Кстати, еще есть такая вещица как Wine. Сейчас очень хорошо работает уже.
← →
XXL (2011-01-08 12:30) [21]
> Eraser © (07.01.11 23:05) [20]
> Кстати, еще есть такая вещица как Wine. Сейчас очень хорошо работает уже.
Кстати, все мои Deplhi + IB приложения прекрасно работают под Wine.
С MSSQL или pg посложнее конечно, но тоже говорят может работать. В крайнем слуае можно и трехзвенку затулить.
← →
Rok (2011-01-08 16:12) [22]
> С MSSQL или pg посложнее конечно
ну с MSSQL понятно, а чем с pg сложнее? Он существует в версиях и под win, и под линь.
← →
tesseract © (2011-01-08 17:42) [23]
> Он существует в версиях и под win, и под линь.
Клиентские либы то от одной оси к другой не пришьешь.
← →
Rok (2011-01-08 18:28) [24]
> Клиентские либы то от одной оси к другой не пришьешь.
это относится к любым либам. И гланый исполняемый файл программы к другой оси не пришьешь - это просто очевидно. Дистрибутивы будут разные под разные ОС.
← →
Rok (2011-01-08 18:48) [25]есть недопонимание насчет разных версий linux. Их же существует огромное количество, во многих принята некая система пакетов, как я понимаю иногда совместимая, зачастую нет.
В общем случае - выкладывают исходник программы, написанной на C++. И каждый сам ее компилит, собирает. Основано это на том, что почти на всех линуксах есть gcc и можно откомпилить.
А вот если говорить о сочетании Lazarus + FreePascal. То, что откомпилится - для какой версии будет? Ведь gcc есть везде, к нему привыкли линуксоводы... Получается, чтобы грамотно распространить свою кросс-платформенную программу, мне нужно скомпилить ее на всех нужных ОС и выложить в виде бинарника? (потому что Freepascal вряд ли у кого найдется и вряд ли кто-то будет сильно заморачиваться установкой компилятора для одной программы).
Это все так? Популярных дистрибутивов линукса есть, наверное, с десяток штук. Плюс всякие FreeBSD. Это с выходом новой версии программы нужно подготовить 10-20 дистрибутивов программы, запуская разные ОС? Ибо фишка с исходниками как в случае C++ уже не прокатит... Что-то тут придумано или работа именно такая?
← →
RWolf © (2011-01-08 19:04) [26]
> Rok (08.01.11 18:48) [25]
запустится бинарник под линуксом или нет, зависит от архитектуры машины и наличия в системе нужных версий библиотек.
т.е. как и под виндовсом.
← →
Rok (2011-01-08 19:08) [27]
> запустится бинарник под линуксом или нет, зависит от архитектуры
> машины и наличия в системе нужных версий библиотек
а, если, например FreeBSD? Как я понимаю, там немного другая архитектура именно ОС и нативно не запустится.
Посмотрел как поставляется Firefox - есть сетап под windows, есть версия под Mac OS X, есть версия под linux. Вроде бы никаких исходников. В версии под nix есть куча библиотек .so и я так понимаю скриптовый файл запуска.
Правильно ли я понимаю, что можно делать одну версию под 32-ух битный linux и используя по возможности только стандартные библиотеки. Тогда она будет наиболее "запускаемой" - то есть, пойдет под всеми клонами linux и также пойдет на 64-ех битных платформах, которые наверняка умеют запускать 32-битные приложения?
← →
RWolf © (2011-01-08 19:14) [28]
> Rok (08.01.11 19:08) [27]
да, во FreeBSD другое ядро, его системные вызовы бинарно не совместимы с линуксовыми, так что линуксовые программы в BSD запускаются через linuxulator (своего рода адаптер системных вызовов, вроде WINE).
да, можно обойтись 32-битной версией приложения.
← →
RWolf © (2011-01-08 19:20) [29]
> используя по возможности только стандартные библиотеки
беспокоиться насчет библиотек не нужно, разрешение зависимостей приложения — это задача системы управления пакетами конкретного дистрибутива.
т.е. когда программа ставится из репозитория, вместе с ней автоматически ставятся все пакеты, от которых она зависит.
← →
DVM © (2011-01-08 19:43) [30]
> а, если, например FreeBSD?
FreePascal компилит под FreeBSD. Lazarus вроде тоже.
← →
XXL (2011-01-09 11:25) [31]
> Rok (08.01.11 16:12) [22]
> > С MSSQL или pg посложнее конечно
> ну с MSSQL понятно, а чем с pg сложнее? Он существует в версиях и под win, и под линь.
Сам сервер да.
Но компоненты доступа к нему делятся на два вида:
1. Те что основаны на ADO + PgOleDB.dll = безплатные и стабильные. Тут миграция невозможна.
2. Те что основаны на прямом доступе и при этом стабильные в основном платные, иногда очень платные.
Можно поступить иначе.
Забыть о Deplhi и программировать изначально под Linux и запускать под Windows используя cygwin/minigw/gtk+
← →
Anatoly Podgoretsky © (2011-01-09 11:39) [32]> XXL (09.01.2011 11:25:31) [31]
Это линуксовая провокация.
Нафига, стремиться на другую систему, где денег нет, все деньги на Виндоус,
и запускать используя Wine
А то я смотрю вперед, не вижу, смотрю вправл, не вижу, смотрю вперед, не
вижу влево и Линуксов вокруг не вижу. Только у провайдера, да и то не
Линукс, а Юникс.
← →
DiamondShark © (2011-01-09 11:52) [33]
> а, если, например FreeBSD? Как я понимаю, там немного другая
> архитектура именно ОС и нативно не запустится.
Надо зайти на канал по аниме и спросить, как пропатчить кде под фрибсд.
← →
tesseract © (2011-01-09 13:58) [34]
> Забыть о Deplhi и программировать изначально под Linux и
> запускать под Windows используя cygwin/minigw/gtk+
pthreads задавят винду в усмерть. .Net намного эффективнее таких полумер.
> Нафига, стремиться на другую систему, где денег нет, все
> деньги на Виндоус,
Не все, рынок *nix как и macos - полупуст для решений. Практически свободная ниша в отличии от виндовых - где все забито и занято.
← →
Anatoly Podgoretsky © (2011-01-09 14:43) [35]> tesseract (09.01.2011 13:58:34) [34]
Ниша пустая, а деньги смешные.
← →
Плохиш © (2011-01-09 15:22) [36]
> tesseract © (09.01.11 13:58) [34]
> Не все, рынок *nix как и macos - полупуст для решений.
Да, да, а ещё он свободен от потребителей этих решений :-)
> XXL (09.01.11 11:25) [31]
> 2. Те что основаны на прямом доступе и при этом стабильные
> в основном платные, иногда очень платные.
dbExpress входит в поставку Kylix3, использует библиотеку из установки самого pg. Так же имеется набор драйверов для unixODBC, драйвера которого для dbExpress так же бесплатны.
← →
tesseract © (2011-01-09 20:44) [37]
> Ниша пустая, а деньги смешные.
macos - там очень платежеспособная ниша. Например я. И я много знаю людей готовых заплатить - у меня ни одной пиратской программы - parallels, works, iLife - все куплено. И как маковод с двухлетним стажем могу смело сказать - ниша удаленного управления и учетного ПО там почти пустая.
← →
DiamondShark © (2011-01-10 01:15) [38]
> ниша удаленного управления и учетного ПО там почти пустая.
Какой идиот использует маки для удаленного управления и учетного ПО?
Она и будет пустая, бо нэма дурних переплачивать втрое за рабочее место эникейщика и быдлобухгалтера.
А гламурным пидорам, из которых состоит контингент макофагов чуть менее, чем полностью, кроме браузера и айтюнса ничего и не нужно.
Нафиг на статусной цацке учётное ПО?
← →
iZEN (2011-01-11 11:43) [39]
> Rok (06.01.11 17:25)
>
> Хорошо знаю Delphi, знания остальных языков минимальны.
Придётся переучиваться.
> Есть потребность написать небольшое кросс-платформенное
> приложение, клиента. Будет работа с БД, приложение в целом
> офисное / для разработчиков. Параллельно хочется узнать
> кухню nix"ов, освоить новое.
>
> Планируется работа приложения в WinNT / Linux / FreeBSD.
>
>
> Собственно, что выбрать?
Из *nix"ов установи PC-BSD для начала.
Внутри это FreeBSD, снаружи настроенный десктоп.
Захочешь покопаться поглубже, почитай вот это: http://www.freebsd.org/doc/ru_RU.KOI8-R/books/handbook/
> Я хочу вначале исключить Java, штука большая и полезная,
> но я ее позиционирую как бизнес-среду все таки... Не хочется
> тащить за собой framework"и (или хотя бы поменьше тащить)
> и виртуальную машину.
Ну и зря. Уже на этом ты теряешь в кроссплатформенности.
> Собственно, я знаю два варианта еще для такого типа клиентского
> GUI-приложения:
>
> 1) gcc + QT - ничего в них не понимаю, придется заново осваивать
> 2) FreePascal - насколько я понимаю, проект в настоящее
> время все таки сыроват.
GCC есть в базовой системе FreeBSD. Qt4 и FreePascal ставятся из портов.
OpenJDK6 нативный, ставится (собирается) из порта посредством "бутстрапа".
>
> Возможно, есть какие-то другие альтернативы? Повторюсь -
> в принципе, небольшая клиентская программа по работе с
> БД.
Java SE поставляется с JDBC. Можно написать кроссплатформенную программу, использующую только JDBC-вызовы к драйверу СУБД. Озаботиться поиском драйвера желательно Type-4 (для всех популярных СУБД такие драйверы есть). И распространять только JAR-файл с программой и драйверами.
← →
tesseract © (2011-01-11 14:25) [40]
> Нафиг на статусной цацке учётное ПО?
Ты не поверишь сколько маков стоят в кабинетах управленцев и директоров. И сколько Parallels продает своих виртуалок или Crossover своих версий Wine. Собcтвенно замечание в стиле ЛОР/опеннет - зачем мак если есть уважаемый линукс? Ни разу не видел мак в качестве статуса. Скорее как качественной вещи. И кстати ни фига не дорогой.
Страницы: 1 2 вся ветка
Форум: "Прочее";
Текущий архив: 2011.04.24;
Скачать: [xml.tar.bz2];
Память: 0.57 MB
Время: 0.005 c