1

Здравствуйте форумчане, подскажите, в какую сторону копать... Необходима система разработки приложений, работающих с БД, под Linux. Исполняемый файл должен находится на Linux, а клиенты, в основном Windows-клиенты (минимум 20), должны иметь возможность запускать это приложение у себя. Программированием под linux занимался еще в универе, да и были это достаточно тривиальные задачи из-под консоли. Какие Open-Source платформы существуют для решения таких задач?? По возможности необходимы средства для создания форм и отчетов...

2

Самая развитая система создания приложений - это Qt, в ней есть средства и для работы с БД,
но я с ними никогда дела не имел. Это кросс-платформенный пакет, в нём можно создавать
приложения для Windows, Linux и MacOS. Однако обратите внимание на различные варианты
лицензирования Qt.

Пётр.

Пётр.

3

Peter пишет:

Однако обратите внимание на различные варианты
лицензирования Qt.

Собственно там и смотреть не чего:
Если используем GPL - должны предоставлять исходники и можем использовать статическую линковку
Если используем LGPL - можем закрывать исходники и НЕ можем использовать статическую линковку


По отчетам сам под линуксом еще не связывался с генераторами отчетов. Но в закладках есть такой:
http://sourceforge.net/projects/ncreport/

То что не убивает нас, делает нас сильнее! © Ницше.
When life puts you in tough situations, don’t say "why me". Just say "try me".
GNU/Linux Debian

4

Я помню, что у собственно Qt было 2 или 3 вида лицензирования, коммерческий вариант стоил, кажется,
3000USD, а программы, написанные в свободном варианте, нельзя было использовать в коммерческих целях.

Пётр.

Пётр.

5 (04.02.2012 05:34:49 отредактировано KRUTO)

Спасибо, что быстро откликнулись
voral,

voral пишет:

Если используем LGPL - можем закрывать исходники и НЕ можем использовать статическую линковку

По сему вопрос: т.е. написал приложение на Qt, получил на нее авторские права и можно распространять по этой лицензии в коммерческих целях?
А можно в двух словах, что такое статическая и динамическая линковка?

Тут почитал слегка про Qt, начал качать с http://qt.gitorious.org
не подскажите куда делась QtSql?

Чем обеспечить запуск нескольких экземпляров приложения, которое установлено на серваке, на Windows-клиентах?

6

Совершенно верно. Приложения написанные на Qt можно использовать в коммерческих целях. Проверено на практике! Оплачивать лицензию для получения поддержки и расширений вам смысла нет. Да и вообще мало кому есть)

Вообще если вы все-таки собираетесь писать приложение на Qt, то советовал бы писать на Windows под IDE: Visual Studio 2008/2010 - причина этому одна: уж ОЧЕНЬ он удобен! а уж потом собрать готовые исходники под линукс и отлаживаться в блокноте(я использую Notepad).

Если же всетаки решили писать на самом Linux(что крайне не советую, особенно новичку) то рекомендую Eclipse - довльно удобный IDE, но тяжко его с Qt интегрировать.

не подскажите куда делась QtSql?

Никуда оно дется не могло... качать надо с оф. источников: http://qt.nokia.com/ там вкладка Download и уже собранные(!!!) исходники лежат. В случае Visual, помимо исходников на том же сайте найдите утилитку "Add In Visual Studio" - это интегратор, значитально улучшает работу.

И еще нюанс - в зависимости от выбранной вами БД возможно прийдется вручную собрать SQL-драйвер, т.к. по умолчанию собран только для SQLite.

Альтернатива образованию - самообразование.

7

Так-же имеется совершенно другой вариант. Это использовать язык C# - программировать на нем не просто приятно... это как задницу облачком подтирать. Все за тебя делает. Основан на платформе .Net, благодаря чему с лёгкостью переносим на линукс(Версия mono для .Net).

Лично я обожаю Qt - но всеже для написания маленьких приложений использую .Net (на примере баз данных Oracle)

Альтернатива образованию - самообразование.

