LINUX.ORG.RU

Swing используют 47% разработчиков


0

0

В отчете Evans Data Corporation отмечается, что Swing обошел WinForms по распространенности в качестве тулкита для разработки интерфейса пользователя, и в США его использовали в 2005 году 47% разработчиков.

На сегодняшний день гораздо больше программистов используют Java SE и Swing, чем WinForms и .NET

>>> Подробности

anonymous

Проверено: ivlad ()

Ну по-крайне мере большая часть shareware и мелких коммерческих поделок пишется на VB и delphi/с++ builder (оба из них, между прочим, уже мертвы - новых версий выпущено не будет).. А все что для enterprise и кому важна кросс-платформенность - по-моему делают с веб-интерфейсом.

А вот не подскажите - насколько более геморойно писать на MFC по сравнению с C++ Builder? Тоже подумываю поделки-shareware под винду писать начать, знаю только (плохо) BCB и (нормально) gtk.. А Qt покупать неохота.
ЗЫ: dotnet учить смысла не вижу, потому что у потенциальных кастомеров (домохозяек из пиндостана) dotnet runtime скорее всего стоять не будет.

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

> Тоже подумываю поделки-shareware под винду писать начать, знаю только (плохо) BCB и (нормально) gtk.. А Qt покупать неохота.

а писать на mingw+gtk под Win - религия видимо не позволяет ? ;-)
или Ваши мысли в стиле "а не спеть ли мне песню.."


MKuznetsov ★★★★★
()

>dotnet учить смысла не вижу, потому что у потенциальных кастомеров dotnet runtime скорее всего стоять не будет.

через год donter runtime на всех новых Win осях по дефолту будет

>А откуда информация о ее бесплатности?

со страницы майкрософтов... заходишь к ним и скачиваешь

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

> а писать на mingw+gtk под Win - религия видимо не позволяет ? ;-) или Ваши мысли в стиле "а не спеть ли мне песню.."

Так библиотек нет для gtk под винды сторонних. Даже activex компонент в gtk приложение наверно фиг встроишь. А для MFC и VCL сторонних либ тучи, платных и бесплатных. Велосипеды изобретать - время жалко. Я лучше куплю за $30 VCL-контрол чем полгода тоже самое для gtk писать буду.

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

> >dotnet учить смысла не вижу, потому что у потенциальных кастомеров dotnet runtime скорее всего стоять не будет.

> через год donter runtime на всех новых Win осях по дефолту будет

И что с того? Под WinXP/Win2k/Win9x все равно его придется доставлять.. Ты видел много shareware-поделок под винду, использующих .NET?

anonymous
()

>И что с того?

ничего

>Ты видел много shareware-поделок под винду, использующих .NET?

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

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

> под винду кутэ давно бесплатно. уже год наверно.

Вроде доступна бесплатно только версия которая с баннером (что мол, только для GPL програм). А без баннера надо где-то в инете искать. И не факт что под нее либ сторонних очень много.

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

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

Согласен. Но в ближайшие год-два-три домохозяек с виндой в которой есть .NET наверно будет 10-20% от общего количества домохозяек. Примерно столько сколько их сейчас с Win9X.

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

>Мне нравится QT.

Платный для комерческих разработок.

>На крайний случай - SWT.

Может тогда JFace?

Я сейчас использую SWT/JFace/RCP. Если нужно разрабатывать IDE - SWT/JFace/RCP однозначно. В противном случае SWING хватает за глаза.


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

poprobuyte vot eto. klassniy Java Swing framework.

https://jgoodies.dev.java.net/
http://www.jgoodies.com

vklyuchaet v sebya frameworks
Name Summary
animation Time-based real-time animations in Java
binding JGoodies Data Binding framework
forms JGoodies Forms layout system
looks JGoodies Windows l&f and Plastic l&f family
validation JGoodies Validation Framework

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

