LINUX.ORG.RU

Work in progress


0

0

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

Почему на жабу а не на питон/перл/лазарус? Потому, что надо а) минимизировать затраты б) получить максимально технологичную инсталяцию, в том числе под виндой, где как известно привыкли делать next->next->next и репозиториев нет в) хочется вменяемый платформенно-независсимый тулкит для работы с СУБД г) не хочется держать кучу сборок для кучи платформ.

Из прочего (кроме первичного каракаса приложения) среда разарботки и панель google gadgets с украшалочками. Все это на ноутбуке с C2D и 2GB оперативки, все оборудование работает, включая камеру, микрофон, вай-фай, кард-ридер и сканер отпечатков пальцев.

>>> Просмотр (1280x800, 241 Kb)

★★★★★

Проверено: hibou ()
Ответ на: комментарий от mx_

> А mono значит не подошел из-за идеологии?

На идеологию плевать, но .NET и C# я знаю значительно хуже, а с жабой я неплохо знаком, да и временем она проверена

no-dashi ★★★★★
() автор топика
Ответ на: комментарий от ei-grad

> а всё таки скажу что имхо для такой задачи тупо файловая система правильней

Кажется вы попали. Вы же у меня учитесь в этом году? :-)

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

no-dashi ★★★★★
() автор топика
Ответ на: комментарий от sabonez

> в одной конторе начальство очень любило послушать записи переговоров техподов с абонентами

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

no-dashi ★★★★★
() автор топика
Ответ на: комментарий от no-dashi

>P.S.: и еще - жаба не тормозит. Проверено, и не только мной

Ага! Но только не все после проверки выжили :)

Attila ★★
()
Ответ на: комментарий от sabonez

> Вопрос к автору, а почему морда на Swing, а не SWT?

Swing есть везде где есть жаба и лучше документирован, это плюс. SWT быстрей, для свинга это минус :-)

no-dashi ★★★★★
() автор топика

Что это, модераторы решили показать что они тоже на что-то способны? Ждем будильник от Шомы? :)

a3
()
Ответ на: комментарий от no-dashi

> То есть клиент ставит JRE и ставит JAR-ы приложения (вместе с JAR-ами JDBC-драйверов, если это позволяет лицензия на драйвер) - все, приложение готово к работе. Сравни это с твоей схемой: юзер ставит питон, затем ставит QT/GTK, затем ставит приложение, ставит нативного клиента к СУБД, затем ставит приложение.

Мсье явно не умеет читать. С py2exe и py2app не надо ничего ставить, только исполняемый файл с dll-ками(которые уже сгенерены py2*) таскай. К тому же, если по каким-либо причинам не хочется возиться с py2*, можно попробовать закатать все зависимости в один инсталлер, с помощью NSIS, например.

srj ★★
()
Ответ на: комментарий от srj

> Мсье явно не умеет читать.

Ты что не понял ? Я просто так что ли про mono спросил ?
По моему после ответа на этот вопрос стало сразу почему жаба
а не python cpp+Qt и подобное...

Я сам в начале не понял. Так как все его а)б)... какие то надуманные.

mx_
()
Ответ на: комментарий от srj

> С py2exe и py2app не надо ничего ставить, только исполняемый файл с dll-ками(которые уже сгенерены py2*) таскай

А dll-ки Qt/GTK/wxWidgets Вася Рябый таскать будет?

no-dashi ★★★★★
() автор топика
Ответ на: комментарий от no-dashi

> Сравни это с твоей схемой: юзер ставит питон, затем ставит QT/GTK, затем ставит приложение, ставит нативного клиента к СУБД, затем ставит приложение.

читай внимательнее. 1) Я же сказал: + cxFreeze для линуха и винды, + py2app для мака. Клиент получает ПРИЛОЖЕНИЕ. Никаких доп. библиотек, ему ставить не надо.

2) зачем отдельный клиент к СУБД? См. выше.

> Во-вторых, нет нужды иметь несколько девелоперских окружений: поведение виджетов абсолютно одинаково на всех платформах - нет привязки к версиям QT/GTK и прочих странных проблем, не надо