8 (05.02.2012 21:21:13 отредактировано Exproment)

Ну и в догонку... на халяву ни в том ни в другом случае не надейтесь. Прийдется постараться... поизучать, почитать литературу и т.д.
Посему для Qt рекомендую:

Макс Шлее - "профессиональное программирование на C++" - сначала читать её!
Бланшет - "Qt4 программирование GUI на C++"

и для C#: до задницы видеоуроков книг и т.д. Выбирай любую. Даже аудиозапись "Лекции по C#" находил ag

Альтернатива образованию - самообразование.

9

Exproment пишет:

Это использовать язык C# - программировать на нем не просто приятно... это как /// облачком подтирать. Все за тебя делает. Основан на платформе .Net, благодаря чему с лёгкостью переносим на линукс(Версия mono для .Net).

Издеваетесь? Полно нативных средств, которые по определению в Linux работают намного лучше, чем всякие прослойки типа mono и wine. Не надо делать из Linux второй Windows.

10

Я же указал что маленькие проекты можно писать т.к. это удобно а не т.к. это гут(хотя встречал и огромные). Например: выбирая ноут написал для себя маленькую базу на C# чтоб анализировать товары из интернета.. Час работы, зато удобно и запускается везде)

Альтернатива образованию - самообразование.

11

KRUTO пишет:

По сему вопрос: т.е. написал приложение на Qt, получил на нее авторские права и можно распространять по этой лицензии в коммерческих целях?

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

KRUTO пишет:

А можно в двух словах, что такое статическая и динамическая линковка?

статическая - всё линкуется в один файл.
динамическая - у вас отдельный исполняемый файл и отдельная динамическая библиотека( *.dll или lib*.so).
в линуксе принято почти всё линковать динамически и иметь один экземпляр библиотеки на систему. в оффтопе библиотеки распространяются вместе с программами и их по 10 копий на систему...

KRUTO пишет:

Тут почитал слегка про Qt, начал качать с http://qt.gitorious.org
не подскажите куда делась QtSql?

всё уже есть в репозитариях вашего дистрибутива... судя по всему с исходниками на первых порах вы не разберётесь...

KRUTO пишет:

Чем обеспечить запуск нескольких экземпляров приложения, которое установлено на серваке, на Windows-клиентах?

скриптами? библиотеками? о чём вообще вопрос?

Exproment пишет:

Вообще если вы все-таки собираетесь писать приложение на Qt, то советовал бы писать на Windows под IDE: Visual Studio 2008/2010 - причина этому одна: уж ОЧЕНЬ он удобен!

причина этому совершенно другая: вы к ней привыкли =))