>Когда запускаю Poseidon - приходит мысль, а не сдох-ли он на старте..При запуске на celeron`е, вообще ухожу курить/пить кофе.

Полностью солидарен. На PIV-3+4Г RAM грузится о-о-о-чень долго. При таскание сплитера ( список диаграмм | редактор ) скорость отрисовки просто ужасна (даже с пустым редактором)! Работать с ним просто невозможно. Врядли есть что то лучше старой доброй Розы.

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

>Ну так уж работает виртуальная машина. За то дай ей памяти побольше, запусти с параметром server а не client и можно радоваться скорости. И никакой тормознутости гуи.

Видидте ли, любезный друк, сун не зря зделала client, а для того, чтобы - ну сами знаете:

1)Чтобы ускорить запуск приложения ( ибо поначалу работает интерпретатор, а наиболее часто выполняющиеся методы джитятся в процессе)

2) Чтобы кушал(а,о) поменьше рамы, т.к. оптимизатор, в режиме server исползует например агрессивный инлайнииг и раскрутку лупа, значительно увеличивая таким образом размер кода. (есть мнение, что в режиме server интерпретатор не используется вообще)

А есть мнение, что свинги используются преимущественно (если не исключительно) в клиентских приложениях.

Что касается памяти побольше, так Вы же знаете, что владение памятью, довольно обременительно - больше памяти - больше расходов. Возьмите хотябы TLB miss-ы, например в Оптероне, УльтраСпарке-3 (да и наверное во всех современных процессорах) размер TLB около 512 входов, т.е. при размере страницы 4К, задешево можно адресовать ~ 2M озу. Вы видели приложения на java, которым хватает столько? А ведь исследования показали, что для УльтраСпарке-3, для память-интенсивных приложений, 19% времени процессора уходит на разрешение TLB miss ... Я уж не говорю о memory fault-aх... ,неизбежно возникающих в массовом порядке при использование сборщика мусора.

>Вот хороший пример IntelliJ-Idea - там и темы можно переключать, поставил виндовую или gtk - даже и намека на трмознутость гуи нет.

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

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

>Типичный пример серости и бездарности.

Автор несомненно перегнул, однако, ma'am неужели Вы считаете, что наибелее продвинутые специалисты являются приверженцами java?

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

Убожество у тебя в штанах. У Tk идеальный look&feel. Сопляки, привычные к свистелкам-перделкам - нисколько не интересная группа пользователей, разрабатывать софт для детского сада никто не станет.

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

>Блин, это получается, что 47% новых программ должны иметь GUI на Java? Где ж они? Работаю аутсорсером на пиндосов - MFC до сих пор рулит.

Подтверждаю. Хотя медленный прогресс намечается. Если раньше, мы и серверные и клиетские части делали на С++, то теперь клиентов часто приходится делать на java+swing. Работаем в пиндосии. Имеем аутсорсовую контору в Росии.

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

> кабы там еще какое-нибудь подобие listview было

Есть, полно.

> да было бы оно таки отдельно от tcl

Зачем?!? Тулкит должен иметь свой язык! Это не просто библиотека!

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

> к сожалению, в самое ближайшее время этого не произойдёт.

Ничего, добьём жабку. Сдохнет, падла, никуда не денется.

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

> WinForms рулит

Винформс сосёт, а всех, кто их использует, надо расстрелять без суда и следствия. Тулкит без layout manager-а - ублюдство.

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

>Видидте ли, любезный друк, сун не зря зделала client, а для того, чтобы - ну сами знаете

Ну а что ж делать. Приходится чем-то жертвовать, вот так всегда. Однако, мне кажется, что время java для десктопов только-только наступает, это уже не то, что было 3 года назад. Мощности компьютеров растут, памяти побольше... яву тоже доделывают. Может когда-нибудь наступят золотые времена :-)

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

> есть мнение, что в режиме server интерпретатор не используется вообще

Ложь.

А за то, как написан HotSpot, надо убивать. Одно только то, что client и server - это две разные, но на 90% совпадающие ветки кода, говорит об абсолютной невменяемости аффторов. Желаю им как можно скорее выпить йаду. А за то, как они написали GC (их GC - худший в мире, ни у кого такой тормозной погани больше нет), йад должен быть очень невкусным, чтоб пили они его без всякого удовольствия.

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

> Может когда-нибудь наступят золотые времена :-)

К тому времени этот ублюдочный недоязычок сам по себе сдохнет.

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

Переписывали давече приложение с явы на .НЕТ для немцев... Заодно поинтерисовались о том, как же линух там обитает. Дык нет его почти нигде. Во всяком случае в корпоративных решениях. Так что все крики о переходе мюнхена на линух бред какого-то сумасшедшего очередного красноглазика. =)

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

> К тому времени этот ублюдочный недоязычок сам по себе сдохнет.

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

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

>Так что все крики о переходе мюнхена на линух бред какого-то сумасшедшего очередного красноглазика. =)

А хорошие вещи никогда не будут ширпотребными, да и никогда не были. Для работы в линуксе нужны определенные знания, не всем это под силу.

lexius ★★
()

Я яву рассматриваю в связке с hibernate, spring, struts, ... и так список можно продолжить далеко. Все это реализовано на яве и все это используется при разработке приложений, причем получается повольно элегантно. Вот тогда и становится ясно, что это за язык такой - java. Если понять саму филсофию J2EE, разобраться в необходимых фреймворках - вот только тогда можно понять насколько мощна ява.

P.S. Если я не понимаю джаз, то это еще не значит, что музыка фигня, я просто его не понимаю. Аналагично и с явой, линуксом и тд. Но это не повод анонимусам нести разный бред на словами самого последнего быдла.

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

"Элегантно" оно получается только с твоей безграмотной точки зрения, поскольку ты не видел ничего другого кроме Жабки. Hibernate - грязный хак на рефлексии во время исполнения, что есть лучшее свидетельство ограниченности и убожества семантики Жабки. По настоящему рефлексивный язык, у которого есть истинные макры и MOP, позволяет такие вещи, как Hibernate, реализовывать на порядке проще и эффективнее.

И не гони. Я все эти Hibernate и прочие Spring юзал гораздо больше, чем мне того бы хотелось. Я гораздо лучше тебя разбираюсь в Жабке. Так что будь поосторожнее с безаппеляционными заявами - грамотность свою надо уметь подтвердить.

Хочешь быть человеком - иди сначала на http://www.haskell.org/ и на http://www.paulgraham.com/, прочитай ВСЁ, и после этого подумай, а можно ли Жабку считать языком не для быдла.

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

>>Когда запускаю Poseidon - приходит мысль, а не сдох-ли он на старте..При запуске на celeron`е, вообще ухожу курить/пить кофе.

