Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2011.04.24;
Скачать: CL | DM;

Вниз

Выбор технологии кросс-платформенного приложения   Найти похожие ветки 

 
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твенно замечание в стиле ЛОР/опеннет - зачем мак если есть уважаемый линукс? Ни разу не видел мак в качестве статуса. Скорее как качественной вещи. И кстати ни фига не дорогой.


 
двп   (2011-01-11 15:34) [41]

morfik IDE посоветую)


 
Jeer ©   (2011-01-11 16:00) [42]

http://www.raudus.com/


 
Eraser ©   (2011-01-11 16:39) [43]

> [38] DiamondShark ©   (10.01.11 01:15)

американцам расскажи это )


 
DiamondShark ©   (2011-01-11 18:44) [44]


> tesseract ©   (11.01.11 14:25) [40]
> Ты не поверишь сколько маков стоят в кабинетах управленцев
> и директоров.

Не поверю. Ссылку на источник давай.
Ссылка вида: "У меня лично стопицот знакомых директоров" не канает.


 
tesseract ©   (2011-01-11 19:34) [45]


> Не поверю. Ссылку на источник давай.


А ты из тех, кто поверит публикации анонимуса о росте линуха в 100 раз, но никогда не поверит в то, что ланит уже давно продает Маки в госорганизации?


 
DiamondShark ©   (2011-01-11 22:01) [46]


> tesseract ©   (11.01.11 19:34) [45]


> А ты из тех, кто поверит публикации анонимуса о росте линуха
> в 100 раз

Ты меня с кем-то перепутал.


>  но никогда не поверит в то, что ланит уже давно продает
> Маки в госорганизации?

1. Я не знаю, кто такой ланит, поэтому не могу оценить всю значимость факта, даже если бы это была инфа 100%
2. Из самого того факта, что кто-то кому-то чего-то продаёт не следует никаких выводов о том, сколько этого чего-то вообще существует.

Вот, смотри, какая замечательная беседа получается.

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

Ты ничего странного не видишь? Ну, хотя бы с точки зрения русского языка.
Какая из твоих фраз имеет отношение к вопросу: "Сколько?"


 
двп   (2011-01-11 22:14) [47]


> http://www.raudus.com/


unigui более развит.


 
tesseract ©   (2011-01-12 00:04) [48]


> Какая из твоих фраз имеет отношение к вопросу: "Сколько?
> "


По москве видел примерно в 15 офисах из 100 просмотренных. Доля рынка - процентов 12 значит. С учетом конкуренции - ниша весьма свободная.


 
DiamondShark ©   (2011-01-12 01:22) [49]


> По москве видел примерно в 15 офисах из 100 просмотренных.

Туфта.


 
Германн ©   (2011-01-12 01:46) [50]


> DiamondShark ©   (12.01.11 01:22) [49]
>
>
> > По москве видел примерно в 15 офисах из 100 просмотренных.
>
>
> Туфта.
>

Зная по высказываниям Макса на форуме, чем он занимается/занимался - это не туфта. Сервис и Техподдержка в этом вопросе рулят гораздо лучше чем статистика, которую можно найти на всемирной помойке. И-нет статистика слишком часто субъективная.


 
*   (2011-01-12 07:17) [51]


> DiamondShark ©   (12.01.11 01:22) [49]

тебя поймали и "обидели" маководы? :-)


 
Jeer ©   (2011-01-12 09:19) [52]

По нашей области "развод" госструктур идет на iPAD-ы, Маков нет ни одного.


 
Jeer ©   (2011-01-12 09:39) [53]


> двп   (11.01.11 22:14) [47]
> > http://www.raudus.com/
> unigui более развит.
>


Не спорю, хотя все вокруг ExtPascal крутится.
Кроме того в unigui нет поддержки D7.


 
tesseract ©   (2011-01-12 10:33) [54]


> Сервис и Техподдержка в этом вопросе рулят гораздо лучше
> чем статистика, которую можно найти на всемирной помойке.


И денег с неё больше. Всё хочу вернуться на сервис. Нервов конечно много, но и деньги всегда неплохие и интересно :-)


 
DiamondShark ©   (2011-01-12 13:00) [55]


> Германн ©   (12.01.11 01:46) [50]
> Зная по высказываниям Макса на форуме, чем он занимается/занимался
> - это не туфта. Сервис и Техподдержка в этом вопросе рулят
> гораздо лучше чем статистика, которую можно найти на всемирной
> помойке. И-нет статистика слишком часто субъективная.


"Вся статистика подделана" (Ц)
А лучше всех всё знает соседка баба Нюра, у неё брат зятя троюродной свояченицы был лично знаком с другом бойфренда сестры младшего помошника первого зама гендира фирмы, в которой младший внук главбуха лично видел чувака, который видел макбук у партнёра директора одной фирмы, где он в позапрошлом году админил.

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

Ах, вы хотите сказать, что таковых выборок по вашему предмету в природе не существует? Ну так и не надо тогда никого лечить на тему: "Да ты знаешь, сколько...".
Не знаю.
И ты не знаешь. Но пытаешься соврать, что знаешь.


> tesseract ©   (12.01.11 10:33) [54]
> Всё хочу вернуться на сервис

Правильное решение.
Программист с таким отношением к логике представляет собой общественно-опасное явление.


 
tesseract ©   (2011-01-12 13:42) [56]


> Программист с таким отношением к логике представляет собой
> общественно-опасное явление.


Зеркало на глаза попалось ?


 
DiamondShark ©   (2011-01-12 13:47) [57]


> tesseract ©   (12.01.11 13:42) [56]

Отец Фёдор, перелогинтесь.



Страницы: 1 2 вся ветка

Текущий архив: 2011.04.24;
Скачать: CL | DM;

Наверх




Память: 0.64 MB
Время: 0.01 c
15-1294954192
Юрий
2011-01-14 00:29
2011.04.24
С днем рождения ! 14 января 2011 пятница


2-1295539697
Ain
2011-01-20 19:08
2011.04.24
Edit


15-1294837507
AlexDn
2011-01-12 16:05
2011.04.24
Гугл кеширование?


2-1295442572
12
2011-01-19 16:09
2011.04.24
Почему нет хинта что Result может быть неопределен?


6-1236835001
novai
2009-03-12 08:16
2011.04.24
TIdFTP циклическое удаление