os_alan
@os_alan
Перевожу с финансового на технический

Mono || Java || Python: оптимальный стэк технологий для нового проекта?

Вводные

Обо мне
Мой конёк - это .NET (via C#), я хорошо знаю эту технологию, сделал много проектов на ней.
Начинал свой путь с Java, сделать много на ней не успел, но основа знаний была заложена именно на ней.
Python - пишу "4 fun".

О проекте
Планируется новый проект (research платформа, data analysis):
  • клиент-северная архитектура;
  • web GUI
  • не high-load
  • не SaaS (для использования on-premises)

Для того чтобы срезать издержки принятно решение писать под Linux + PostgreSQL/MySQL (еще не выбрали).

О сомнениях
Я довольно опытный разработчик, делал проекты "большие и разные", однако, как писал выше, в основном на MS стэке (.NET, Windows Server, MS SQL etc.,), С Linux знаком неплохо, но всё же без бизнес-опыта.
Проект в достаточной мере критичен к срокам.
Также понимаю, что "дьявол в деталях", поэтому внутренне склоняюсь к "пиши на том чем лучше владеешь", однако тут с этим не всё просто.

Собствено, вопрос
Хочу услышать мнение коллег, опытных коллег, о том кто и как бы поступил при таких вводных? Писать на Mono / .NET Core или "воскресить" Java знания, или вообще уйти в сторону питона? В проекте буду выступать и как Tech. Lead / Architect, и как PM.
Придется отвечать не только за общую архитектуру (с этим проблем нет), но и писать самому некоторые вещи, и делать "code review", что стало поводом для некоторых сомнений.
  • Вопрос задан
  • 1870 просмотров
Решения вопроса 1
Попробуй сделай каркас на python, это займет не много времени, заодно сомнения исчезнут. Одно время я тоже сомневался между .NET / Java пока не начал на питоне писать :))
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 6
@jackroll
Сверхразум
>опытных коллег
здесь такие не водятся, ищите на stackoverflow.com
Ответ написан
@Nodar
Python, Ruby, JavaScript
Если время критично, пишите на том, что знаете лучше всего.
Поначалу может быть легко и на Java/Python, но когда потребуется реализовать что-то сложное, вместо того чтобы сидеть и писать код, будете втыкать в документацию.

Если есть возможность, делайте микросервисы. В будущем их можно будет переписать постепенно на что-то другое.
Ответ написан
Комментировать
@LEKAPb
Вот такой получился сейчас проект:
1.PostgreSQL : Боли достаточно на начальном этапе с npgsql. Если база часто и сильно меняться не будет, то жить можно.
2.Mono SelfHosted WEB API Backend + SignalR: Тут все без лишних телодвижений заводится. (Возможно тут может быть ServiceStack)
3. Angular Typescript Frontend через NGINX : Тут уже надо понимать что нужен FrontEnd разработчик, но оно того стоит.
ИМХО : Если проект долгоиграющий стоит выбирать Mono(CoreCLR).
Ответ написан
Splo1ter
@Splo1ter
.NET Developer (9 years+)
Посоветовал бы писать на .NET, но т.к. издержки идут, то лучше конечно Java(Spring)/PostgreSQL
На MySQL лучше даже не смотреть.
Ответ написан
Комментировать
angry_cellophane
@angry_cellophane
Про проект ничего толком не рассказали, про людей, которые его делают и где вы их будете нанимать, да и куча чего еще.
В общем, инфы чуть более чем ничего. Под определение клиент-серверный, web gui, не хай лоад, не саас попадают как кровавый банковский энтерпрайз, так и простенький сайтик на джумле.

Могу посоветовать пока клепать прототип на чём умеете и быть морально готовыми его потом выкинуть (и договориться с бизнесом про это), параллельно искать архитектора, который ответит на все ваши вопросы.
Ответ написан
Комментировать
@reus
Смысл писать не хайлоад на Java?
Дата анализ -> Python 3.5+ -> asyncio + flask + front (angular/react/etc)
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы