Java или Python или Ruby для веб-приложения? [закрытый]

32
задан Mansfield 7 June 2012 в 16:25
поделиться

8 ответов

Выберите, который знаком Вам и выполненный с ним.

Или можно выбрать Django на Jython для получения лучшими из библиотек Java и кодирования скорости Python.

Или Java выбора, если необходимо убедить кого-то, что это - предприятие-y.

я сказал бы, работаете ли Вы одни / в малочисленной команде, затем просто выберите тот, который требует наименьшего количества ресурсов (подсказка: Python).

22
ответ дан 27 November 2019 в 20:10
поделиться

Фон: я - профессиональный Java-разработчик, который делает Django на стороне.

Java

Java используется главным образом на предприятии, и существуют очень серьезные основания для него. Java является хорошим решением при необходимости в языке, который является сформировавшимся, имеет хорошую поддержку параллелизма, транзакций, доступа к нескольким базам данных... Java является также очень стабильной платформой. И конюшней, я не подразумеваю, что она имеет меньше ошибок, чем Python или Ruby, я подразумеваю, что она не изменяется так же.

существует замечательная поддержка инструмента Java. Большой IDE, большие инструменты рефакторинга, большие инструменты статического анализа... Вы, вероятно, привычка находите как много инструментов того качества для любого другого языка.

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

Django

Django является большим количеством легкого веса, больше забавы работать с. У Вас может быть приложение, работающее в очень короткое время. Администраторский интерфейс является волшебным для простой операции CRUD и может использоваться даже для довольно сложной логики. Можно найти много из "reuseable приложения", которые будут реализовывать некоторые технические возможности, в которых Вы нуждаетесь.

, Даже если Django находится теперь в версии 1.0, это совсем не стабильно. Если необходимо все еще разрабатывать проект через 1-2 года, можно ожидать много изменений только для следования за состоянием Django.

Java Использования Заключения

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

Использование Django (или RoR), если Вы хотите быструю разработку и не заботитесь, необходимо ли переписать много приложения через 1-2 года.

25
ответ дан 27 November 2019 в 20:10
поделиться

Анти-Java:

  • подробный, иногда громоздкий
  • плохой выбор для шаблонных сценариев (может быть смягчен при помощи вторичного языка сценариев, такого как Groovy, Jython и т.д.)

анти-Python:

  • никакая конкретная стандартная платформа, не должна исследовать и выбрать (или просто использовать автономные служебные модули сверху WSGI)
  • все еще относительно ограниченные опции хостинга (кроме GAE или собственного сервера)

Anti-RoR:

  • никакой собственный Unicode, в современном веб-языке сценариев? Для позора
  • потенциальные проблемы масштабирования производительности

Лично я закончил с Python, но все эти опции - а также.NET - являются легко защитимыми.

12
ответ дан 27 November 2019 в 20:10
поделиться

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

2
ответ дан 27 November 2019 в 20:10
поделиться

Является Ваше приложение главным образом презентацией, база данных (обслуживание типа CRUD), или большая логика бэкенда?

Для главным образом презентации я пошел бы Python/Django (или даже php).

Для простого CRUD RoR облизали его.

Для чего-либо с тяжелой логикой бэкенда, или, который использует существующую унаследованную базу данных, я пошел бы для сервлетов Java с помощью Spring с Freemarker, Ibatis и Tomcat или Причалом.

P.S. не волнуются о производительности масштабируемости - ничто не масштабируется, а также решение для Tomcat/Java.

6
ответ дан 27 November 2019 в 20:10
поделиться

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

я лично использую, в спящем режиме - JPA - платформа Spring (или веб-Поток Spring) - стек Tiles - Freemarker, который дает мне способность создать новые веб-приложения довольно быстро, но в целом они налагают довольно крутую кривую обучения.

я предложил бы - просто дают Spring попытку запуска.

10
ответ дан 27 November 2019 в 20:10
поделиться

Я раньше был Java-разработчиком, делая главным образом C# теперь. Мои аргументы против Java - то, что это (или по крайней мере были ), реальная боль для подъема набора и выполнения. Это также лучше подходит для крупных приложений, для которых нужно много организации и пригодности для обслуживания. Это, однако, прибывает в стоимость.

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

1
ответ дан 27 November 2019 в 20:10
поделиться

Если вы не находитесь в магазине Java / .net или нет конкретной причины, по которой вы бы использовали Java / .net, я бы предложил одну из платформ, которая более оптимизирована для веб-разработки: Python / Django (или Ruby / Rails, PHP / CodeIgniter / Cake).

Вы обнаружите, что Python / Ruby / PHP намного проще в изучении, развертывании, программировании и т. Д. О них есть много литературы и множество ресурсы поддержки. Все они были использованы для создания основных веб-сайтов (YouTube на Python, Twitter на Ruby, Facebook на PHP).

4
ответ дан 27 November 2019 в 20:10
поделиться
Другие вопросы по тегам:

Похожие вопросы: