[чат] websocket + ?
1033
35
захотелось сделать веб версию мессенжера
Спойлер: "линк на макет"
морда на реакте
бек на ноде(т.к. с ней немножко уже работал в связке с psql)
возник вопрос в хранении данных - с ws всё и так понятно, но где можно хранить остальной контент?
выбор между psql и mongodb
кто знает - посоветуйте: что подходит лучше к данной апликухе - реляционка/нереляционка(желательно с пояснением выбора той или иной технологии)?
p.s. тем, кто узнал этот макет -> чела, который его сделал - нет, копировать его кодяру я не буду, просто понравился макет
p.s.2 не пытаюсь сделать конкурента условной телеге т.к. бессмысленно - делаю для себя/попрактиковаться
upd: возможно есть смысл использования и SQL/noSQL вместе(если есть конечно)
Siller__ сказал(а):↑но где можно хранить остальной контент
Нажмите, чтобы раскрыть...монга - связей не много (обычно есть какой то основной объект, и очень много слейв, и нужно по ним много и мучительно искать)
постгресс - обычная скл, можно и на ней
Бери то, что не знаешь:
- все равно пет проект
- скилуху подымешь
Ну конкурента чему-либо ты врядли в одиночку сделаешь)
А для учебы думаю подойдет то, что ты плохо знаешь и хотел бы узнать. Если использовал sql, то возьми nosql.
Mongodb сама по себе сложная, если прям саму бд изучать.
На чате много чему можно научиться, правда на языке, который не поддерживает потоки это как-то сурово.
Хранить можешь хоть в firebase каком-то впринципе. Там в основном кода много будет на фронте в не сложном чате.
Till_Its_Gone сказал(а):↑Ну конкурента чему-либо ты врядли в одиночку сделаешь)
Нажмите, чтобы раскрыть...
мне это и не надо
Till_Its_Gone сказал(а):↑А для учебы думаю подойдет то, что ты плохо знаешь и хотел бы узнать. Если использовал sql, то возьми nosql.
Mongodb сама по себе сложная, если прям саму бд изучать.
Нажмите, чтобы раскрыть...
принял
Till_Its_Gone сказал(а):↑На чате много чему можно научиться, правда на языке, который не поддерживает потоки это как-то сурово.
Нажмите, чтобы раскрыть...
php -> vk
думаю, ты понял)
Till_Its_Gone сказал(а):↑Хранить можешь хоть в firebase каком-то впринципе. Там в основном кода много будет на фронте в не сложном чате.
Нажмите, чтобы раскрыть...
деплоить аппу буду на хероку
Siller__ сказал(а):↑php -> vk
думаю, ты понялНажмите, чтобы раскрыть...ну типа фейсбук тоже на пхп( а на деле там чуть-ли не с++ просто с синтаксисом пхп )
глупо равняться на технологии раскрученных приложений.
Да и забыл добавить, что если ты хочешь сделать чат с подходом, как телеграм, то там не вебсокеты =)
Siller__ сказал(а):↑да
дуров снова взял лонг пуллингмне и интересно - зачем?
upd: я про версию веб версию если шо
Нажмите, чтобы раскрыть...не знаю что такое лонг пуллинг, но суть в том, что с обычными сокетами просто не будет работать приложение, когда телефон спит)
там должны быть пуш нотификации
Siller__ сказал(а):↑и с какого это перепугу "невозможно"?
Нажмите, чтобы раскрыть...потому что вебсокеты не работают, когда приложение спит)
чекай prisma или hasura - сейчас самый топ
делаешь подписки на graphql, в чем хранить выбираешь сам - слой абстракции
Till_Its_Gone сказал(а):↑не знаю что такое лонг пуллинг, но суть в том, что с обычными сокетами просто не будет работать приложение, когда телефон спит)
там должны быть пуш нотификации
потому что вебсокеты не работают, когда приложение спит)
Нажмите, чтобы раскрыть...для этого нужны вебпуши и вебворкеры
с чатами обычно монгу юзают,объяснить причину не могу, но имхо для чата sql банально оверкилл, с монгой работать проще.
у самого был fixed price проект реализовать чат за 2 месяца.юзал nest.js(оч советую попробовать, самый топ фреймворк в node.js екосистеме), монгу и сокет ио офк(про логирование, тесты и т.д думаю и так ясно)
kosras сказал(а):↑с чатами обычно монгу юзают,объяснить причину сам не могу, но имхо для чата sql банально оверкилл, с монгой работать проще.
Нажмите, чтобы раскрыть...
возможно, просто с монгой никогда не работал -> даже не представляю как это всё дело будет выглядеть
upd: это не означает что брать я монгу не буду, наоборот - тема интересна -> буду вкуривать
kosras сказал(а):↑юзал nest.js(оч советую попробовать, самый топ фреймворк в нод джи ес екосистеме), монгу и сокет ио офк(про логирование, тесты и т.д думаю и так ясно)Нажмите, чтобы раскрыть...
на счет неста - наслышан, все хвалят, но хотелось бы больше с експресом разобраться
энивей спасибо за ответ
Till_Its_Gone сказал(а):↑не знаю что такое лонг пуллинг, но суть в том, что с обычными сокетами просто не будет работать приложение, когда телефон спит)
там должны быть пуш нотификации
Нажмите, чтобы раскрыть...Пуш нотифай не подходит для реал-тайма, потому что приходят они по "погодному велению".
Till_Its_Gone сказал(а):↑потому что вебсокеты не работают, когда приложение спит)
Нажмите, чтобы раскрыть...делается служба, и все работает
Но опять не понятны притензии, если ТС ведет речь о веб-приложении.
Siller__ сказал(а):↑ну ок(если это правда кншн)
Нажмите, чтобы раскрыть...юзай webrtc, там можно P2P делать, а значит и сервлесс-коннекты
Siller__ сказал(а):↑захотелось сделать веб версию мессенжера
Спойлер: "линк на макет"
морда на реакте
бек на ноде(т.к. с ней немножко уже работал в связке с psql)
возник вопрос в хранении данных - с ws всё и так понятно, но где можно хранить остальной контент?
выбор между psql и mongodb
кто знает - посоветуйте: что подходит лучше к данной апликухе - реляционка/нереляционка(желательно с пояснением выбора той или иной технологии)?
p.s. тем, кто узнал этот макет -> чела, который его сделал - нет, копировать его кодяру я не буду, просто понравился макет
p.s.2 не пытаюсь сделать конкурента условной телеге т.к. бессмысленно - делаю для себя/попрактиковаться
upd: возможно есть смысл использования и SQL/noSQL вместе(если есть конечно)
Нажмите, чтобы раскрыть...mongo лучше, так как социалка и чатики много древовидных структур содержит, юзер -> друзья -> друзья друзей, юзер -> чаты -> cообщения...
в sql это превратится в кучу joinов что будет медленно если взлетит)
это если очень коротко)
saw_tooth сказал(а):↑Пуш нотифай не подходит для реал-тайма, потому что приходят они по "погодному велению".
делается служба, и все работает
Но опять не понятны притензии, если ТС ведет речь о веб-приложении.
юзай webrtc, там можно P2P делать, а значит и сервлесс-коннекты
Нажмите, чтобы раскрыть...если будут групповые чаты, p2p не зайдет, ибо маршрутизация будет неподконтрольна, если два юзера мб еще и норм пообщаются, и то не факт, то группа превратится в ад, особенно если будет аудио / видео реалтайм
но webrtc крутая сама по себе, но сервак скорее всего пригодится полюбому и через него гонять
SEREGA1995 сказал(а):↑mongo лучше, так как социалка и чатики много древовидных структур содержит, юзер -> друзья -> друзья друзей, юзер -> чаты -> cообщения...
в sql это превратится в кучу joinов что будет медленно если взлетит)
это если очень коротко)
Нажмите, чтобы раскрыть...С каких пор джойны это медленно?
SEREGA1995 сказал(а):↑mongo лучше, так как социалка и чатики много древовидных структур содержит, юзер -> друзья -> друзья друзей, юзер -> чаты -> cообщения...
в sql это превратится в кучу joinов что будет медленно если взлетит)
это если очень коротко)
Нажмите, чтобы раскрыть...Поправьте если не прав т.к. с вопросом не сильно знаком, но вроде как graphql решает данный вопрос, не?
Till_Its_Gone сказал(а):↑С каких пор джойны это медленно?
Нажмите, чтобы раскрыть...ну если тебе надо сделать join на него еще один, и пока в первой табличке, 10000 в второй 100000 и в третьей 1000000 это ок, добавить нолик, привет оптимизациям, редисам, кешам и т.д. монга просто больше сможет сама собой работать, в какой-то момент и ей надо будет кеш слой или еще чего крутить, индексов еще понастроишь, памяти больше сожрешь, можно и на sql прекрасно сделать, просто больше проблем решить придется, большими ресурсами
Siller__ сказал(а):↑Поправьте если не прав т.к. с вопросом не сильно знаком, но вроде как graphql решает данный вопрос, не?
Нажмите, чтобы раскрыть...не, это просто фетчинг данных) типа не rest с http и fetch, а graphql
Тема закрыта
-
ЗаголовокОтветов ПросмотровПоследнее сообщение
-
Quattro_Molestia 26 Apr 2024 в 05:08Сообщений: 5 26 Apr 2024 в 05:08
Сообщений:5
Просмотров:6
-
Сообщений:2
Просмотров:2
-
Сообщений:23
Просмотров:33
-
Сообщений:11
Просмотров:11
-
Сообщений:3
Просмотров:7