>Полностью солидарен. На PIV-3+4Г RAM грузится о-о-о-чень долго. При таскание сплитера ( список диаграмм | редактор ) скорость отрисовки просто ужасна (даже с пустым редактором)! Работать с ним просто невозможно.

Это ж как себя надо нелюбить, что бы использовать посейдон? ;-)

>Врядли есть что то лучше старой доброй Розы.

В розе жуткий offline reverse eneenering .

Together от Borland (на Swing + JGraph) - online code generation & reverse eneenering для c++/java/c#


Omondo UML от Omondo (на JFace/SWT + GEF) online code generation & reverse eneenering кажется только для java

Оба написаны на JAVA оба работают быстро и очень удобные.

PS Я предпочитаю Together (делают ребята из Питера)

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

Yilativs > Together от Borland (на Swing + JGraph) - online code generation & reverse eneenering для c++/java/c#

проблемка в том, что в работе использую только то что нормальным образом купил, или разноообразный freeware..

Раз уж так хвалите together - подскажите цену на него - походу Borlnad & partners её тщательно скрывают ;-)

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

Извините, благородные доны, что влезаю в ваш разговор.

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

Плохой продукт с точки зрения архитектуры является свидетельством того что плох язык?!!
Какой же тогда убогий язык Ruby )))
Ты видел ORM в rails? ;-))

Теперь к hibernate - он и правда грязный, но удобный и бесплатный.
Не нравится hibernate - бери Toplink, он чистый и красивый но от Oracle и за деньги )

> По настоящему рефлексивный язык, у которого есть истинные макры и MOP, позволяет такие вещи, как Hibernate, реализовывать на порядке проще и эффективнее.

Примеры ORM для haskell в студию )

PS Что за приложения были написаны на этих чудо языках с истинными МОРами и волшебными макаронами, короткие замыкания(как же вы забыли их упоминуть?!!) добавить по вкусу ;-)

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

> Tk. По сравнению с Tk всякие там свинги - говно кривейшее.

Tk тоже не сахар. Не по выразительности средств, а по их наличию, верней отсутствию...

Говно, не говно, но в данном форуме единственно правилный GUI -- должен быть мотиф. Всё остальное ересь -- жечь на костре медленно и обязательно мучительно.

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

> MegаWidgets - Это Tkinter при чем тут Tk? Есть темезаторы Tk - пиши не хочу интерфейсы.

Linfan : а при чём тут tkinter ?? tkinter - просто мостик к tcl/tk..
возможно конечно, мы разные Megawidgets имеет в виду..я - те что tcllib.sourceforge.net (те которые BWidgets) 

Лучший темизатор Tk : X-resources ;-)
*font Terminus 12
*Frame.relief ridge
...

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

>Хочешь быть человеком - иди сначала на http://www.haskell.org/ и на http://www.paulgraham.com/, прочитай ВСЁ, и после этого подумай, а можно ли Жабку считать языком не для быдла.

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

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

Извините, благородные доны, что влезаю в ваш разговор.

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

Плохой продукт с точки зрения архитектуры является свидетельством того что плох язык?!! Какой же тогда убогий язык Ruby ))) Ты видел ORM в rails? ;-))

Теперь к hibernate - он и правда грязный, но удобный и бесплатный. Не нравится hibernate - бери Toplink, он чистый и красивый но от Oracle и за деньги )

> По настоящему рефлексивный язык, у которого есть истинные макры и MOP, позволяет такие вещи, как Hibernate, реализовывать на порядке проще и эффективнее.

Примеры ORM для haskell в студию )

PS Что за приложения были написаны на этих чудо языках с истинными МОРами и волшебными макаронами, короткие замыкания(как же вы забыли их упоминуть?!!) добавить по вкусу ;-)

