croupier:
Большинству интернет-магазинов не нужно. Но я думал, что вы не только про магазы спрашиваете. Кроме магазов еще куча всего. Я например тоже выполняю задачи для клиента, магазы не делаю, но все это тоже малый бизнес. И большинство из них легче, быстрее и более поддерживаемо в дальнейшем - сделать на фреймворке. Не обязательно Angular, есть к примеру новый Vue. Он очень легкий, подходит для небольших приложений и в нем куча готовых решений.
croupier: Если оно вам не нужно - не значит, что другим не нужно. Фронт фреймворки для больших приложений. Можно сравнить их с клиентскими приложениями на Desktop. Например Skype есть и в Desktop и в вебе.
Парсить разные сайты это довольно не легко. По той причине, что верстка у проектов меняется, красивое API не у всех есть, есть те, кто борятся с ботами и они забанят твои парсеры.
У меня были такие проблемы. Мое решение такое: начать можно с парсеров, но затем надо договариваться с теми кого ты парсишь и сделать возможнось добавляться самим.
Можно хранить в сокете ссылку на юзера, которому он принадлежит. И повесить коллбек на закрытие сокета - удалить из объекта данного юзера дескриптор.
Или к примеру хранить в WeakMap. А в открытом сокете держать ссылку на дескриптор этого сокета. Как только сокет закроется - объект удалится и дескриптор тоже автоматически удалится из WeakMap.
как правильно реализовать классы, как их связывать, как распределить обязанности между ними
А дальше уже идут разные архитектурные подходы. Их очень много и разных. Каждый под свою задачу. Есть к примеру такой популярный Предметно-ориентированный подход(DDD). Но там больше уже не про объекты как техническое средство, а про подход к проектированию.
Keksonov: По реакту не смогу подсказать, не работаю на нем. Погуглите или задайте отдельно вопрос.
Подумайте, нужно ли это вам. Обычно это сложнее, тк нужно писать кроссплатформенный код под сервер и под фронт.
Keksonov: Тут все зависит от технологий. Если к примеру есть роутинг только во фронте то сервер будет всегда отдавать 200 ок на все запросы если вы не ограничите их. Это плохо скажем для SEO. Но для этого есть SSR.
Keksonov: Да также можно Nginx поставить. Вообще node сама может быть веб-сервером и отдавать статику, например это реализованно в express expressjs.com/en/starter/static-files.html
Или вы в целом про инструменты для разработки спрашиваете? Так то их очень много.
Coder321: Вы с TCP работаете? В node js для этого есть модуль net, там по событию "Event: 'connection' "возвращается сокет на конкретное соединение, дальше можно делать что хотите с ним. На него можно повесить обработчик события закрытия.
https://github.com/yiisoft/yii2/blob/master/docs/g...