roman901
@roman901
Software Developer

Какой фреймворк выбрать: Play! (java) или Flask (python)?

Мучаюсь с выбором.
Что выбрать для веб-разработки? Собрался делать весьма специфичные вещи с низкой нагрузкой, требуется например вместе с приёмом соединений сайта держать сокет-сервер для чего-то еще, и так далее. Тоесть гибкость. Склоняюсь к Play!

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

Так что же выбрать для небольших, но специфичных проектов?
  • Вопрос задан
  • 3087 просмотров
Пригласить эксперта
Ответы на вопрос 3
@Quickerz
Flask вполне подойдёт для ваших целей. Сразу скажу, что не имел дело с веб разработкой под Java, но мне кажется, что порог входа значительно выше, чем в питоне. Вам нужен ровно один файл и десяток строк, чтобы запустить своё первое приложение на Flask. Сомневаюсь, что с Play! можно сделать подобное. Но тут стоит выслушать людей, которые работают с ним. Я лучше опишу преимущества веб разработки на питоне.

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

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

Ну и напоследок, если вы работаете над реально СПЕЦИФИЧНОЙ задачей, есть смысл поискать решения именно под эту задачу на языке-кандидате. Может оказаться так, что более удобный для общих задач фреймворк окажется менее пригодным для решения именно вашей задачи.
Ответ написан
@bromzh
Drugs-driven development
Когда твой проект на play в очередной раз будет компилироваться по полчаса, ты пожалеешь, что выбрал play.
Ответ написан
Комментировать
@asd111
Play! это больше scala чем Java. Для низкой нагрузки можно спокойно брать Python.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

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