Поведение виджетов Qt весьма одинаково на всех платформах.

glebiao
()
Ответ на: комментарий от no-dashi

>А dll-ки Qt/GTK/wxWidgets Вася Рябый таскать будет?

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

glebiao
()
Ответ на: комментарий от Andru

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

хотя изврат, да

vostrik ★★★☆
()
Ответ на: комментарий от glebiao

> все(!) необходимые сошки/дллки, втоматически попадают в пакет со сгенерированным приложением.

То есть оно весь код раскомпилирует и собирает в один большой пакет? Или просто складывает их все рядом? В общем в обоих раскладах трупы идеолога создания разделяемых библиотек перевернулся в гробу :-(

no-dashi ★★★★★
() автор топика
Ответ на: комментарий от no-dashi

>То есть оно весь код раскомпилирует и собирает в один большой пакет? Или просто складывает их все рядом? В общем в обоих раскладах трупы идеолога создания разделяемых библиотек перевернулся в гробу :-(

оно собирает в пакет только и только те dll, которые необходимы данному приложению. Да, в модульной системе это плохо. Но в приличной модульной системе есть пакетный менеджер, и небходимость в таком пучке моркови отсутствует. В винде нету, к сожалению.

кстати, сделать проверку, что нужные dll уже установлены и не подменять их файлами из пакета, совсем не трудно.

glebiao
()
Ответ на: комментарий от no-dashi

> То есть оно весь код раскомпилирует и собирает в один большой пакет? Или просто складывает их все рядом? В общем в обоих раскладах трупы идеолога создания разделяемых библиотек перевернулся в гробу :-(

Хохо)) А чем Ява лучше?)) В любом случае пакет явы под оффтопик тоже ставить/класть вместе с дистрибутивом приложения, то же самое py2* вам прекрасно сделает - соберет qt, pyqt и всё что нужно от python'а.

ei-grad ★★★★★
()
Ответ на: комментарий от ei-grad

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

ei-grad ★★★★★
()
Ответ на: комментарий от no-dashi

> Кажется вы попали. Вы же у меня учитесь в этом году? :-)

Уж лучше так попасть чем делать задания по базам данных в СУБД Access) Я бы даже сказал на порядок лучше :-D

А если серьезней, то, конечно, не зная объемов задачи и не имея опыта разработки приложений взаимодействующих с нормальными БД, не могу настаивать на адекватности своих оценок происходящего. Разницу между базой данных и хранилищем обектов которые в базу пихать не следует, я разумеется вижу.

ei-grad ★★★★★
()
Ответ на: комментарий от andreyu

>> P.S.: и еще - жаба не тормозит. Проверено, и не только мной

На современном железе Java работает очень хорошо.

>Я столько не курю.

Иногда хикикомори хотят кушать. И тогда они становятся троллями. И некоторые даже их подкармливают. Но не я. Я слишком жадный.

----

Eclipse не тормозит даже на макминике с 512МВ RAM - таки SWT. И созданные им проги на свинге не тормозят. Если правильно использовать "рабочие треды" и прочие правильные вещи.

Bioreactor ★★★★★
()
Ответ на: комментарий от Bioreactor

> На современном железе Java работает очень хорошо.

При этом кушает памяти в несколько раз больше, чем нативные приложения.

> И созданные им проги на свинге не тормозят.

Это смотря что понимать под тормозами. Для меня, например, высокая латентность интерфейса -- тормоза.

a3
()
Ответ на: комментарий от a3

>> На современном железе Java работает очень хорошо.

> При этом кушает памяти в несколько раз больше, чем нативные приложения.

Правильно! Давайте дружно писать прикладной софт на ассемблере!

>> И созданные им проги на свинге не тормозят.

> Это смотря что понимать под тормозами. Для меня, например, высокая латентность интерфейса -- тормоза.

http://java.sun.com/products/jfc/tsc/articles/threads/threads2.html

Bioreactor ★★★★★
()

> ортирование одной из разработок (жуткой проприетарщины) с дельфи на жабу

