О каких компонентах стека разработки Java я должен знать? - PullRequest
1 голос
/ 03 декабря 2010

У меня довольно ограниченные знания по разработке на Java.Я наткнулся на следующий, довольно устрашающий, список компонентов / инструментов / структур, которые были описаны как «довольно типичный стек Java».Я уйду и исследую их, но что еще должно быть в моем списке вещей, чтобы что-то знать о них?Либо альтернативы для приведенных ниже, либо дополнительные типы компонентов, не включенные в этот список.

Моим основным намерением является разработка Scala, но на практике это требует большого взаимодействия с Java.

  • Калитка
  • Гибернация (JPA)
  • Атомикос (JTA)
  • Терракота
  • Калитка-Пуш (Cometd)
  • Додзё
  • AspectJ
  • XStream
  • TestNG
  • DBUnit
  • EasyMock
  • MySQL
  • Jetty
  • Maven
  • Hudson

РЕДАКТИРОВАТЬ: Когда я говорю "знать о", я не имею в виду знать их подробно и как развиваться с ними,Я имею в виду, что я должен знать о них, для чего они нужны, и понимать, когда мне следует подумать об их использовании.Поэтому мне интересно услышать обо всех распространенных инструментах / технологиях / структурах, чтобы я мог исследовать их до этой начальной степени.

Ответы [ 6 ]

4 голосов
/ 03 декабря 2010

Это довольно большая сборка технологий для полномасштабного веб-приложения серверного парка.

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


РЕДАКТИРОВАТЬ: поскольку вы сосредоточены на технологиях, я бы посоветовал вам сначала научиться писать и развертывать программы Scala на сервере Java EE 6, таком как GlassFish v3, что, на мой взгляд, довольно неплохо. Причина этого проста - все перечисленные вами технологии являются отдельными объектами, которые необходимо объединить для работы. Вы можете получить большую часть функциональности в одном пакете, используя сервер Java EE, поэтому вы можете отложить реальную работу до тех пор, пока вы не познакомитесь со средой Scala на веб-платформе на основе Java.

Когда вы перешли от «Я написал программу Scala» к «Я написал и развернул программу Scala на своем производственном сервере Java EE, который я вижу на этой веб-странице», вы фактически достигли тривиальное произведение.

1 голос
/ 03 декабря 2010

Я только прокомментирую использование технологий, которые использовал сам

  • Hibernate (JPA) - эта инфраструктура позволяет вам легко работать с записями реляционной базы данных как обычные старые объекты Java
  • Dojo - библиотека Javascript для удобного манипулирования на стороне клиента. Если вы занимаетесь в основном разработкой на стороне сервера, вам не нужно беспокоиться об этом.
  • AspectJ - Внедрение аспектно-ориентированного программирования для сквозных нужд. Это глубокая кроличья нора. Это позволяет вам функционально взаимодействовать с Java-кодом.
  • DBUnit - я использовал это только как инструмент для предварительной загрузки базы данных с кучей тестовых записей
  • EasyMock - библиотека тестирования, которая позволяет легко сосредоточиться на модульном тестировании отдельных компонентов
  • MySQL - стандартная RDMS
  • Jetty - чистая Java-реализация контейнера сервлета. Отлично подходит для быстрой разработки.
  • Maven - инструмент сборки для управления зависимостями вашего проекта и построения / развертывания вашего проекта
0 голосов
/ 03 декабря 2010

По крайней мере, вам не хватает:

  • EJB
  • JMS
  • JAXWS
0 голосов
/ 03 декабря 2010
  • Smack API - хороший API протокола XMPP
  • Saxon - XSLT процессор
  • Spring Framework - веб-платформа
  • PostgreSQL - отличная СУБД:)
  • java.nio
  • .....

И многое, многое другое.

0 голосов
/ 03 декабря 2010

Я считаю себя разработчиком Java, и в вашем списке есть ровно один элемент, который я на самом деле использовал (XStream).Кроме того, я знаю о других 5 элементах, но о большинстве из них я никогда не слышал.

Я думаю, что материал в http://download.oracle.com/javase/7/docs/api/overview-summary.html стоит раньше других, когда «довольно типичный стек Java»обеспокоен.Как вы можете узнать, какие дополнительные части фреймворка вам нужны, если вы не знаете, что у вас уже есть в стандартной среде выполнения?Есть около 40000 классов, о которых нужно знать.Учитесь десять раз в день, и через 10 лет вы освоите основы: -)

0 голосов
/ 03 декабря 2010

Поместите свой список в отставание и начните с мощной IDE (eclipse или netbeans).

Первыми вещами, на мой взгляд, являются структура ведения журналов (log4j) и среда тестирования (jUnit или TestNG). Для строительства - я бы рекомендовал сначала посмотреть на муравья, прежде чем переходить в maven.

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

...