их собственный  qt-creator - это более, чем достойная альтернатива (а после интеграции с valgrind'ом должно быть просто конфетка(ещё не смотрел))

по поводу почитать: у Qt великолепная документация и тонны примеров и туториалов из коробки... ИМХО всякие книжки - это уже лишнее...

95% процентов проблем находятся между клавиатурой и стулом.

12 (06.02.2012 00:43:16 отредактировано -=Serj=-)

Exproment пишет:

Если же всетаки решили писать на самом Linux(что крайне не советую, особенно новичку)

Не согласен. Я, можно сказать, - новичок в Linux и в программировании не силен - однако ИМХО в Linux и проще и удобнее.
И, кстати, мне кажется топикстартеру вполне подойдет Python. Получится и Win и Lin smile . К нему и PySide имеется, если не хотите заморачиваться с лицензиями..

Да, у меня Ubuntu.
Нет, не глючит.

13

Тема набрала ход, спасибо, форумчане

Exproment пишет:

Вообще если вы все-таки собираетесь писать приложение на Qt, то советовал бы писать на Windows под IDE: Visual Studio 2008/2010 - причина этому одна: уж ОЧЕНЬ он удобен! а уж потом собрать готовые исходники под линукс и отлаживаться в блокноте(я использую Notepad).

Вот это интересно, конечно, надо опробовать Qt в Linux, но я так понял можно установить Qt в Visual и там собрать под Linux???

Exproment пишет:

Если же всетаки решили писать на самом Linux(что крайне не советую, особенно новичку) то рекомендую Eclipse - довльно удобный IDE, но тяжко его с Qt интегрировать.

А в самой визуальной среде Qt не очень удобно???

Fat-Zer пишет:

статическая - всё линкуется в один файл.
динамическая - у вас отдельный исполняемый файл и отдельная динамическая библиотека( *.dll или lib*.so).
в линуксе принято почти всё линковать динамически и иметь один экземпляр библиотеки на систему. в оффтопе библиотеки распространяются вместе с программами и их по 10 копий на систему...

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

Fat-Zer пишет:

т.к. текст LGPL простому смертному очень сложно распарсить... я там так и не нашёл абзаца, запрещающего это.


Fat-Zer пишет:

всё уже есть в репозитариях вашего дистрибутива... судя по всему с исходниками на первых порах вы не разберётесь...

Ага, понял, я привык ставить из rpm-пакетов, не заморачиваясь, а из исходников собираю только очень серьезное -- например, sendmail, так что  с исходниками всё норм...

Fat-Zer пишет:

их собственный  qt-creator - это более, чем достойная альтернатива (а после интеграции с valgrind'ом должно быть просто конфетка(ещё не смотрел))

Интеграция с valgrind уже работает?

-=Serj=- пишет:

И, кстати, мне кажется топикстартеру вполне подойдет Python. Получится и Win и Lin  . К нему и PySide имеется, если не хотите заморачиваться с лицензиями..

Думаете, Python? Просто я никогда не программировал в нем. А вот C/C++ мне знаком...

Да еще вопрос, о серьезном: написал я программку в Qt. Чтобы получить на нее авторские права и, соответственно, потом кому-то всучить за деньги -- какие мои действия??
С лицензией на Qt идти в РАО и просить выдать мне патент, при этом надо меня регистрировать как физ лицо?

Спасибо за ответы

14

KRUTO пишет:

Интеграция с valgrind уже работает?

пока не пробовал - просто видел в меню... сейчас попробовать не могу - glibc (как минимум) надо пересобрать... а для этого нужно вспоминать, где набор FEATURES emerge'а для отдельных пакетов настраивается...

KRUTO пишет:

Думаете, Python? Просто я никогда не программировал в нем. А вот C/C++ мне знаком...

ИМХО питон только для небольших поделок "на коленке" годится, где баша мало, а С++ много...

KRUTO пишет:

Да еще вопрос, о серьезном: написал я программку в Qt. Чтобы получить на нее авторские права и, соответственно, потом кому-то всучить за деньги -- какие мои действия??
С лицензией на Qt идти в РАО и просить выдать мне патент, при этом надо меня регистрировать как физ лицо?

не знаю, как это делается, так что всё чисто умозрительно... но
а) патенты на ПО в РФ , слава богу, не выдаются... у нас этого идиотизма нет.
б) как физ. лицо вы от рождения зарегистрированы. далее зависит от того, для кого вы пишете программу... если для какой-то фирмы, то это их головная боль, если сами собираетесь распространять, то, возможно, надо зарегистрироваться, как ЧП или учредить ООО (в юриспруденции я не разбираюсь). по защите своих прав - в наших условиях пихаете проприетарную лицензию и ,возможно, средства защиты, а дальше полагаетесь на честность и порядочность людей...
[что за бред я несу! я же за свободу и пиратство в рамках разумного!]

95% процентов проблем находятся между клавиатурой и стулом.

15

KRUTO пишет:

Да еще вопрос, о серьезном: написал я программку в Qt. Чтобы получить на нее авторские права и, соответственно, потом кому-то всучить за деньги -- какие мои действия??
С лицензией на Qt идти в РАО и просить выдать мне патент, при этом надо меня регистрировать как физ лицо?

