@antoniogurtsov

Как правильно выбрать фреймворк и яп для проекта, если ты заказчик?

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

1)Нужно будет выполнять много запросов к БД ((на сайте будет реализован стакан по типу биржевого ( где юзеры покупают и продают валюту))
2)Важная быстрая скорость работы нашего сайта
3)Безопасность от всяческих XSS и SQL атак.

UPD. Тк в комментариях сказали, что конкретики мало, нужна будет работа с Steamkit ( https://github.com/SteamRE/SteamKit ) и нужна будет реализация системы баланса.

Я в теме полный нуб, поэтому прошу помощи.
  • Вопрос задан
  • 533 просмотра
Решения вопроса 1
VoidVolker
@VoidVolker
Dark side eye. А у нас печеньки! А у вас?
Никак. Выбор инструмента - это задача тимлида и/или техлида. Т.е. ведущего/главного разработчика, отвечающего за принятие ключевых технических решений. Ваша задача, как заказчика, четко оформить требования, ограничения и сформировать начальное ТЗ и описание, что вам требуется от проекта, прототипы интерфейса, например. Без вникания в технические детали. Т.е., "хочу чтобы были фичи такие-то и работил они так-то, ограничения такие-то, требования такие-то". Далее уже задача найти разработчика/команду с большим или достаточным для данного проекта опытом. Далее из начального ТЗ формируется полноценное техническое задание: описывается весь требуемый функционал, рисуется дизайн, прописываются требования, ограничения и прочие хотелки. И на основе ТЗ, тим/тех лид уже подбирает/подбирают наиболее оптимальные и конкретные инструменты и решения, основываясь на собственном опыте и знаниях для конкретно этой задачи. Например, если человек хорошо знает несколько разных инструментов и есть достаточный опыт их использования - он может реализовать проект используя любой из них как одинаково хорошо, так и одинаково плохо. У разных ЯП и фреймворков свои плюсы и минусы. Далее из ТЗ формируется более детальное ЧТЗ и происходит разработка проекта.

Вот вы говорите:
Нужно будет выполнять много запросов к БД

Важная быстрая скорость работы нашего сайта

Много/быстро это сколько? 100 запросов в час? 1000 в минуту? 1М в секунду? Загрузка страницы за 30/10/1с или даже 100мс? А к какой именно БД? Какая характеристика самих данных и какого типа запросы? На какое количество соединений? В каком регионе? Есть ли там тяжелые или еще какие-то вычисления? Медиа файлы - картинки, видео? Тут очень много нюансов. В идеале следует определиться с конкретными значениями/параметрами и их описать в ТЗ. Ну или определить примерное, а фактическое значение определить на стадии прототипа/MVP и/или провести какое-то исследование/тестирование. Можно потратить десяток лямов на написание крутого кода на го/расте/С++/ассемблере в течении года и все будет летать на простейшем сервере. А можно купить свой сервер за лям (ну, условно, конечно), нанять питонщика или PHP-ника за 300к и он за пару-тройку недель добьется такого же результата. Большинство веб-задач сегодня достаточно просто или с минимальными усилиями решаются абсолютным большинством решений для веба. Да, у всех решений есть свои плюсы и минусы.

Безопасность от всяческих XSS и SQL атак.

Вот с этим проще: использовать популярные OpenSource решения, регулярно проводить тесты, нанять отдельно опытного разработчика, красноглазика и пентестера - и тратить на них деньги, пока деньги не кончатся или не будет достигнут необходимый уровень безопасности. Безопасность противоположна удобству, защита отстает на шаг от атак. Риск есть всегда и надо просто быть готовым к последствиям и иметь запасной плат хотя бы в общих чертах.

А так - уже правильно посоветовали сразу брать дот-нет, т.к. у вас требование к использованию конкретной библиотеки для дот-нета.
Ответ написан
Пригласить эксперта
Ответы на вопрос 5
vabka
@vabka
Токсичный шарпист
Задача очень абстрактная и в такой постановке может выполняться на любом языке.

Каждый разработчик будет хвалить своё болото, тк лучше его знает и хочет, чтобы вы наняли именно его.
Ответ написан
ipatiev
@ipatiev
Потомок старинного рода Ипатьевых-Колотитьевых
Я думаю, таких фреймворков не существует.
Дело в том, что ваши требования совершенно уникальные

1)Нужно будет выполнять много запросов к БД

На всех остальных сайтах делается один-два запроса в час.

2)Важная быстрая скорость работы нашего сайта

Это очень редкое требование, обычно сайту достаточно возвращать ответ в течение получаса

3)Безопасность от всяческих XSS и SQL атак.

Это самое сложное. еще не написан фреймворк, который бы писал код за программиста, или хотя бы подчищал за ним баги и уязвимости
Ответ написан
Комментировать
firedragon
@firedragon
Не джун-мидл-сеньор, а трус-балбес-бывалый.
SteamKit2 is a .NET library designed to interoperate with Valve's Steam network. It aims to provide a simple, yet extensible, interface to perform various actions on the network.


В общем так:
* .Net 6
* Razor - для общедоступных страниц
* https://mui.com/ для админки
* база данных - MSSql или Postgree
* система - ubuntu, windows, redhat

Что не понятно уточняйте.

UP реально постучитесь в телеграмм, консультация выйдет не дорого, но позволит сэкономить прилично
Ответ написан
Комментировать
@d-stream
Готовые решения - не подаю, но...
Разработчика может переехать трамвай, вы посрётесь и т.п. -> что-то уникальное от него канет в лету.
Поэтому коль уж подходить к оценке - так перебрать предложения от кучи разработчиков и выявить чем владеет бОльшая часть из доступных.

Грубый пример: бухучёт->1с
ибо что студентов-шабашников, что франчайзи - как собак нерезанных... как и бухгалтеров умеющих в жёлтое тыкать... а возьми какой-нить парус или галактику, так на всю деревню ни буха ни найти, ни чела что сможет вправит отчёт... да и берёт он сурово и не спешит)
Ответ написан
mayton2019
@mayton2019
Bigdata Engineer
https://github.com/SteamRE/SteamKit

Ну ты автор чудак еще тот. Go зачем-то сюда затащил...

Дан дотнетовский фреймворк. И ищи бригаду дот-нетчиков.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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