Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > 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
Цитата(underW @  23.11.2009,  12:08 Найти цитируемый пост)
приложения с веб мордой - это что? можно пример?


Пример: любоё веб приложение. Пользователь работает с ним через веб браузер. Форум, чат, новостной портал, социальная сеть - все это, и многое другое, можно написать с помощью 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
Цитата

так и так мол, мол я на работе на java сейчас делаю

Тонкие клиенты с GUI. Управленческо-учетное ПО.

Цитата

я конечно не задавался целью найти кучу десктопных приложений на Java, но я реально пользовался/видел только одно такое приложение и все... ну согласитесь, это же эрунда получается совсем.

Несколько универсальных у меня стоит (FreeMind, ArgoUML). Сталкивался с тонкими клиентами аналогичными собственным, например - у "Берингер Ингельхайм" клиент для врачей работающих по программам испытаний препаратов (показать его и не знаю как без реального логина). Клиент по возможностям - весьма внушительный, MDI - "кусок экселя" для ввода стат данных с кучей окошек с деревьями и вспомогательной информацией.
Наслышан, что у многих корпораций с мировым именем такого рода приложения на джаве - норма.

Но в целом - десктопные приложения на Java - либо "для себя" под конкретную задачу, либо узкопрофильные.
Можете посмотреть и прикинуть причину - почему эти приложения "неизвестны".
http://platform.netbeans.org/screenshots.html
http://www.eclipse.org/community/rcpos.php
http://www.eclipse.org/community/rcpcp.php

Цитата

То есть, я для себя хочу сформировать картину использования java в сегодняшнем дне

"ынтырпрайз сектор", "склады", "опердени", научно и около, разработка под заказ трехзвенки (БД - сервер логики - Веб/GUI)
Слышал, есть тенденция в онлайн играх(и не только играх) - сервер логики на Java - красоты и интерактивность на экране - флеше.

То есть - массового спроса ПО на джаве не писалось и врядли будет (причин много, обсуждалось на просторах инета часто).

P.S.
Да, уточнение - тонким клиентом я именую ПО которое ничего не умеет кроме как - запросить что-то, распарсить, показать, связать с другими данными некими правилами (выбираем в дереве одно значение - обновляется табличка - проверка ввода на корректность - расстановка флажков доступности), обработать ввод пользователя, отправить на сервер. Ну и закешировать, если возможно-нужно, чтобы не дергать сервер.

Автор: underW 23.11.2009, 13:09
о,Skynin, и Вам спасибо smile 

Автор: powerOn 23.11.2009, 14:06
Цитата(underW @  23.11.2009,  12:47 Найти цитируемый пост)
ааа, понял, значит java сегодня - это веб, а десктоп java - это вчера, правильно? 


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

Автор: ivanovpv 23.11.2009, 14:44
Цитата(underW @  23.11.2009,  12:47 Найти цитируемый пост)
ааа, понял, значит java сегодня - это веб, а десктоп java - это вчера, правильно? 


Десктоп 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
Цитата

Десктоп Java - его никогда и не было толком ... И где-то в это же время потуги Java на desktop и умерли (если честно сомневаюсь, что они вообще были).

...с учетом факта что основная десктопная ОСь и сейчас - это Windows(а тогда синоним) а на VB, Delphi, и сейчас на C# писать десктопные приложения под Windows было проще, эффективней и т.д. Но чистый десктоп - актуален разве что для каких-то массовых приложений, типа WinAmp или Office (и то, OpenOffice почти весь на Java). Для многих таких приложений лучшим выбором остался С/C++ (Delphi фактически умер для новых проектов, разве что FPC-Lazarus за счет бесплатности) а вот в клиент-серверных приложениях Java  укоренилась надолго. Выбор бесплатного, качественного и многоплатформенного ПО для разработки - аж с толку сбивает  smile .

Автор: underW 23.11.2009, 16:01
значит, что у нас получается: есть у нас SE, ME, EE. ну, МЕ мы сразу отбрасываем, ну не хотим мы писать "игрушки для телефонов"... смотрим на SE - по сути это является фундаментом, основой Java, учить SE нужно для приобретения определенного базиса, некого основного багажа, и основной удар направляем на ЕЕ... но, смотрим на вики, какие технологии включает в себя ЕЕ, видим:

