|
|
|
Как разрабатывать GUI для работы с базой даных
|
|||
|---|---|---|---|
|
#18+
kefiВот-вот помогите понять что в Java лучшее для решения поставленой задачи! Вы то сам чем пользуетесь? Если JBuilder, то намекните - можно ли там создать несколько гридов на форме со своими источниками данных, причем,чтоб эти гриды связаны др. с другом по типу главный - подчиненный. А то мастер в JBuilderX мне построил только убогое бланковое окошечко. Как и Вы, я сам ничем не пользуюсь, а только оцениваю перспективы реализации некоторого проекта с помощью разных технологий. Окончательный выбор я ещё не сделал, хотя склоняюсь к Яве процентов так на 75. Разумеется, создать несколько гридов со своими источниками данных можно, можно прописать все запросы на обновление данных в свойствах специальных компонент, можно сделать мастер-деталь и вообще всё, что нужно для традиционных систем работы с данными и при этом не написать ни строчки кода. К сожалению, не всё там внешне красиво, есть и глюки (где их нет?), но всё это уже рабочие моменты (речь о JBuilder2005 foundation). И ещё: чтобы что-то получилось придётся прочесть входящую в комплект документацию (точно не помню, но вроде я скачивал её отдельно - все ссылки есть на Борланде). Там не слишком большой объем, так что за пару дней осилить реально. JDO и прочие J2EE прибамбахи я не испытывал уже хотя бы потому, что в отличие от Борландовской dbSwing, там надо очень долго и кропотливо разбираться. Есть, однако, предположение, что оно того стоит. IMHO, ощущение примерно такое: если есть твёрдая решимость разрабатывать кроссплатформенную систему не с веб-интерфейсом, то все варианты кроме Явы как-то меркнут по причине своей недоделанности (FreePascal, Mono, Python и т.п.). Ява - единственная зрелая платформа промышленного уровня для кроссплатформной разработки. Ещё одна перспектива - примерно летом должен выйти QT4 со всеми средствами разработки с GPL лицензией не только для линюха, но и для винды. Можно глядеть в этом направлении, хотя данная система и не слишком заточена под работу с данными. kefiТак горы накладного кода имеют очевидный недостатоки : они также , хоть и видны , но могут содержать ошибки, С ними трудно разбиратьcя. 1. Их можно скрыть. 2. Их генерит JBuilder, поэтому ошибок там нет :) 3. С ними не обязательно разбираться. Всё делается через IDE. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.03.2005, 15:05 |
|
||
|
Как разрабатывать GUI для работы с базой даных
|
|||
|---|---|---|---|
|
#18+
kefi Сам недавно переходил на java. Вот мой вариант компонентов, которые стоит использовать при реализации gui-клиента к БД. 1. DBMS->JDO/Hibernate -> DAO Т.е. пишем свой DAO-слой, используя JDO-продукт или Hibernate. Про DAO здесь уже приводили ссылку. На выходе получаем набор persistance-capable domain-объектов. 2. Далее пишем слой "сервисов". Это фактически сценарии использования доменных объектов. Они и реализуют бизнес-логику системы. 3. Пишем presentation-layer, умеющий отображать domain-objects (а не занимающийся прямым доступом к БД) Здесь, я считаю, помогут а) swing или SWT а) JGoodies Form Layout + какой-нибудь WYSIWYG-дизайнер (не обязателен) это чтобы непосредственно рисовать панели б) JGoodies Binding - это фактически набор generic-моделей, которые можно использовать вместо постоянного написания моделей к SWING'у самостоятельно PS> и это еще далеко не все. Так что старт очень тяжелый, но мне кажется java того стоит ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.03.2005, 15:26 |
|
||
|
Как разрабатывать GUI для работы с базой даных
|
|||
|---|---|---|---|
|
#18+
SSY Окончательный выбор я ещё не сделал, хотя склоняюсь к Яве процентов так на 75. .... речь о JBuilder2005 foundation Я-то к Java склоняюсь на 100%, но нужно как-то эффективно продвигаться, а я стою на месте, не понимая за что браться изучать в плане поставленой темы. Ну так значит, dbSqwing? Я сам так подумал, т.к. Borland не должен бы ее оставить в будущем. funikovyuri kefi JDO/Hibernate -> DAO .... Так что старт очень тяжелый, но мне кажется java того стоит Я не против этого универсального подхода. Но нужен быстрый старт. И вообще я принципиально считаю, что всегда нужен быстрый старт .Это одна из вещей , характеризующих качество технологии при равных прочих. Java-то того стоит, но боюсь, что мне кропотливое разбирательство этих вещей затянет этот старт на вечность и значит с Javа ничего не получится. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.03.2005, 15:53 |
|
||
|
Как разрабатывать GUI для работы с базой даных
|
|||
|---|---|---|---|
|
#18+
Старт должен быть не быстрый, а качественный. Java даёт качественно иной подход к разработки по. Поэтому наверное так трудно переходить на неё с других языков. Чем сидеть в ожидании "быстрого старта" и сетовать что "чего-то его не видать", лучше взять и потихонечку пройтись по пунктам названным funikovyuri'ом. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.03.2005, 16:04 |
|
||
|
Как разрабатывать GUI для работы с базой даных
|
|||
|---|---|---|---|
|
#18+
NotGonnaGetUsСтарт должен быть не быстрый, а качественный. Так это не от меня зависит, а от условий , в которые я поставлен. Хотя, при любых условиях мне кажется важно быстро прощупать возможности новой технологии. А качество набирать с годами. А Вы на чем решаете подобные задачи ? Мне просто кажется, что мало народа ими на Java занимается по причине тяжелых в освоении технологий. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.03.2005, 16:14 |
|
||
|
Как разрабатывать GUI для работы с базой даных
|
|||
|---|---|---|---|
|
#18+
kefi Я-то к Java склоняюсь на 100%, но нужно как-то эффективно продвигаться, а я стою на месте, не понимая за что браться изучать в плане поставленой темы. Чтобы быстро - брать документацию к JBuilder. Но не забывать при этом начать читать что-нибудь фундаментальное. Например, Брюса Эккеля. kefiНу так значит, dbSqwing? Я сам так подумал, т.к. Borland не должен бы ее оставить в будущем. Ой, не уверен. Борланд такой ветренный... kefiЯ не против этого универсального подхода. Этот подход не универсальный. Он просто принципиально другой. Аналогичные подходы существуют и для Дельфи (InstantObjects) и для .NET kefiНо нужен быстрый старт. И вообще я принципиально считаю, что всегда нужен быстрый старт .Это одна из вещей , характеризующих качество технологии при равных прочих. Быстрый старт характеризует скорее ширпотребность. НО. В нашем с Вами случае без него очень трудно оценить технологию самостоятельно, а не опираясь на чужое мнение, составленное часто под влиянием некоторых конкретных обстоятельств, не совпадающих с нашими. kefiJava-то того стоит, но боюсь, что мне кропотливое разбирательство этих вещей затянет этот старт на вечность и значит с Javа ничего не получится. Смотря что понимать под вечностью... Я думаю, что быстрее чем за год вообще никакую технологию не освоить. Ява хороша тем, что сам язык, т.е. основа платформы, чист, прост, логичен и не увешан всякими неочевидными нюансами в форме граблей. Это может дать большое преимущество при углублении в дебри конкретных технологий. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.03.2005, 16:26 |
|
||
|
Как разрабатывать GUI для работы с базой даных
|
|||
|---|---|---|---|
|
#18+
Ув. Kefi, мне кажется, что вы настолько привыкли тупо щелкать мышкой на всяких там визуальных компонентах - аля Делфи или Аксесс, не задумываясь о том, что, как, каким образом и зачем генерируется, что даже такое занятие, как почитать книжку или статью в интернете, для вас является непосильной задачей. Java, это не Access, здесь нет папика в роли Билли, который заставлет делать так, как ему выгодня, в Java Вы сами у руля. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.03.2005, 16:28 |
|
||
|
Как разрабатывать GUI для работы с базой даных
|
|||
|---|---|---|---|
|
#18+
kefi Так это не от меня зависит, а от условий , в которые я поставлен. Хотя, при любых условиях мне кажется важно быстро прощупать возможности новой технологии. А качество набирать с годами. Согласен, в большинстве случаев реальность именно такова. kefiА Вы на чем решаете подобные задачи ? Мне просто кажется, что мало народа ими на Java занимается по причине тяжелых в освоении технологий. Я думаю, что не так уж и мало народа работает на Яве :). Просто подавляющее большинство не занимается GUI в традиционном для винды понимании. Однако вполне вероятно, что ситуация начинает меняться в силу того, что отошла на задний план основная проблема - недостаточное быстродействие и маленький объём памяти среднестатистического компьютера. И Swing, и тем более SWT уже обеспечивают вполне приемлемую шустрость интерфейса, так что перспективы есть. PS: После Дельфи я несколько шокирован практически полным отсутствием бесплатных или хотя-бы дешевых компонент для Явы. Всё, что есть хорошего стоит немалых денег. Народ, вы что, реально покупаете всякие там JGoodies за $1K? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.03.2005, 16:41 |
|
||
|
Как разрабатывать GUI для работы с базой даных
|
|||
|---|---|---|---|
|
#18+
А это дорого? Сколько же ваше руководство планирует на весь проект потратить (с учетом зарплат разработчиков) ? В целом мне кажется что с бесплатными прибамбасами в Java все не так уж плохо. Но за качественные продукты приходится платить. Но и компоненты Developer Express для Delphi тоже денег стоят. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.03.2005, 17:14 |
|
||
|
Как разрабатывать GUI для работы с базой даных
|
|||
|---|---|---|---|
|
#18+
kefiХотя, при любых условиях мне кажется важно быстро прощупать возможности новой технологии. А качество набирать с годами. Описание каждой технологии примерно так и начинается. Думаю, тут главно начать читать. А Вы на чем решаете подобные задачи ? Я не решаю подобные задачи, моя работа связана с server-side. Когда делал ГУИ приложения для себя, делал руками, проблем практически не было. Мне просто кажется, что мало народа ими на Java занимается по причине тяжелых в освоении технологий. Имхо, мало народа этим занимается из-за предубеждения против использования java в качестве основы для standalone gui приложений. Причины тому действительно были: скорость работы swing/используемая память/проблемы с установкой jre/конкуренция со стороны других языков. В большинсте своём, они уже не актуальны: редко кто пользуется рабочей машиной с cpu<1гц/mem<256мб, появилось множество инсталяторов, которые "скрывают" от "тёмного юзера" процесс установки jre, есть web start и т.д. Тяжесть в освоении безусловно возникает, нужно осваивать ООП/базовые технологии. Что бы делать формочки во все возможных Visual Studio (даже если много формочек и связывать их с базами данных) такие знания не нужны. "Сложности" java оборачиваются "простотой", когда возникает необходимость написать действительно сложное приложение. Т.е приложение которое а) можно достаточно просто подгонять под тербования заказчика. б) может разрабатывать группой девелоперов. Впрочем, это преимущества не столько java сколько ООП. Со стороны java идёт простой синтаксис и мощный набор универсальных библиотек. Требования к спец.библиотекам обычно настолько спец, что проще их написать для себя самим. Если искать альтернативу, можно вспомнить про МDA средства. В них конечный язык не важен. Строится модель, превращаяется в код на промежуточном языке и затем этот код "переводится" на java/net или любой другой язык по вкусу. Ключевой момент - конечный код никогда не исправляется человеком, исправляется только модель, после чего всё заново пересобирается. Встроенные в обычные IDE визуальные средства достаточно далеки от этой концепции. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.03.2005, 17:24 |
|
||
|
Как разрабатывать GUI для работы с базой даных
|
|||
|---|---|---|---|
|
#18+
Alexey RovdoА это дорого? Сколько же ваше руководство планирует на весь проект потратить (с учетом зарплат разработчиков) ? Я скорее имею ввиду индивидуальную разработку для мелких предприятий. Там весь бюджет едва ли превышает несколько тысяч. Сознаю, что да, Ява не очень годится для индивидуальной разработки, но других вариантов - небогато. Alexey RovdoВ целом мне кажется что с бесплатными прибамбасами в Java все не так уж плохо. Но за качественные продукты приходится платить. Но и компоненты Developer Express для Delphi тоже денег стоят. Во-первых, они всё-же раза в 2 дешевле, во-вторых есть и совсем бесплатные типа EhLib или VirtualTreeView или FreeReport и при этом вполне неплохие, по крайней мере для большинства задач. Для Явы низкобюджетных компонент (именно для GUI) очень мало вообще, уж не говоря о разнообразии в каждом классе (сетки, деревья, списки и т.п.). Вполне вероятно, что как раз из-за того, что Яву для GUI используют редко. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.03.2005, 17:35 |
|
||
|
Как разрабатывать GUI для работы с базой даных
|
|||
|---|---|---|---|
|
#18+
Никогда не видел такой возможности в VS .NET 2003, как работа с базой данных и при этом, чтобы VS не накидала кучу кода. При чем, этого кода ГОРАЗДО больше, чем в JBulder. А более примитивного DataGrid, чем в VS вообще надо поискать. Я понял бы Вас, если бы шло сравнение с Delphi, который действительно кода практически не генерит ( кроме, разве что для полей формы и некоторых мелочей ). Вообще-то надо сначала поработать с Java, разобраться с идеологией построения компонент, а потом сравнивать. Вообще-то, если Вы пришелец из VS, то Вам, наверное, больше подойдет JNDC, где есть очень пожожие на ADO .NET DataSets (https://jdnc.dev.java.net/) или посмотрите Netbeans и его подход к работе с RowSet от SUN. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.03.2005, 16:44 |
|
||
|
Как разрабатывать GUI для работы с базой даных
|
|||
|---|---|---|---|
|
#18+
Вот только что накопал в инете такой проект для GUI: SwingLabs Сам его не пользовал, но предлагаю всем заинтересованным и хорошо владеющим английским почитать и высказать свое мнение. SwingLabs а тут довольно оживленный форум: Форум Сам проект спонсируется SUN. И вроде есть там какие то наметки по связи с БД. И про hibernate на форуме говорится. Сразу оговорюсь, что видимо супер-визуальными компонентами здесь не светит. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.11.2005, 15:21 |
|
||
|
|

start [/forum/topic.php?fid=59&msg=32979314&tid=2150904]: |
0ms |
get settings: |
9ms |
get forum list: |
16ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
208ms |
get topic data: |
11ms |
get forum data: |
5ms |
get page messages: |
57ms |
get tp. blocked users: |
1ms |
| others: | 210ms |
| total: | 523ms |

| 0 / 0 |
