| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Java: Общие вопросы > java-программирование сегодня |
| Автор: underW 23.11.2009, 10:34 |
| Добрый день, уважаемые. Суть моего вопроса такова: да, есть куча интересной, полезной литературы по java, куча интересных туториалов, справочной информации, все замечательно. но все это не дает ответ на один вопрос: что сейчас делают с использованием java? Хотелось бы услышать от реального java-программиста примеры реальных, живых проектов - "так и так мол, мол я на работе на java сейчас делаю это, а перед этим занимался тем.." То есть, я для себя хочу сформировать картину использования java в сегодняшнем дне. Заранее большое спасибо. |
| Автор: powerOn 23.11.2009, 12:00 |
| Приложения в вёб мордой прекрасно пишутся на Java, да и десктопные тоже. У себя в конторе и то и другое делали. |
| Автор: underW 23.11.2009, 12:08 |
| приложения с веб мордой - это что? можно пример? Насчет десктопных приложений - я конечно не задавался целью найти кучу десктопных приложений на Java, но я реально пользовался/видел только одно такое приложение и все... ну согласитесь, это же эрунда получается совсем. |
| Автор: powerOn 23.11.2009, 12:31 |
Пример: любоё веб приложение. Пользователь работает с ним через веб браузер. Форум, чат, новостной портал, социальная сеть - все это, и многое другое, можно написать с помощью Java. |
| Автор: underW 23.11.2009, 12:47 |
| ааа, понял, значит java сегодня - это веб, а десктоп java - это вчера, правильно? |
| Автор: ivanovpv 23.11.2009, 12:51 |
| В жизни простому смертному довольно редко можно увидеть приложение про который можно сказать: "да я вижу что оно написано на Java". Основная причина состоит в том, что на Java в основном пишутся серверные back-end приложения - то есть те которые на авансцену перед юзером не выступают. Морда может быть написана на чем угодно, а вот собственно внутренняя логика часто, много и эффективно пишется на Java. Конечно есть проекты где "морда" тоже пишется на Java - все те же веб приложения: очень много веб сайтов написанных на JSP/JSF- достаточно много пишется апплетных дел. Многие финансовые заморочки (брокерские терминалы, системы управления счетами и проч.) пишутся на Java апплетах. Я уж не говорю об Java приложениях для телефонов - тут все 80%-90% пишутся на J2ME. Если говорить о "толстых" клиентах в истинно front-end Java мордой, то есть тех которые пишутся на Java Swing и им подобным граф.оболочкам их действительно мало. Тут конечно пальма первенства принадлежит нативным приложениям. В общем для меня лично есть 4 основные сферы применения Java: 1) Серверные приложения 2) Обычная веб морда 3) Усложненная веб морда (Java Applet) 4) J2ME |
| Автор: underW 23.11.2009, 12:56 |
| о, ivanovpv, спасибо, очень познавательно, действительно спасибо. |
| Автор: Skynin 23.11.2009, 13:04 | ||||||
Тонкие клиенты с GUI. Управленческо-учетное ПО.
Несколько универсальных у меня стоит (FreeMind, ArgoUML). Сталкивался с тонкими клиентами аналогичными собственным, например - у "Берингер Ингельхайм" клиент для врачей работающих по программам испытаний препаратов (показать его и не знаю как без реального логина). Клиент по возможностям - весьма внушительный, MDI - "кусок экселя" для ввода стат данных с кучей окошек с деревьями и вспомогательной информацией. Наслышан, что у многих корпораций с мировым именем такого рода приложения на джаве - норма. Но в целом - десктопные приложения на Java - либо "для себя" под конкретную задачу, либо узкопрофильные. Можете посмотреть и прикинуть причину - почему эти приложения "неизвестны". http://platform.netbeans.org/screenshots.html http://www.eclipse.org/community/rcpos.php http://www.eclipse.org/community/rcpcp.php
"ынтырпрайз сектор", "склады", "опердени", научно и около, разработка под заказ трехзвенки (БД - сервер логики - Веб/GUI) Слышал, есть тенденция в онлайн играх(и не только играх) - сервер логики на Java - красоты и интерактивность на экране - флеше. То есть - массового спроса ПО на джаве не писалось и врядли будет (причин много, обсуждалось на просторах инета часто). P.S. Да, уточнение - тонким клиентом я именую ПО которое ничего не умеет кроме как - запросить что-то, распарсить, показать, связать с другими данными некими правилами (выбираем в дереве одно значение - обновляется табличка - проверка ввода на корректность - расстановка флажков доступности), обработать ввод пользователя, отправить на сервер. Ну и закешировать, если возможно-нужно, чтобы не дергать сервер. |
| Автор: underW 23.11.2009, 13:09 |
| о,Skynin, и Вам спасибо |
| Автор: ivanovpv 23.11.2009, 14:44 | ||
Десктоп Java - его никогда и не было толком. Тут надо вспомнить этимологию слова Java и тогда все станет на свои места. http://en.wikipedia.org/wiki/Java_coffee на американском сленге означает дешевый кофе (по имени острова Ява где и делается такой кофе). Не зря одной из http://java.sun.com/logos/ является чашечка кофе. Под словом Java также именуется еще и кофе-машины на которых принято кофе заваривать. Создатель (я бы сказал Творец с придыханием и с большой буквы) Java http://en.wikipedia.org/wiki/James_Gosling изначально, когда он еще был никто и звать его никак придумывал Java как язык для девайсов с ограниченными способностями - грубо говоря для кофеварок и пылесосов - потому он так и назван Java (правда есть и другие версии происхождения Java). Ну а потом получилось так как получилось. Начиная с Java 1.2 началась некая революция совпавшая по времени со знаменитым пузырем dot com, когда выяснилось что Java очень крут не только для пылесосов и чайников, но также и в ынтырпрайз среде. И где-то в это же время потуги Java на desktop и умерли (если честно сомневаюсь, что они вообще были). |
| Автор: Skynin 23.11.2009, 15:11 | ||
...с учетом факта что основная десктопная ОСь и сейчас - это Windows(а тогда синоним) а на VB, Delphi, и сейчас на C# писать десктопные приложения под Windows было проще, эффективней и т.д. Но чистый десктоп - актуален разве что для каких-то массовых приложений, типа WinAmp или Office (и то, OpenOffice почти весь на Java). Для многих таких приложений лучшим выбором остался С/C++ (Delphi фактически умер для новых проектов, разве что FPC-Lazarus за счет бесплатности) а вот в клиент-серверных приложениях Java укоренилась надолго. Выбор бесплатного, качественного и многоплатформенного ПО для разработки - аж с толку сбивает |
| Автор: underW 23.11.2009, 16:01 | ||
значит, что у нас получается: есть у нас SE, ME, EE. ну, МЕ мы сразу отбрасываем, ну не хотим мы писать "игрушки для телефонов"... смотрим на SE - по сути это является фундаментом, основой Java, учить SE нужно для приобретения определенного базиса, некого основного багажа, и основной удар направляем на ЕЕ... но, смотрим на вики, какие технологии включает в себя ЕЕ, видим:
Теперь важно определиться, что из этого списка есть первоочередно для изучения. Как правильно построить цепочку из всего этого? |
| Автор: ivanovpv 23.11.2009, 16:23 | ||
1) Базисом EE является технология Java Servlet - далее JSP (практически тот же сервлет только в профиль), на JSP наверчен JSF 2) Далее следующим важным элементом является Java Persistence, базой для которого во многом является JDBC (которого в вашем списке почему то нет) - то есть изучение JPA надо все же начинать с JDBC 3) Потом я бы советовал приступить к Web Service - осилив перед этим XML API (ну это просто) 4) Потом идут EJB - правда их важность/модность в последние годы несколько сошла на нет - но тут как говорится на вкус и цвет товарищей нет. В принципе недалеко от EJB находятся и JMS - в виде Message Bean 4) Далее можно изучать все что угодно в каком угодно порядке - это уже как бы опшинал пакеты |
| Автор: Vasay 23.11.2009, 16:36 | ||
Чаще требуется знание Spring. А статейку на вике по Вашей же ссылочке Вы бы прочли, прежде чем писать про дешевый кофе |
| Автор: powerOn 23.11.2009, 20:50 |
JSF вообще говоря с JSP практически не пересекается. |
| Автор: ivanovpv 24.11.2009, 10:46 | ||
Совершенно с вами согласен
Зачем читать вику, когда рядом есть живые амеры, которые и говорят что значит Java на их сленге Ну без знания JSP с JSF трудновато будет |
| Автор: Maksym 24.11.2009, 13:17 |
| Скриншоты софта для Large Hadronic Collider: http://mediaarchive.cern.ch/MediaArchive/Photo/Public/2009/0911187/0911187_102/0911187_102-A4-at-144-dpi.jpg, http://mediaarchive.cern.ch/MediaArchive/Photo/Public/2009/0911187/0911187_103/0911187_103-A4-at-144-dpi.jpg, http://mediaarchive.cern.ch/MediaArchive/Photo/Public/2009/0911187/0911187_73/0911187_73-A4-at-144-dpi.jpg, http://mediaarchive.cern.ch/MediaArchive/Photo/Public/2009/0911187/0911187_36/0911187_36-A4-at-144-dpi.jpg, http://mediaarchive.cern.ch/MediaArchive/Photo/Public/2009/0911187/0911187_16/0911187_16-A4-at-144-dpi.jpg -- свинговый клиент. Всю высокоуровневную часть для коллайдера написали на java, насколько мне известно. |
| Автор: Omut 26.11.2009, 01:09 |
| Кхе-кхе.. http://developer.android.com/guide/tutorials/hello-world.html |
| Автор: Exai1e 26.11.2009, 01:13 |
| андройд относительно новая платформа, но имхо, перспективная) |
| Автор: Temdegon 26.11.2009, 02:06 |
| Maksym, сэнкс за скриншоты! Почитал про этот коллайдер, там большая часть на Java написана. Теперь будет что показывать товарищам PHP-шникам на их вопросы типа "вот все крутые сайты что я знаю на PHP написаны, а на java пишут только убогие апплеты и тормозючие IDE" =) |
| Автор: Prol 27.11.2009, 02:53 |
| Например, на жаве написан Гугель Докс. Кто работает с документами совместного доступа через Интернет, тот знает этот сервис. Из толстых РС приложений с графическим движком на жава можно назвать клиенты ММО игр Рунескейп и Даркфолл :о) |
| Автор: headzero 27.11.2009, 11:02 |
| Да насчет коллайдера не ожидал. Круто. Инетересно чем руководсововались разработчики, выюирая Java. Предполагаю что кроссплатформеностью, простотой разработки. |
| Автор: Vasay 27.11.2009, 11:20 |
| headzero, Я думаю тут два фактора: 1. Java - самый распространенный язык программирования в мире (по версии http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html ). 1. Java - насколько я знаю, основной язык в научных кругах (после специализированных) |
| Автор: underW 27.11.2009, 12:07 |
| ну, я думаю, что tiobe верить на все 100% нельзя, судя по их алгоритму подсчетов, там достаточно большая погрешность может быть в ту или иную сторону. |
| Автор: headzero 27.11.2009, 13:16 |
| Можно предположить что использовалась какаято модифицированаая jVM, заточенная под научные разработки или что то из области http://en.wikipedia.org/wiki/Real_time_Java. |
| Автор: Skynin 27.11.2009, 13:43 | ||||||||
Нельзя, ибо незачем. Стандартные JVM вполне серьезные нагрузки в состоянии выдержать.
А что такое - "научные разработки"? Если речь о моделировании ядерного взрыва или поведения циклона - то там используется спецсофт, с расчетной частью на нативе, оптимизированном под использующиеся процессоры. С которой и взаимодействует прикладное ПО на Java, раздавая задачи, собирая результаты и отображая пользователю. Примерно как у статистического пакета SPSS.
И зачем для управлением подсистемами коллайдера Real-Time Java? К магнитам и приемникам там наверняка прицеплены контроллеры, родственники используемых на спутниках. И завязаны они наверняка на "космический" же комп, с тройным дублированием по железу. А вот с ним и работает система управления на Java. Ей, 3ему звену реал-тайм не нужен. Потому что человек все равно не успеет среагировать шустрее автоматики.
Думается тем что и выбирать то не из чего особо - по количеству инструментов, охвате технологий, лицензионной чистоты и скорости разработки. |
| Автор: Dreamtraveler 3.12.2009, 19:54 |
| А вот правду говорят, что использование Java постепенно затухает? Или врут все? |
| Автор: Skynin 3.12.2009, 20:12 |
| Не врут, а "не модно" в молодежных тусовках говорить о Java. Правда же что Java практически прекратила экспансию. Но в тех областях где она сейчас применяется и заменить ее толком нечем. |
| Автор: Dreamtraveler 7.12.2009, 15:36 | ||
А где, её толком нельзя заменить? ) |
| Автор: Vasay 7.12.2009, 16:00 |
Достойного аналога j2ee нет. Разве что (asp).net подтягивается, но тут рынок будет поделен по использованию DB. .NET будет применяться в паре с MS SQL, j2ee со всеми остальными DB. А я очень сильно сомневаюсь, что в ближайшие годы MS SQL сможет потеснить Oracle и DB2 контролирующих вместе более 60% рынка коммерческих DB. |