2009-04-23 5 views
3

Я хочу разработать веб-приложение, как онлайн-планировщик. (Да, я знаю, что это было сделано миллион раз.) Большая часть моего опыта в Java, поэтому я хочу использовать это при рассмотрении технологий.Технологии, необходимые для создания сквозного веб-приложения?

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

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

До сих пор это то, что я думаю, что нужно для архитектуры 3 яруса (с нуля):

  • Database (вероятно, MySQL или PostgreSQL) - SQL, JDBC
  • конечный сервер Назад - Java
  • веб-сервер (Tomcat) - JSP, сервлеты
  • Web Framework - Гобелен (слабая на это, все лучшие альтернативы?)
  • технологии Браузер - HTML, JavaScript, CSS (нужно учиться)

Я слышал о средствах разработки «Богатое интернет-приложение», таких как Flex и Silverlight, но я не уверен в рынке таких технологий.

Редактировать: похоже, есть много упоминаний о Spring/Hibernate, поэтому я рассмотрю это. Я ценю отзывы.

ответ

3

Я думаю, что у вас все основания хорошо покрыты.

Возможно, вам захочется изучить некоторые рамки/библиотеки, чтобы упростить вам работу.

Web Framework - Калитка/Stripes/JSF/Гобелен (компонент против структур на основе запроса)

Javascript библиотека - JQuery/YUI/Dojo

Что касается языка шаблонов вы можете использовать JSP/Velocity/Freemarker ,

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

Just FYI Я использую в настоящее время.

  • Apache - веб-сервер
  • Tomcat - контейнер сервлетов
  • MySQL - база данных
  • Stripes - запрос на основе веб-фреймворк
  • YUI - для AJAX
  • Весна - инъекции зависимостей
  • Hibernate - Реляционное сопоставление объектов
  • jsp - динамически генерировать html
3

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

Вы не упоминаетесь модульным тестирования, но это, безусловно, должно быть частью смеси - У меня нет большого опыта работы за пределами JUnit как фактические рамки тестирования, но есть также и EasyMockJMock (среди прочих) для насмешливых зависимостей.

Ничего этого нет веб-специфична, но все-таки важный материал IMO :)

+0

Хорошего момент я забыл о весне она определенно вписывается в миксе! – ScArcher2

+0

Тестирование модулей является обязательным. +1 –

1

Если вы собираетесь с Java фоновым, я бы рекомендовал Hibernate для JPA, JSF с RichFaces (AJAX/скининга) и Facelets (просмотр рендеринга/шаблонов) для вашего front-end и Seam, чтобы собрать все это вместе. Это замечательная комбинация.

1

Если вы идете с весной, вы можете просто использовать Hibernate, идущий в mysql, и у вас может быть все, что вам нужно.

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

Документация Spring Framework может быть полезна, так как для Spring существует много частей, которые можно использовать, например, Spring MVC, Spring Framework, Spring Webflow и Spring Security, если это необходимо.

3

Я бы не согласился с тем, что для Rich Internet Application нет рынка. На самом деле растет тенденция к тому, что приложения размера предприятия производятся как RIA. Преимуществом RIA над обычными веб-приложениями является удобство использования. Вы получаете все преимущества веб-приложения, но все же можете поддерживать пользовательский интерфейс на рабочем столе.

Вы говорите, что вы исходите из фона Java и не имели большого опыта работы с веб-технологиями. Ну, я должен сказать, что вы действительно выглядите как идеальный пользовательский кандидат для GWT или IT Mill Toolkit (на основе GWT). Оба являются средами, которые позволяют создавать насыщенные интернет-приложения исключительно на Java! Требования к HTML или JavaScript не требуются. Вам нужно будет изучить CSS, чтобы создать свою собственную тему для приложения.

Оба футляра с открытым исходным кодом и набор очень хорошо подходят для коммерческого использования. Что отличает IT Mill Toolkit от GWT, так это то, что он управляется сервером, что означает, что бизнес-логика реализована и запущена на сервере, а не как JavaScript в браузере клиента (что имеет место с GWT). Эта серверная архитектура делает приложение более безопасным с точки зрения безопасности программного обеспечения. Преимуществом GWT над IT Mill Toolkit является более широкое сообщество пользователей.

Что входит в рамки ORM, Hibernate довольно популярен. Тем не менее, я не очень люблю это, потому что, хотя он технически реализует API Java Persistence, он не всегда ведет себя так, как ожидалось, и вам придется использовать множество аннотаций спящего режима, которые довольно сильно связывают ваше приложение с hibernate (плохая вещь!), и вы не можете просто легко перейти к другому провайдеру JPA, если хотите. Антегральная структура ORM, реализующая JPA, составляет EclipseLink. Я лично не использовал EclipseLink в приложениях корпоративного размера (потому что у меня еще не было возможности), но я использую его для меньшего проекта, и это выглядит довольно неплохо. EclipseLink является открытым исходным кодом, и его лизинг является дружественным для коммерческого использования. EclipseLink постоянно развивается Oracle, поэтому его фоны прочны. На самом деле это основано на TopLink, который представляет собой реализацию JPA с закрытым исходным кодом Oracle.

Надеется, что это помогает :)

2

Задаваемые в основном тот же вопросу некоторого времени назад, с некоторыми довольно полезными ответами:

Tools for website development

Смежные вопросы