Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Java: Общие вопросы > swing vs awt


Автор: EvgenZ 20.7.2007, 17:30
Недавно стал заниматься Java (хочу сделать java профессией), сейчас начал изучать awt, несколько человек сказали, что не стоит даже тратить на awt силы и время, а сразу приступать к swing. Хотелось бы узнать побольше мнений на этот счет, стоит изучть awt или не стоит.

З.Ы. Я конечно понимаю, что лучше знать все и всё, но тут дело во времени и труде, в целесообразности изучения.

Автор: AntonSaburov 20.7.2007, 17:36
По большому счету лучше начать сразу с изучения интернет технологий - servlets, JSP, работа с базами данных, EJB, фреймворки для серверных приложений.

AWT наверно уже нет смысла подробно изучать. SWING более приличный и современный вариант GUI. В принципе хорошо зная SWING научиться пользоваться AWT не составит труда.

Автор: fixxer 20.7.2007, 17:38
Думаю не нужно забывать, что SWING базируется на AWT.

Автор: necromancer 20.7.2007, 17:38
прямо таки учить наверное все же нет, а вот знать откуда уши растут стоит.
Swing это прямой потомок AWT, к тому же многие компоненты до сих пор используются 
например в 3D и апплетах. AWT быстрее чем Swing, насколько точно не скажу.
Плюс модель Event-Observer  работает на базе AWT, если я конечно ничего не путаю

Добавлено через 34 секунды
такое ощущение что некоторые люди работает тем что отвечают в форуме =)

Добавлено через 2 минуты и 57 секунд
to AntonSaburov 
почему ты решил что стоит сразу веб технологии. Язык Java достаточно богат и своеобразен. Нужно изучать то что нравится. 
Я знаю людей которые в веб ничего не понимают, зато на ура пишут свои реализации socket server или java 3d клиенты

Автор: AntonSaburov 20.7.2007, 17:48
Цитата(necromancer @  20.7.2007,  17:38 Найти цитируемый пост)
Язык Java достаточно богат и своеобразен. Нужно изучать то что нравится. 

Наверно дискуссия здесь не уместна - я просто выскажу свои резоны.

Во-первых - на SWING пишется на сегодня достаточно мало приложений. Тот же SWT на сегодня является более быстрым, но правда платформо-зависимым. И я видел мало предложений работы с такими скилзами.

Во-вторых - довод обратный первому. Предложений по работе в области серверных приложений и web-приложений сейчас огромное количество и оно постоянно растет.

EvgenZ хочет сделать это своей специальностью - получаем, что на сегодня выгоднее учить J2EE - конечно неплохо знать и SWING, AWT - но это можно сделать в фоновом режиме. Хотя опять же это только IMHO

Автор: nornad 20.7.2007, 19:11
Цитата(AntonSaburov @  20.7.2007,  20:48 Найти цитируемый пост)
Наверно дискуссия здесь не уместна - я просто выскажу свои резоны

Да, дискуссия смысла не имеет, ибо все суждения однозначно будут субъективными. Если ты видел мало предложений о работе для жаберов со знанием свинга, это не значит, что они не востребованы. То же самое относится и к приложениям на свинге. Всё зависит от того, для чего пишется софт. Не так уж редки случаи, когда java выбирается для реализации кроссплатформенного приложения. В это случае свинг, имхо, уместнее SWT.
Но это опять же лишь "частное мнение".

2EvgenZ: В принципе, до сих пор есть фирмы, пишущие на AWT. Но постепенно их становится всё меньше. Я, например, в AWT разбираюсь очень посредственно. Потому что с его применением писал только при изучении java. Работаю в основном со свингом. Если потребуется работать с AWT - буду работать и с ним, т.к. нет в нём ничего особенно страшного.
Подводя итог: если есть определённые цели - делай выбор на их основе. Если нет - луше свинг. smile

Добавлено через 1 минуту и 32 секунды
Цитата(AntonSaburov @  20.7.2007,  20:48 Найти цитируемый пост)
получаем, что на сегодня выгоднее учить J2EE

Вот с этим я всё же соглашусь. Знание J2EE сегодня очень востребованно.

Автор: EvgenZ 21.7.2007, 00:01
Дело в том, что я не работал с джавой и более менее начал ее изучать месяц назад, если можете подсказать, что следует изучать, то я буду очень благодарен (а если с указанием литературы, то счастью моему не будет предела). 

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


Автор: w1nd 21.7.2007, 01:11
Цитата(AntonSaburov @  20.7.2007,  17:48 Найти цитируемый пост)
Во-первых - на SWING пишется на сегодня достаточно мало приложений. Тот же SWT на сегодня является более быстрым, но правда платформо-зависимым.

Позволю себе усомниться. Популярных приложений на swing - да, мало. Так же мало, как и на swt. Хотя нет, swt'шных всё же меньше - я до сих пор видел только три. Кроме того, если порыться в Сети (если хотите, могу выложить результаты одного тестирования), то можно найти интересный факт - swt не быстрее swing. Зато гораздо менее продуман и логичен, как framework, населён багами, менее функционален и хуже документирован.

Зато корпоративных приложений на swing - до чёрта. Просто эти приложения мало кто видит окромя пользователей.

Автор: COVD 21.7.2007, 04:54
Цитата

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


В учебниках довольно часто раздел GUI начинается с пары дежурных фраз про устаревший "тяжеловесный" AWT и про современный "легковесный" Swing и далее основной упор делается на Swing. Понять с ходу смысл этих высказываний новичку практически невозможно (разве только то, что один пакет более современный, чем другой), да и не нужно. Программировать GUI сегодня надо на Swing'e, соответственно и изучать надо его. 

Применять AWT имело смысл когда пакет Swing был недоступен. Так было несколько лет назад, когда еще много было  в ходу браузеров, где была встроенная java версии 1.1 и чтобы не обременять пользователей установкой плагина использовали AWT для построения интерфейса апплета. Сейчас уже этой причины нет - парк браузеров существенно обновился и пользователь в любом случае вынужден иметь плагин с современной версией java. Возможно также, что кроме браузеров существует другие устройства, где из-за ограничений памяти или по иной причине нельзя поставить полноценную jre со свингом, но это уже экзотика.

Что касается "лучше знать оба пакета". Это невозможно сделать прочитав учебник. Даже один пакет. Надо несколько лет программировать только GUI , чтобы хорошо освоить. Учебник нужен , чтобы начать, попробовать простые вещи. Дальше авторы учебников сами не знают. Там много всего и это постоянно обновляется по мере выхода новых версий java. Начинать изучение GUI можно сразу со свинга.

А нужно ли вообще изучать GUI. Как тут правильно заметили ( и это общепринятое мнение ), что java получила наибольшее распространение как платформа для серверных приложений, т.е. J2EE - Enterprise Edition. А там GUI играет второстепенную роль, если вообще присутствует.  Тем не менее, основы знать надо. На уровне учебника. К тому же не получится, как та маленькая птичка, "полететь сразу к солнцу" - изучать сразу J2EE ( да там многое, на мой взгляд, уже и не столько программирование на java, сколько настройка многочисленных черных ящиков под названием фреймворк.  smile )


Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)