Из одного недоязычка на другой недоязычек. Зачет.

CL-USER
()
Ответ на: комментарий от CL-USER

Так, внесем еще одного в списочек малолетних толстеньких троллей.

Bioreactor ★★★★★
()

Скрин был бы очень приятным, если бы: 1) автор убрал цветочек с раб стола 2) сменил блевотно-болотный фон окна IDE и панели задач (хотя бы на тот же небесный, какой имеет разрабатываемое приложение) 3) убрал бы непонятный пробел (пустое место) на панели слева от микшера...

Но в целом все равно приятно, все так просто и со вкусом...нет явного закоса под красноглазость или резких переходов цветов...В этом можно работать ИМХО.

Soulreader
()
Ответ на: комментарий от Bioreactor

> Правильно! Давайте дружно писать прикладной софт на ассемблере!

Скромному юноше из Бангалора конечно же не рассказали, что помимо жабы и ассемблера, существует еще великое множество языков. Ну так вот знай.

> http://java.sun.com/products/jfc/tsc/articles/threads/threads2.html

Ты вообще понимаешь что такое "летентность интерфейса"?

a3
()
Ответ на: комментарий от a3

> летентность интерфейса"

лЕтентность - это, видать, когда все лЕтает.

> "Нижеследующие посетители игнорируются: 1. Bioreactor; " (c)

Скучно без двача, да? Ну тогда, коль "существует еще великое множество языков" (c) идите, русской языке малька подучите. :)

Bioreactor ★★★★★
()
Ответ на: комментарий от Bioreactor

> лЕтентность - это, видать, когда все лЕтает.

В некоторых местах говорят в таких случаях "Слив засчитан".

a3
()

а почему эклипс на русском, а гнум - нет?

overmind88 ★★★★★
()
Ответ на: комментарий от Bioreactor

>Иногда хикикомори хотят кушать. И тогда они становятся троллями. И некоторые даже их подкармливают. Но не я. Я слишком жадный.

Вот не пойму, что-то вы часто хикки и прочих neet упоминаете. Вам так близка эта тема? Так, чисто любопытства ради.

>Eclipse не тормозит даже на макминике с 512МВ RAM - таки SWT. И созданные им проги на свинге не тормозят. Если правильно использовать "рабочие треды" и прочие правильные вещи.

У меня eclipse тормозит. Хотя не так уж, чтобы фатально. Но дело в том, что всё познаётся в сравнении. Вот если поюзать для кодинга на Qt eclipse+интеграшку и QtCreator, которые в принципе для этой задачи равноценны, то сразу стаёт понятно, кто тормозит, а кто нет.

Так вот eclipse на жабе тормозит, а креатор с крестах - нет. Хотя да, речь чисто про гуй.

P.S. Я бы всё-таки Qt выбрал для такого вот портирования, правда только есть необходимое для того условие: отсутствие стойкого отвращения к крестам в принципе.

eduard_pustobaev ★★
()
Ответ на: комментарий от Soulreader

> автор убрал цветочек с раб стола

Собственно ради этого цветочка google-gadgets у меня и крутится на компе :-)

> сменил блевотно-болотный фон окна IDE

Опять таки - я специально выбирал мягкие теплые цвета в качестве базовых :-)

no-dashi ★★★★★
() автор топика
Ответ на: комментарий от mamay_cozak

> Потому что ты её знаешь лучше, вот и весь секрет.

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

no-dashi ★★★★★
() автор топика

Цвет панели и Эклипса совсем не сочетается с вистоватыми декорациями..

vkos ★★
()
Ответ на: комментарий от Andru

> странно... я думал на ноутбуках люди стараются оптимально использовать рабочее пространство, ан нет... рамки окон пошире, панельки со свистелками... страхи в общем.

Ага, верно, нельзя было соптимизировать GUI, хотя бы уменьшить однолтипные "дата время". Для текущего дня (или текущей даты), можно было бы начало убрать, а оставить время. Хотя бы уместится.

Vest
()
Ответ на: комментарий от a3