У меня в свое время были причины озадачится этим вопросом (еще в виндузятную пору жизни).  "Что бы получить авторские права" вообще ни чего делать не надо. Ваши контакты в окне "О программе" вполне достаточны для доказательства ваш прав. Ну естественно желательно, что б кто-то  мог подтвердить, что да он нам ее принес в 1814 году ab.  Для большей надежности можно ее зарегистрировать. Всей кухни до сканально уже не помню. Это производится только в Москве. Там надо предоставлять, что то типа: первые Х строк исходника и последние Y строк исходника....

Я это все узнавал году в 2003. всю кухню не проходил, т.к. проблема решилась сама собой. Но основная "идея" примерна такова.



По поводу QtCreator vs VisualStudio.  дело конечно же вкуса. Я так же считаю VS удачной IDE. Тем не менее я переста ей пользоваться и пользуюсь QtCreator. Пожалуй единственное что действительно мне не хватало в креаторе после студии. Это TODO лист. Но для креатора я нашел нужный плагин.
Кроме того. Нужно учесть, что qt не цепляется к Express edition. Единственное, у меня есть идея под винду использовать компилятор не mingw а взять студийный. Что б не было нужды в двух либах от mingw (правда они маленькие).... С другой стороны на линуксе можно наладить кросскомпиляцию... Сейчас я настроил компиляцию под 64 и 32 бита для Линукса, хочу попробовать и для винды собирать (судя по интернету это волне нормально работает)

Ну и в довесок: честно купленная студия после того как я узнал о Qt лежит далеко на полке.

То что не убивает нас, делает нас сильнее! © Ницше.
When life puts you in tough situations, don’t say "why me". Just say "try me".
GNU/Linux Debian

16

Fat-Zer пишет:

б) как физ. лицо вы от рождения зарегистрированы.

Ну я имею в виду, регистрироваться как ИП или даже юр. лицо...

Fat-Zer пишет:

,возможно, средства защиты, а дальше полагаетесь на честность и порядочность людей...

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


voral пишет:

У меня в свое время были причины озадачится этим вопросом (еще в виндузятную пору жизни).  "Что бы получить авторские права" вообще ни чего делать не надо.

Так как же получить авторские права всё-таки? Сколько за это надо заплатить?

17

по поводу valgrind'а - работает, запускается из коробки...
отладка памяти с навигацией по коду... почти сразу видно, что теряем, не надо копаться и разбираться самому в высере valgrind'а... в общем просто супер =)
В профилировщике очень большой список функций из разных системных библиотек - надо их как-то фильтровать, под рукой ничего для этого не нашёл... в общем неплохо, но не идеал пока...

95% процентов проблем находятся между клавиатурой и стулом.

18

KRUTO пишет:

Так как же получить авторские права всё-таки? Сколько за это надо заплатить?

Авторские права у вас возникаю сразу как вы написали первую строчку кода. За это платить не надо. Ставьте в ридми в  начале кода в коментах и т.п
copyright 2012 [Ваше_Имя]
все.

Другое дело если вы желаете ПО зарегистрировать... Но тут я уже не помощник - не помню уже даже куда звонил.

То что не убивает нас, делает нас сильнее! © Ницше.
When life puts you in tough situations, don’t say "why me". Just say "try me".
GNU/Linux Debian

19

KRUTO пишет:

Ну я имею в виду, регистрироваться как ИП или даже юр. лицо...

Если вы желаете получать прибыль от ПО. Вы можете или заключать договора подряда как частное лицо, или устраиватсья на работу в фирму клиент ab..
Но лучше всего ИП и 6% с дохода. (Правда нужно понимать что кроме налога на доход есть еще отчисление в ПФР,.... На данный момент это чуть больше 16тыров в год)

Еще не все заказчики решаются работать с ИП, считая что с ООО надежнее (хотя это заблуждние). В прочем ради хорошего проекта ООО не долго открыть ab

То что не убивает нас, делает нас сильнее! © Ницше.
When life puts you in tough situations, don’t say "why me". Just say "try me".
GNU/Linux Debian

20

Visual vs QtCreator