Цитата

    * Веб-сервис
    * Сервлет (javax.servlet и javax.servlet.http)
    * Java Server Pages
    * Enterprise JavaBean (javax.ejb.*)
    * J2EE Connector
    * Java Message Service (javax.jms.*)
    * Интерфейс для обработки XML
    * Java Authorization Contract for Containers
    * JavaServer Faces (javax.faces.component.html)
    * Java Persistence API (javax.persistence)
    * Другие технологии, полезные для разработки бизнес-приложений.


Теперь важно определиться, что из этого списка есть первоочередно для изучения. Как правильно построить цепочку из всего этого?  
  

Автор: ivanovpv 23.11.2009, 16:23
Цитата(underW @  23.11.2009,  16:01 Найти цитируемый пост)
Теперь важно определиться, что из этого списка есть первоочередно для изучения. Как правильно построить цепочку из всего этого?  


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
Цитата(ivanovpv @  23.11.2009,  16:23 Найти цитируемый пост)
4) Потом идут EJB - правда их важность/модность в последние годы несколько сошла на нет - но тут как говорится на вкус и цвет товарищей нет. В принципе недалеко от EJB находятся и JMS - в виде Message Bean


Чаще требуется знание Spring.



Цитата(ivanovpv @  23.11.2009,  14:44 Найти цитируемый пост)
Java на американском сленге означает дешевый кофе


А статейку на вике по Вашей же ссылочке Вы бы прочли, прежде чем писать про дешевый кофе  smile 

Автор: powerOn 23.11.2009, 20:50
Цитата(ivanovpv @  23.11.2009,  16:23 Найти цитируемый пост)
на JSP наверчен JSF 


JSF вообще говоря с JSP практически не пересекается.

Автор: ivanovpv 24.11.2009, 10:46
Цитата(Vasay @  23.11.2009,  16:36 Найти цитируемый пост)
Чаще требуется знание Spring.

Совершенно с вами согласен

Цитата(Vasay @  23.11.2009,  16:36 Найти цитируемый пост)
А статейку на вике по Вашей же ссылочке Вы бы прочли, прежде чем писать про дешевый кофе

Зачем читать вику, когда рядом есть живые амеры, которые и говорят что значит Java на их сленге smile

Цитата(powerOn @  23.11.2009,  20:50 Найти цитируемый пост)
JSF вообще говоря с JSP практически не пересекается. 

Ну без знания 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

Нельзя, ибо незачем. 
Стандартные JVM вполне серьезные нагрузки в состоянии выдержать.

Цитата

заточенная под научные разработки

А что такое - "научные разработки"?
Если речь о моделировании ядерного взрыва или поведения циклона - то там используется спецсофт, с расчетной частью на нативе, оптимизированном под использующиеся процессоры. С которой и взаимодействует прикладное ПО на Java, раздавая задачи, собирая результаты и отображая пользователю.

Примерно как у статистического пакета SPSS.

Цитата

или что то из области Real-Time Java.

И зачем для управлением подсистемами коллайдера Real-Time Java?
К магнитам и приемникам там наверняка прицеплены контроллеры, родственники используемых на спутниках.

И завязаны они наверняка на "космический" же комп, с тройным дублированием по железу. А вот с ним и работает система управления на Java. Ей, 3ему звену реал-тайм не нужен. Потому что человек все равно не успеет среагировать шустрее автоматики.

Цитата

Инетересно чем руководсововались разработчики, выюирая Java.

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

Автор: Dreamtraveler 3.12.2009, 19:54
А вот правду говорят, что использование Java постепенно затухает? Или врут все?

Автор: Skynin 3.12.2009, 20:12
Не врут, а "не модно" в молодежных тусовках говорить о Java.

Правда же что Java практически прекратила экспансию. Но в тех областях где она сейчас применяется и заменить ее толком нечем.

Автор: Dreamtraveler 7.12.2009, 15:36
Цитата(Skynin @ 3.12.2009,  20:12)
Не врут, а "не модно" в молодежных тусовках говорить о Java.

Правда же что Java практически прекратила экспансию. Но в тех областях где она сейчас применяется и заменить ее толком нечем.

А где, её толком нельзя заменить? )

Автор: Vasay 7.12.2009, 16:00
Цитата(Dreamtraveler @  7.12.2009,  15:36 Найти цитируемый пост)
А где, её толком нельзя заменить? ) 



Достойного аналога j2ee нет. Разве что (asp).net подтягивается, но тут рынок будет поделен по использованию DB.

.NET будет применяться в паре с MS SQL, j2ee со всеми остальными DB. А я очень сильно сомневаюсь, что в ближайшие годы MS SQL сможет потеснить Oracle и DB2 контролирующих вместе более 60% рынка коммерческих DB. 

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