>При этом кушает памяти в несколько раз больше, чем нативные приложения.

Толстенький, тут никого не интересуют тормоза и количество памяти - это энтерпрайз. Тут требования к железу ничто, время и удобство разработки - все. Иди почитай тред про synapse, где ты отстаивал моноподделку, ну или joelonsoftware, он писал про 5 видов по (причем крайне точно). http://russian.joelonsoftware.com/Articles/FiveWorlds.html

stave ★★★★★
()
Ответ на: комментарий от stave

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

Вообще-то, я и не пытался это оспаривать, я отвечал на сообщение "жаба не тормозит!!1111".

> Иди почитай тред про synapse, где ты отстаивал моноподделку

Я его не отстаивал.

a3
()

Шо? Всего одни часы?!

ssvda
()
Ответ на: комментарий от a3

> Латентность интерфейса свинга заметна на любой машине.

На моей не заметна (jedit, idea, cyberduck). Но Вы повторяйте это почаще - вдруг действительно сладко станет.

svr69 ★★
()
Ответ на: комментарий от no-dashi

>То есть оно весь код раскомпилирует и собирает в один большой пакет? Или просто складывает их все рядом? В общем в обоих раскладах трупы идеолога создания разделяемых библиотек перевернулся в гробу :-(

для винды разделяемые библиотеки не актуальны, там как правило каждая маленькая тулзовина таскает с собой весь зоопарк. и для недалеких удобно когда нужно всего в одном инсталлере нехт-нехт-нехт и все. pyqt + libpython кстати добавляет около 18мб (6-8 в архиве), ну и собственно код на питоне еще пару килобайт.

prizident ★★★★★
()
Ответ на: комментарий от prizident

> Так вот eclipse на жабе тормозит, а креатор с крестах - нет.
> Хотя да, речь чисто про гуй.

Хотелось бы знать какая еклипса, сколько и каких плагинов к ней стоят,
на какой машине это пускается и под какой жре работает ( сан, ибм, опен,
гсж ... )

mx_
()
Ответ на: комментарий от a3

>> Так у них ява и не тормозит :)

> Латентность интерфейса свинга заметна на любой машине.

"лЕтентность" (с) интерфейса свинга заметна на любой машине a3-куна. Который даже не понимает, как обходить ограничение на один поток в свинге, и приходит на Джава треды исключительно потроллить и пофлудить.

Видать, a3-куну оказали в аутсорсинговой конторе, вот и решил побитардить малька.

Bioreactor ★★★★★
()
Ответ на: комментарий от svr69

>> Латентность интерфейса свинга заметна на любой машине.

>На моей не заметна (jedit, idea, cyberduck). Но Вы повторяйте это почаще - вдруг действительно сладко станет.

"Не кормите троллей!" (c) Хотя начинающие толстые тролли могут доставить массу лулзов.

ЗЫ. Сейчас у меня NB 6.5 (Swing) и Eclipse (SWT) - просто супер! Разница минимальна.

PSS. Я за "чистую" Джаву - поэтому предпочитаю Swing.

Bioreactor ★★★★★
()

особо фанатичные жаба-куны отметившиеся в этом треде поставлены на учет. Всем спасибо. 

CL-USER
()
Ответ на: комментарий от Bioreactor

> "лЕтентность" (с) интерфейса свинга заметна на любой машине a3-куна. Который даже не понимает, как обходить ограничение на один поток в свинге, и приходит на Джава треды исключительно потроллить и пофлудить.

А при чем тут треды в свинге? Вы предлагаете переписывать тормозящие java-приложения, "обходя ограничения на один поток"? Если нет, то каким образом это всплыло в обсуждении интерфейса (от лица обычного пользователя), я не пойму.

PS. Вы один раз уже указали на опечатку, второй раз повторять как минимум некрасиво. Как максимум - глупо.

init ★★★★★
()
Ответ на: комментарий от init

А что программы на других мега крутых языках будут быстее работать если из одного треда и гуй рисовать и к БД обращаться? По моему, болшинство троллей никогда гуй не писали ни на одном языке.

dimag
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.