+5

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

к MKuznetsov-у
> tclkit весит 2 Мб - весь дистрибутив tcl/tk с кучей полезностей вроде
> vfs; MegaWidgets - 200k

а поподробней можно?
на активстэйте tcl-tc 20Мег

интересует именно вин-реализация,
как там с интерфэйсами?
например к БД...
и насколько сложно прицеписься к железкам?
например к COM, LPT(через прокладки ессно)

с ув. Анатолий

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

> Не отдельно от Тк, но listview (или я не понимаю что такое listview??)

нет, все правильно. я тоже подобное писал по надобности на канвасе. но отдельности tk от tcl это мягко говоря не решает. да и по скорости такие решения..

самый правильный из этого зоопарка, имхо, tktable был. со всеми вытекающими проблемами.

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

> Мсье был подвергнут заморожке в 2000году? Не спорю, в 2000 году так и было, но сегодня все совсем не так, как вчера. Evans Data это отразила в очете. MFC & Delphi похоронены и испольуются кустарями-одиночками и студентами.

не верю (c)

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

> Вы просто не в теме, я, например, на Perl'е (используя Tk) пишу программы, которые могут работать сразу и в linux'e и в win, и listview на cpan'e есть

да в теме я, в теме. только вот какого объема рантайм нужен твоим прожкам? не проще ли юзеру jre поставить? :-)

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

Интересно, а почему тогда белка, которая написана на свинге, работает быстрей кутешной торы?

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

> А вот не подскажите - насколько более геморойно писать на MFC по сравнению с C++ Builder? Тоже подумываю поделки-shareware под винду писать начать, знаю только (плохо) BCB и (нормально) gtk.. А Qt покупать неохота.

mingw-g++ и wxWidgets. я серьезно.

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

Для Анатолия :

http://www.equi4.com/tclkit.html и в частности http://www.equi4.com/pub/tk/downloads.html

дистрибутив ActiveState содержит много дополнительного - полезного при разработке, но не поставлемого в итоге конечному пользователю. Практически он содежит максимум всего, на все случаи жизни (несколько xml-парсеров, ftp/http/smtp/nntp клиенты и сервера и много чего другого).

Про БД : в tclkit входит Metakit - своеобразная БД, ко всем прочим можно найти обёртки у производителей БД и/или отдельные проекты. (в частности tclsqlite - часть дистрибутива sqlite)

Про железки - затруднюсь сказать как обстоит работа с COM/LPT портом под Win, но под *nix - элементарно( set fd [open "/dev/cua0"] fconfigure $fd -baudarate 19200 -encoding utf-8 )

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

если интерестно, то источники информации : http://wiki.tcl.tk (основной - рекомендую облазить вдоль и поперёк), http://tcllib.sourceforge.net - сборник pure-tcl/tk расширений и библиотек http://www.aolserver.com/ - просто поглядеть чё тикль умеет

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

>> да было бы оно таки отдельно от tcl > Зачем?!? Тулкит должен иметь свой язык! Это не просто библиотека!

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

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

и еще для Анатолия (про БД):

практически мечта MS ;-) http://wiki.tcl.tk/14799
""An SQL database backed VFS""

set fd [vfs::sqlite3::Mount test.db test]
file copy file.txt test/file.txt


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

>"Элегантно" оно получается только с твоей безграмотной точки зрения, поскольку ты не видел ничего другого кроме Жабки. Hibernate - грязный хак на рефлексии во время исполнения, что есть лучшее свидетельство ограниченности и убожества семантики Жабки. По настоящему рефлексивный язык, у которого есть истинные макры и MOP, позволяет такие вещи, как Hibernate, реализовывать на порядке проще и эффективнее.

>И не гони. Я все эти Hibernate и прочие Spring юзал гораздо больше, чем мне того бы хотелось. Я гораздо лучше тебя разбираюсь в Жабке. Так что будь поосторожнее с безаппеляционными заявами - грамотность свою надо уметь подтвердить.

Так, учиним пацанам порку.

Относительно "хака на на рефлексию"

Для генерации небходимого кода Хибернейт испольует библиотеку CGLIB. http://cglib.sourceforge.net/. Используя это библиотеку, Хибернейт ГЕНЕРИТ классы с необходимым кодом в момент своей загрузки.

Например, из класса Car надо взять Name и установать в параметры запроса.

Генерится код вида: <code> public class CarPropertiesSetter { ... public setName(Car entity, PreparedStatement stmt, int position) { stmt.setString(position, entity.getName()); } ... } </code>

Так что никакй рефлексии нет. Поздравляю вас, господин соврамши с большим опытом.

А такой функцимональности как в Хибернейте нет ни в одном ОРМ ни для одного языка.

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