Какие могут быть трудности, если таковые имеются, с веб-приложениями, разработанными в Java EE? - PullRequest
0 голосов
/ 19 января 2011

У меня есть несколько вопросов, чтобы лучше понять использование Java в контексте веб-приложений: -

Подходит ли веб-разработка на Java EE для небольшого стартапа ( с меньшими человеческими ресурсами ), желающего разработать веб-приложение?

Какие сложности могут возникнуть при веб-разработке, развертывании и обслуживании Java EE?

Какие вещи следует помнить / какие соображения следует учитывать при переходе с PHP-фона на Java?

Почему веб-приложения на Java сегодня не так популярны? (или в случае, если я понял это неправильно, перечислите, пожалуйста, какие-либо основные варианты развертывания, помимо connectedIn и ebay)

и, наконец, Какие наиболее важные вещи нужно изучить перед началом веб-разработки в Java EE?

Спасибо

Ответы [ 4 ]

2 голосов
/ 19 января 2011

Подходит ли веб-разработка на Java EE для небольшого стартапа (с меньшими человеческими ресурсами), желающего разработать веб-приложение?

Да, я работал в стартапе, где был единственным программистом на полную ставку.

Какие сложности могут возникнуть при веб-разработке, развертывании и обслуживании Java EE?

Так же, как и в любом другом магазине веб-разработки.Конечно, проблемы имеют свой Java-вкус.Например, одна обнаруженная нами ошибка была вызвана другой вспомогательной версией JDK, используемой в действующей системе, чем в нашей тестовой системе.

Какие вещи следует учитывать / соображения, которые следует учитывать при переходе с PHPфон для Java?Не кодируйте путь PHP.Сильной стороной Java является ООП и его многочисленные библиотеки / фреймворки с открытым исходным кодом.Используйте это.

Почему веб-приложения Java не так популярны сегодня?(или в случае, если я понял это неправильно, перечислите, пожалуйста, какие-либо основные варианты развертывания, помимо connectedIn и ebay)

Я не знаю, почему вы так думаете, но Java используется повсеместно.Это один из немногих языков, которые Google официально использует.Они также используют PHP, но у него есть «более низкий» статус.

и, наконец, что нужно изучить, прежде чем приступить к веб-разработке в Java EE?Используйте сильные стороны Java, о которых я упоминал выше.

Обновлено после комментария

Я не могу сделать выбор за вас.Если вы сомневаетесь и спешите, вам не следует использовать Java.Это здравый смысл.Тем не менее, это возможность для вашей команды учиться и расти.Может быть, есть PHP / другой клиент для Cassandra.Я знал бывшего программиста PHP в стартапе, который переключился на Java.Не говоря ничего плохого о PHP-программистах в целом, но он делал разные странные вещи, например, не использовал мощь веб-фреймворков Java и не писал много процедурного кода, смешанного с HTML и SQL.Очевидно, что многие Java-программисты будут делать то же самое.Дело в том, что ваша команда, вероятно, изучит новые способы ведения дел и получит от этого выгоду в будущем.

2 голосов
/ 19 января 2011

Обычно ответом на вопрос «какую технологию использовать» является «тот, с которым у вас больше всего опыта». Тем не менее, Java EE огромен и неуклюж, и определенно не подходит для быстрого создания прототипов, что вы будете делать, если будете запускать.

Лично я бы порекомендовал более современную и динамичную среду. Если вы работаете с PHP, вы сможете легко выбрать Ruby on Rails или Django (Python). Эти два варианта, на мой взгляд, на порядок лучше, чем Java EE. Если вы хотите придерживаться Java, то, по крайней мере, используйте платформу Play.

0 голосов
/ 19 января 2011

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

Какие трудности могут возникнуть в веб-разработке Java EE, развертывание и обслуживание?

Как вы решаете, какой набор инструментов / каркас использовать?Вам нужна IDE?Какая система контроля версий и почему?Хотите ли вы разрабатывать в каком-то месте и развертывать в другом месте или разрабатывать непосредственно на сервере?Вы покупаете коробку Linux для этого или арендуете какое-то облако?Сколько они стоят, с точки зрения лицензий и обучения?

О каких вещах следует помнить / какие соображения следует учитывать при переходе с фона PHP на Java?

Как бы ваш сервлет отправил электронное письмо?Это намного проще в PHP.Нужна безопасная передача зашифрованных объектов?Ява твой друг.Как насчет отслеживания сеанса?Использовать куки или у вас есть специальный класс?Как вы получаете доступ к базе данных?Хотите использовать спящий режим?От каких других инструментов зависит гибернация?Каковы их расходы (лицензия + обучение)?Можете ли вы использовать JDBC напрямую?Каковы плюсы и минусы?Какую базу данных использовать, почему.

Почему веб-приложения Java не так популярны сегодня?(или в случае, если я понял это неправильно, перечислите какие-либо основные варианты развертывания помимо connectedIn и ebay)

Я не уверен, что это так, но возможными причинами могут быть наличие .net и интеграцияс системами на основе C # и Apple отказывается от Java из своего SDK.Но это мое предположение, не цитируйте меня об этом.Я сам занимаюсь разработкой крупномасштабной системы на Java 6.

и, наконец, что нужно узнать перед тем, как приступить к веб-разработке в Java EE?

(Это мое мнение) есть тест или настройка всей архитектуры.Основан ли на веб-браузере GUI?Это апплет?Автономное приложение, разговаривающее с сервером?JNLP система загрузки архивов и JRE вне сети?Вы обнаружите, что некоторые вещи не работают в Windows 7, некоторые не работают в Vista, W3C устарел тегом апплета из HTML, но Sun / Oracle просит вас использовать его, различные браузеры не поддерживают содержимое таблицы стилей и т. Д.

Настройка брандмауэра - еще одна важная задача - вы начинаете использовать пул потоков с использованием библиотек Spring, и ваши возможности использовать DBvisualizer для проверки таблиц БД исчезли!Теперь вам нужны администратор базы данных и системный администратор, чтобы исправить их, которых у вас нет!

Лично я нашел архитектуру LAMP (Linux-Apache-MySQL-PHP) самым быстрым способом для небольших приложений, ноесли вам нужны более тяжелые ружья для вашего приложения (безопасность, графический интерфейс с качанием, многопоточность и т. д.), замените P в LAMP контейнером tomcat.Самое сложное, что я нахожу, - это оценить ценность инструмента в контексте моего приложения - мне не нужен инструмент, который генерирует файлы Java с помощью методов getter / setter со списком переменных - для меня это еще один уровень косвенности, но тогда JUnit в eclipse полезен для отладки.

Просто поделился некоторыми своими мыслями - надеюсь, это поможет, - MS

0 голосов
/ 19 января 2011

Для стартапа интересным выбором может быть веб-инфраструктура Lift , которая используется для разработки «Веб-приложений Java» (хотя и в Scala).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...