Здравствуйте форумчане, подскажите, в какую сторону копать... Необходима система разработки приложений, работающих с БД, под Linux. Исполняемый файл должен находится на Linux, а клиенты, в основном Windows-клиенты (минимум 20), должны иметь возможность запускать это приложение у себя. Программированием под linux занимался еще в универе, да и были это достаточно тривиальные задачи из-под консоли. Какие Open-Source платформы существуют для решения таких задач?? По возможности необходимы средства для создания форм и отчетов...
Помогите с выбором среды разработки
Самая развитая система создания приложений - это Qt, в ней есть средства и для работы с БД,
но я с ними никогда дела не имел. Это кросс-платформенный пакет, в нём можно создавать
приложения для Windows, Linux и MacOS. Однако обратите внимание на различные варианты
лицензирования Qt.
Пётр.
Однако обратите внимание на различные варианты
лицензирования Qt.
Собственно там и смотреть не чего:
Если используем GPL - должны предоставлять исходники и можем использовать статическую линковку
Если используем LGPL - можем закрывать исходники и НЕ можем использовать статическую линковку
По отчетам сам под линуксом еще не связывался с генераторами отчетов. Но в закладках есть такой:
http://sourceforge.net/projects/ncreport/
Я помню, что у собственно Qt было 2 или 3 вида лицензирования, коммерческий вариант стоил, кажется,
3000USD, а программы, написанные в свободном варианте, нельзя было использовать в коммерческих целях.
Пётр.
Спасибо, что быстро откликнулись
voral,
Если используем LGPL - можем закрывать исходники и НЕ можем использовать статическую линковку
По сему вопрос: т.е. написал приложение на Qt, получил на нее авторские права и можно распространять по этой лицензии в коммерческих целях?
А можно в двух словах, что такое статическая и динамическая линковка?
Тут почитал слегка про Qt, начал качать с http://qt.gitorious.org
не подскажите куда делась QtSql?
Чем обеспечить запуск нескольких экземпляров приложения, которое установлено на серваке, на Windows-клиентах?
Совершенно верно. Приложения написанные на 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.
Так-же имеется совершенно другой вариант. Это использовать язык C# - программировать на нем не просто приятно... это как задницу облачком подтирать. Все за тебя делает. Основан на платформе .Net, благодаря чему с лёгкостью переносим на линукс(Версия mono для .Net).
Лично я обожаю Qt - но всеже для написания маленьких приложений использую .Net (на примере баз данных Oracle)
Ну и в догонку... на халяву ни в том ни в другом случае не надейтесь. Прийдется постараться... поизучать, почитать литературу и т.д.
Посему для Qt рекомендую:
Макс Шлее - "профессиональное программирование на C++" - сначала читать её!
Бланшет - "Qt4 программирование GUI на C++"
и для C#: до задницы видеоуроков книг и т.д. Выбирай любую. Даже аудиозапись "Лекции по C#" находил :D
Это использовать язык C# - программировать на нем не просто приятно... это как /// облачком подтирать. Все за тебя делает. Основан на платформе .Net, благодаря чему с лёгкостью переносим на линукс(Версия mono для .Net).
Издеваетесь? Полно нативных средств, которые по определению в Linux работают намного лучше, чем всякие прослойки типа mono и wine. Не надо делать из Linux второй Windows.
Я же указал что маленькие проекты можно писать т.к. это удобно а не т.к. это гут(хотя встречал и огромные). Например: выбирая ноут написал для себя маленькую базу на C# чтоб анализировать товары из интернета.. Час работы, зато удобно и запускается везде)
По сему вопрос: т.е. написал приложение на Qt, получил на нее авторские права и можно распространять по этой лицензии в коммерческих целях?
вы можете распространять своё приложение под любой лицензией, втч коммерческой. при этом, если вы вносили изменения в саму библиотеку, то вы должны их опубликовать под LGPL (но вы этим вряд ли ли будете заниматься).
на самом деле по поводу, можно ли статически линковать закрытые приложения с LGPL-библиотеками есть споры. по крайней мере у нас на родине, т.к. текст LGPL простому смертному очень сложно распарсить... я там так и не нашёл абзаца, запрещающего это.
А можно в двух словах, что такое статическая и динамическая линковка?
статическая - всё линкуется в один файл.
динамическая - у вас отдельный исполняемый файл и отдельная динамическая библиотека( *.dll или lib*.so).
в линуксе принято почти всё линковать динамически и иметь один экземпляр библиотеки на систему. в оффтопе библиотеки распространяются вместе с программами и их по 10 копий на систему...
Тут почитал слегка про Qt, начал качать с http://qt.gitorious.org
не подскажите куда делась QtSql?
всё уже есть в репозитариях вашего дистрибутива... судя по всему с исходниками на первых порах вы не разберётесь...
Чем обеспечить запуск нескольких экземпляров приложения, которое установлено на серваке, на Windows-клиентах?
скриптами? библиотеками? о чём вообще вопрос?
Вообще если вы все-таки собираетесь писать приложение на Qt, то советовал бы писать на Windows под IDE: Visual Studio 2008/2010 - причина этому одна: уж ОЧЕНЬ он удобен!
причина этому совершенно другая: вы к ней привыкли =))
их собственный qt-creator - это более, чем достойная альтернатива (а после интеграции с valgrind'ом должно быть просто конфетка(ещё не смотрел))
по поводу почитать: у Qt великолепная документация и тонны примеров и туториалов из коробки... ИМХО всякие книжки - это уже лишнее...
Если же всетаки решили писать на самом Linux(что крайне не советую, особенно новичку)
Не согласен. Я, можно сказать, - новичок в Linux и в программировании не силен - однако ИМХО в Linux и проще и удобнее.
И, кстати, мне кажется топикстартеру вполне подойдет Python. Получится и Win и Lin smile . К нему и PySide имеется, если не хотите заморачиваться с лицензиями..
Тема набрала ход, спасибо, форумчане
Вообще если вы все-таки собираетесь писать приложение на Qt, то советовал бы писать на Windows под IDE: Visual Studio 2008/2010 - причина этому одна: уж ОЧЕНЬ он удобен! а уж потом собрать готовые исходники под линукс и отлаживаться в блокноте(я использую Notepad).
Вот это интересно, конечно, надо опробовать Qt в Linux, но я так понял можно установить Qt в Visual и там собрать под Linux???
Если же всетаки решили писать на самом Linux(что крайне не советую, особенно новичку) то рекомендую Eclipse - довльно удобный IDE, но тяжко его с Qt интегрировать.
А в самой визуальной среде Qt не очень удобно???
статическая - всё линкуется в один файл.
динамическая - у вас отдельный исполняемый файл и отдельная динамическая библиотека( *.dll или lib*.so).
в линуксе принято почти всё линковать динамически и иметь один экземпляр библиотеки на систему. в оффтопе библиотеки распространяются вместе с программами и их по 10 копий на систему...
Ага, об этом и думал, только были сомнения по терминологии, почему нельзя использовать статическую линковку т.к.:
т.к. текст LGPL простому смертному очень сложно распарсить... я там так и не нашёл абзаца, запрещающего это.
всё уже есть в репозитариях вашего дистрибутива... судя по всему с исходниками на первых порах вы не разберётесь...
Ага, понял, я привык ставить из rpm-пакетов, не заморачиваясь, а из исходников собираю только очень серьезное -- например, sendmail, так что с исходниками всё норм...
их собственный qt-creator - это более, чем достойная альтернатива (а после интеграции с valgrind'ом должно быть просто конфетка(ещё не смотрел))
Интеграция с valgrind уже работает?
И, кстати, мне кажется топикстартеру вполне подойдет Python. Получится и Win и Lin . К нему и PySide имеется, если не хотите заморачиваться с лицензиями..
Думаете, Python? Просто я никогда не программировал в нем. А вот C/C++ мне знаком...
Да еще вопрос, о серьезном: написал я программку в Qt. Чтобы получить на нее авторские права и, соответственно, потом кому-то всучить за деньги -- какие мои действия??
С лицензией на Qt идти в РАО и просить выдать мне патент, при этом надо меня регистрировать как физ лицо?
Спасибо за ответы
Интеграция с valgrind уже работает?
пока не пробовал - просто видел в меню... сейчас попробовать не могу - glibc (как минимум) надо пересобрать... а для этого нужно вспоминать, где набор FEATURES emerge'а для отдельных пакетов настраивается...
Думаете, Python? Просто я никогда не программировал в нем. А вот C/C++ мне знаком...
ИМХО питон только для небольших поделок "на коленке" годится, где баша мало, а С++ много...
Да еще вопрос, о серьезном: написал я программку в Qt. Чтобы получить на нее авторские права и, соответственно, потом кому-то всучить за деньги -- какие мои действия??
С лицензией на Qt идти в РАО и просить выдать мне патент, при этом надо меня регистрировать как физ лицо?
не знаю, как это делается, так что всё чисто умозрительно... но
а) патенты на ПО в РФ , слава богу, не выдаются... у нас этого идиотизма нет.
б) как физ. лицо вы от рождения зарегистрированы. далее зависит от того, для кого вы пишете программу... если для какой-то фирмы, то это их головная боль, если сами собираетесь распространять, то, возможно, надо зарегистрироваться, как ЧП или учредить ООО (в юриспруденции я не разбираюсь). по защите своих прав - в наших условиях пихаете проприетарную лицензию и ,возможно, средства защиты, а дальше полагаетесь на честность и порядочность людей...
[что за бред я несу! я же за свободу и пиратство в рамках разумного!]
Да еще вопрос, о серьезном: написал я программку в Qt. Чтобы получить на нее авторские права и, соответственно, потом кому-то всучить за деньги -- какие мои действия??
С лицензией на Qt идти в РАО и просить выдать мне патент, при этом надо меня регистрировать как физ лицо?
У меня в свое время были причины озадачится этим вопросом (еще в виндузятную пору жизни). "Что бы получить авторские права" вообще ни чего делать не надо. Ваши контакты в окне "О программе" вполне достаточны для доказательства ваш прав. Ну естественно желательно, что б кто-то мог подтвердить, что да он нам ее принес в 1814 году :). Для большей надежности можно ее зарегистрировать. Всей кухни до сканально уже не помню. Это производится только в Москве. Там надо предоставлять, что то типа: первые Х строк исходника и последние Y строк исходника....
Я это все узнавал году в 2003. всю кухню не проходил, т.к. проблема решилась сама собой. Но основная "идея" примерна такова.
По поводу QtCreator vs VisualStudio. дело конечно же вкуса. Я так же считаю VS удачной IDE. Тем не менее я переста ей пользоваться и пользуюсь QtCreator. Пожалуй единственное что действительно мне не хватало в креаторе после студии. Это TODO лист. Но для креатора я нашел нужный плагин.
Кроме того. Нужно учесть, что qt не цепляется к Express edition. Единственное, у меня есть идея под винду использовать компилятор не mingw а взять студийный. Что б не было нужды в двух либах от mingw (правда они маленькие).... С другой стороны на линуксе можно наладить кросскомпиляцию... Сейчас я настроил компиляцию под 64 и 32 бита для Линукса, хочу попробовать и для винды собирать (судя по интернету это волне нормально работает)
Ну и в довесок: честно купленная студия после того как я узнал о Qt лежит далеко на полке.
б) как физ. лицо вы от рождения зарегистрированы.
Ну я имею в виду, регистрироваться как ИП или даже юр. лицо...
,возможно, средства защиты, а дальше полагаетесь на честность и порядочность людей...
Про средства защиты можно подумать, но круг клиентов узок, вряд ли они будут заниматься экспроприацией моих разработок, а уж тем более, пытаться внедрить самостоятельно...
У меня в свое время были причины озадачится этим вопросом (еще в виндузятную пору жизни). "Что бы получить авторские права" вообще ни чего делать не надо.
Так как же получить авторские права всё-таки? Сколько за это надо заплатить?
по поводу valgrind'а - работает, запускается из коробки...
отладка памяти с навигацией по коду... почти сразу видно, что теряем, не надо копаться и разбираться самому в высере valgrind'а... в общем просто супер =)
В профилировщике очень большой список функций из разных системных библиотек - надо их как-то фильтровать, под рукой ничего для этого не нашёл... в общем неплохо, но не идеал пока...
Так как же получить авторские права всё-таки? Сколько за это надо заплатить?
Авторские права у вас возникаю сразу как вы написали первую строчку кода. За это платить не надо. Ставьте в ридми в начале кода в коментах и т.п
copyright 2012 [Ваше_Имя]
все.
Другое дело если вы желаете ПО зарегистрировать... Но тут я уже не помощник - не помню уже даже куда звонил.
Ну я имею в виду, регистрироваться как ИП или даже юр. лицо...
Если вы желаете получать прибыль от ПО. Вы можете или заключать договора подряда как частное лицо, или устраиватсья на работу в фирму клиент :)..
Но лучше всего ИП и 6% с дохода. (Правда нужно понимать что кроме налога на доход есть еще отчисление в ПФР,.... На данный момент это чуть больше 16тыров в год)
Еще не все заказчики решаются работать с ИП, считая что с ООО надежнее (хотя это заблуждние). В прочем ради хорошего проекта ООО не долго открыть :)
Visual vs QtCreator
ну на самом деле это как рассжудать какой линук лучше. Кому что больше нравится. Из своего опыта хочу добавить что подавляющее большинство проектов встречал, написанных под VS нежели Creator. Собственно выбор за вами. smile Мой совет VS.
Регистрация/Сертификация ПО
Вы затронули очень сложную тему. На самом деле имеется мнодество различных способов. И просто НЕРЕАЛЬНО много подводных комней. Если ваша программа будет использоваться в гос. структурах, то по закону вы должны пройти сертификацию безопасности в ФСБ и получить галаграмку "ФСБ" на каждую копию этого ПО и стоит данное удовольствие 600 тыс. руб. (инфа на 2009 г., но Медведев обещал разобраться ))) Затем если желаете оформить патент, то стоимость этого 5 000 руб(узнавал вчера), но оформляется он в течении 18 месяцев(не учитывая сбора документов) Так что тут вам прийдется почитать законодательство) дело это муторное, но полезное.