2010-12-03 3 views
1

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

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

  • Уикет
  • Hibernate (JPA)
  • Atomikos (ЕТА)
  • Терракотовая
  • Уикет-PUSH (Cometd)
  • Доджо
  • AspectJ
  • XStream
  • TestNG
  • DBUnit
  • EasyMock
  • MySQL
  • Jetty
  • Maven
  • Хадсон

EDIT: Когда я говорю "знает о", на данный момент, я не имею в виду их знаю в глубину и как развиваться с ними. Я имею в виду, что я должен знать о них, для чего они нужны, и узнавать, когда я буду рассматривать их использование. Поэтому мне интересно узнать обо всех общих инструментах/технологиях/рамках, чтобы я мог исследовать их до этой начальной степени.

+0

Вы говорите о веб-разработке, разработке настольных приложений, разработке на стороне сервера, встроенном дизайне lopment, мобильное развитие, научное развитие ... просто назвать несколько? Java используется в нескольких местах, и какие инструменты вам нужны, во многом зависит от того, что вы собираетесь делать. – 2010-12-03 13:07:03

+0

Веб-разработка, в основном серверная (клиентская часть, вероятно, в основном ограничена тестовыми приложениями для серверной части).Большие приложения с несколькими разработчиками – 2010-12-03 13:09:15

ответ

4

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

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


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

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

+0

Спасибо, но сейчас я сосредоточен на технологиях. Я хочу иметь вводное знание ключевых (и «полномасштабное веб-приложение серверного парка» - это то место, где я занимаюсь приложениями, которые у меня есть) – 2010-12-03 12:10:54

0

Поместите свой список на отставание и начните с мощной среды IDE (затмение или небезопасность).

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

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

+0

Спасибо. Я использую Eclipse – 2010-12-03 12:19:02

0

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

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

0
  • Смак API - хороший XMPP протокол API
  • Saxon - XSLT процессор
  • Spring Framework - веб-DEV платформа
  • PostgreSQL - большие RDBMS :)
  • java.nio
  • .....

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

1

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

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