ну на самом деле это как рассжудать какой линук лучше. Кому что больше нравится. Из своего опыта хочу добавить что подавляющее большинство проектов встречал, написанных под VS нежели Creator. Собственно выбор за вами.  smile Мой совет VS.

Регистрация/Сертификация ПО

Вы затронули очень сложную тему. На самом деле имеется мнодество различных способов. И просто НЕРЕАЛЬНО много подводных комней. Если ваша программа будет использоваться в гос. структурах, то по закону вы должны пройти сертификацию безопасности в ФСБ и получить галаграмку "ФСБ" на каждую копию этого ПО и стоит данное удовольствие 600 тыс. руб. (инфа на 2009 г., но Медведев обещал разобраться ))) Затем если желаете оформить патент, то стоимость этого 5 000 руб(узнавал вчера), но оформляется он в течении 18 месяцев(не учитывая сбора документов) Так что тут вам прийдется почитать законодательство) дело это муторное, но полезное.

Альтернатива образованию - самообразование.

21 (06.02.2012 18:31:27 отредактировано Exproment)

оффтоп

вижу вы новичек во всем этом.. потому возьму на себя смелость и расскажу то, чего мне так не хватало на первых порах: При написании более-менее большого проекта используются так называемые утилиты сборки. Конкретно: make(Linux), nmake(Visual), qmake(Qt), cmake(Кроссплатформенный). В подавляющем большинстве случаев при написании проги появляется желание портировать её под другую ось, напр. Windows. Потому совет: используйте или qmake или cmake. Принцип таков, что на win. qmake сгенерит вам Solution, а на lin. make файл, который компилируется и все работает  smile  И помните что линуксовый компилятор намного критичнее относится к коду чем винда, тестирую ПО в обоих средах вы получите отличный код! А насчет книг: если вы хорошо владеете английским то обязательно читайте документация, если плохо то читайте и книги и документацию. (Установите QtAssistant) У Qt есспорно самая лучшая документация из всех GUI/шаблонных библиотек. И обязательно посетите форум посвященный именно Qt: http://www.prog.org.ru/

Прошу прощения за лирическое отступление от темы, но думаю это важно )

Альтернатива образованию - самообразование.

22

KRUTO пишет:

Вот это интересно, конечно, надо опробовать Qt в Linux, но я так понял можно установить Qt в Visual и там собрать под Linux???

несовсем... Можно написать код в Вижуал, а затем отладится в линукс. У меня на работе так и делаем) Тут нужно пояснить, что неважно в какой ОС собрать, важно каким компилятором. Т.к. линукс использует свой а Visual свой )

KRUTO пишет:

А в самой визуальной среде Qt не очень удобно???

Конкретно моё мнение: "нет", но изначально мне не давли выбор на чем писать, потому возможно просто привык к Visual)

И не забудьте пожалуйства отписаться что вы все-таки выбрали )

Альтернатива образованию - самообразование.

23

Exproment пишет:

Затем если желаете оформить патент, то стоимость этого 5 000 руб(узнавал вчера), но оформляется он в течении 18 месяцев(не учитывая сбора документов)

А где вы это узнавали???
Спасибо за любую ценную информацию.

Exproment пишет:

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

Да и не только английским владею, тут скачал курс по Qt на немецком, буду смотреть... Только не знаю когда -- времени не хватает, на 3 работах тружусь -- текучки много, да еще новый год, а я бухгалтерию еще поддерживаю помимо администрирования... К весне по-свободнее станет, вот и пытаюсь плацдарм подготовить для освоения Qt и др средств написания визуальных программ под Linux...

Хотелось бы всё-таки по подробнее про регистрацию самописного ПО и получения коммерческой выгоды...

24

KRUTO пишет:

А где вы это узнавали???

Узнавал я это в патентном отделе своего вуза. Ценная информация: если собираетесь оформить патент, то обязательно оформляйте его самостоятельно, иначе правообладателем будет тот, кто оформляет патент, а вы будете просто автором. В общем если я например оформлю патент от своего вуза и он за меня заплатит эти жалкие 5 000 руб, то я не буду иметь право на него))) смешно.. да... но такое уж у нас законодательство) Чтобы подробно узнать необходимо:
1. Порыскать в интернете.
2. Если вы являетесь предлставителем малого бизнеса, то вам в виде гос. программы "Поддержка малого бизнеса России" положена бесплатная юридическая помощь со стороны гос-ва.
3. Найдите в своем городе нечто вроде патентного бюро ) и подробно их распросите, помнив что консультацию они давать обязаны, но делают это неохотно(мне пришлось поскандалить малость ag ).
Большее врядль подскажу, т.к. оформляю патент на оборудование, точнее даже на идею а не на Программный код) но как разузнаете прошу обязательно отпишитесь, т.к. это еще предстоит в будущем)

Альтернатива образованию - самообразование.

25 (07.02.2012 03:36:04 отредактировано Exproment)

Да и не только английским владею. на 3 работах тружусь

Ну тогда все будет хорошо у вас  ag Qt - не проблема, если уделить ему должное внимание и время )

Альтернатива образованию - самообразование.

26

Exproment пишет:

что подавляющее большинство проектов встречал, написанных под VS нежели Creator.

Что, как бы очень закономерно и естественно bx, но определятся точно не качеством/удобством. Вообще надо конечно же самому попробовать. Если разрабатывать под всеми разными ОС, то единый интерфейс IDE так же плюс. А креатор одинаков хоть под винду, хоть по линукс, хоть под макос.

Exproment пишет:

Если же всетаки решили писать на самом Linux(что крайне не советую, особенно новичку)

А почему?


PS Кстати только что натолкнулся. Правлю чужой проект, может быть дело в нем, но под виндой когда вношу изменения в интерфейс  в ui файлы (и при помощи Designer или при помощи far) после полной/частичной перекомпиляции изменения не появяются в бинарнике. (не зря я по старинке все в коде создаю). В линуксе все ок.....
Вот сейчас бросил специально поиски, что б мозг с 0 начал работать над этой проблемой.

То что не убивает нас, делает нас сильнее! © Ницше.
When life puts you in tough situations, don’t say "why me". Just say "try me".
GNU/Linux Debian

27

VORAL пишет:

А почему?

Компилтор дружественее =) Если под линук скажем определить inline функцию в .h а её же описание в .cpp то ошибку новичек будет искать... ооочень долго ag видел такое пару раз) Конечно это немного не правильно, но и ничего страшного в таком написании тоже ничего не вижу) а линукс зарубит) Потому всегда советую начинать под виндой, т.к. линь по определению сложнее и требует наличия определенных навыков и понимания концепция. Да и внутренности Qt под линь сложнее построены, хоть и лучше(те же шрифты на основе freetype).

Альтернатива образованию - самообразование.

28

Все же - чем лучше Webstorm нежели Eclipce?

Пробовал ставить и то и другое. Но ощутил неудобства при установке и при работе и с тем и с тем. Может быть я неправильно устанавливал?
инструкцию брал отсюда: Установка последней версии Eclipse в Ubuntu

29

Для начала: первое закрытое и платное  ab
Для продолжения: неудобства при установке - странный критерий.

По эклипсу, можно попробовать рассказать, что не удобно - может тут найдется кто-либо знающий как ее решить

То что не убивает нас, делает нас сильнее! © Ницше.
When life puts you in tough situations, don’t say "why me". Just say "try me".
GNU/Linux Debian

30

voral пишет:

после полной/частичной перекомпиляции изменения не появяются в бинарник

возможная причина - часы. Заметил что под ХРенью часы как то странно себя ведут: ставишь часовой пояс, врямя, а оно все равно с линуксом разнится.

Хочу вот тоже начать под линь писать, до этого сидел на эмберкадере, но что то она меня одолела своими глюками. VС++ не нравится вообще, может просто привык к билдеру...
Подскажите с чего начать работать с Qt: какой компилятор использовать, как отлаживать приложения, нормальный IDE итп итд.