10.04.2015, 19:36
|
Интересующийся
|
|
Регистрация: 16.11.2014
Сообщений: 29
|
|
Мобильное приложение с пуш уведомлениями.
Друзья. Сразу хочу описать приблизительно свои способности. На js могу, используя мозг и гугл, сделать что-то не сложное. И я понимаю, как он работает, но практики в чём то серьёзном нет.
У меня есть задумка приложения. Что-то вроде месенджера. Если коротко, то нужно выбирать пользователя из телефонной книги, отправлять ему что-то. Тот, в свою очередь, принимает и может отправлять что-то в ответ. Не хочу отращивать бороду 2 года вникая в Objective C и java. Просто хочу phonegap и свое приложение.
Поэтому прошу дать какой-нибудь общий алгоритм того, что для этого нужно или накидать каких нибудь советов, которые будут содержать ключевые слова, которые дадут направление в гуглении.
Сразу хочу сказать, что я не прошу всё продумать за меня. Просто буду рад любому сообщению.
Сейчас у меня только смутное представление о том что нужно приложение как-то привязывать к одному пользователю. Нужен сервер, который как-то будет принимать запрос и искать адресата, потом пересылать ему сообщения. Потом получатель превращается в отправителя и процесс повторяется. Может есть какие-то техники, практики как это реализовать или что-то в этом роде?
В данный момент пытаюсь понять как работает node js и смотрю примеры реализации онлайн чата. И все они почему-то начинаются с: "Смотрите как просто запустить сервер на ноде, всего 10 строчек кода". Но потом они почему-то накатывают на него в обязательном порядке express... но нет, подождите, нужно накатить ещё socket.io. И вот теперь сервер. А те 10 строчек это был ещё значит не сервер? В общем пока всё для меня как-то сумбурно в этом плане. А там ещё наверняка есть целый камаз с подводными камнями...
|
|
10.04.2015, 20:24
|
|
Профессор
|
|
Регистрация: 23.12.2013
Сообщений: 1,856
|
|
SokDobriy,
Цитата:
|
В данный момент пытаюсь понять как работает node js и смотрю примеры реализации онлайн чата. И все они почему-то начинаются с: "Смотрите как просто запустить сервер на ноде, всего 10 строчек кода". Но потом они почему-то накатывают на него в обязательном порядке express... но нет, подождите, нужно накатить ещё socket.io. И вот теперь сервер. А те 10 строчек это был ещё значит не сервер?
|
Экспресс и Сокет.ио накатывают для того, чтобы было проще. Если бы их не было, код для новичков был бы ощутимо больше и гораздо сложней.
Последний раз редактировалось Safort, 10.04.2015 в 22:58.
|
|
10.04.2015, 21:02
|
Интересующийся
|
|
Регистрация: 16.11.2014
Сообщений: 29
|
|
почему-то продублировалась тема
|
|
10.04.2015, 21:29
|
|
Профессор
|
|
Регистрация: 07.03.2011
Сообщений: 1,138
|
|
С ишака сидишь?
|
|
10.04.2015, 22:53
|
Интересующийся
|
|
Регистрация: 16.11.2014
Сообщений: 29
|
|
Сообщение от MallSerg
|
С ишака сидишь?
|
Хром 41 64
|
|
14.04.2015, 01:11
|
Интересующийся
|
|
Регистрация: 16.11.2014
Сообщений: 29
|
|
Друзья,ну дайте наводку. В смысле не напиток.
Я просто не понимаю. Вот у меня есть база пользователей. Один пользователь пишет второму, отсылает. И что, сервер каждый раз будет перелопачивать всю базу, что бы отправить одно сообщение?
Или вот вопрос, как привязывать пользователей к приложению? По номеру телефона? Это не безопасно?
Может есть какие-нибудь практики проверенные или техники? Это ведь всё хоженные тропы.
|
|
14.04.2015, 14:43
|
|
Профессор
|
|
Регистрация: 23.12.2013
Сообщений: 1,856
|
|
Сообщение от SokDobriy
|
Вот у меня есть база пользователей. Один пользователь пишет второму, отсылает. И что, сервер каждый раз будет перелопачивать всю базу, что бы отправить одно сообщение?
|
Нет. Прочитай доки на офф. сайте socket.io. У этой библы есть возможность отправлять инфу всем клиентам без использования базы.
|
|
14.04.2015, 15:22
|
Интересующийся
|
|
Регистрация: 16.11.2014
Сообщений: 29
|
|
Сообщение от Safort
|
Нет. Прочитай доки на офф. сайте socket.io. У этой библы есть возможность отправлять инфу всем клиентам без использования базы.
|
Ок, посмотрю. Но мне нужно не всем. Мне нужно одному. Мессенджер. Просто я не понимаю, он всё равно залезет в базу, что бы найти получателя. Если только для каждого пользователя делать отдельную базу с контактами. Либо какой-то хитрый идентификатор оптимизирующий всю эту процедуру...
Да и я общался с создателем socket.io он сказал что мобильный менсенджер сделать возможно. Но конкретных вопросов по реализации я не спрашивал у него.
И вот ещё такой сценарий. Устанавливается приложение. Как оно определит по телефонной книге у кого уже стоит приложение? Это мне всю контактную книгу нужно к себе на сервер отправить и опять же по базе прошерстить? Как то это всё не нормально выглядит.
Последний раз редактировалось SokDobriy, 14.04.2015 в 15:26.
|
|
14.04.2015, 17:13
|
|
Профессор
|
|
Регистрация: 24.09.2013
Сообщений: 1,436
|
|
Цитата:
|
почему-то начинаются с: "Смотрите как просто запустить сервер на ноде, всего 10 строчек кода". Но потом они почему-то накатывают на него в обязательном порядке express... но нет, подождите, нужно накатить ещё socket.io.
|
Важно понимать, что для чего предназначено.
express - фреймворк для разработки бэкэнда сайта. Если сайт писать не собираешься - он и не нужен.
socket.io - библиотека для реализации полнодуплексной связи между клиентом-браузером и сервером-нодой, с помощью разнообразных костылей позволяющая охватить как можно большее количество браузеров. Если не нужны страшные IE < 10 - в нем нет надобности, можно использовать чистый WebSocket. Читай https://learn.javascript.ru/websocke...%D 0%B8%D1%8F, там же есть пример реализации простейшего чата.
Цитата:
|
Я просто не понимаю. Вот у меня есть база пользователей. Один пользователь пишет второму, отсылает. И что, сервер каждый раз будет перелопачивать всю базу, что бы отправить одно сообщение?
|
Для чего перелопачивать?
|
|
14.04.2015, 21:21
|
Интересующийся
|
|
Регистрация: 16.11.2014
Сообщений: 29
|
|
Erolast,
Спасибо за ответ!
Перелопачивать, что бы найти адресата. Один пользователь написал сообщение, оно пришло на сервер. Теперь нужно что бы сервер направил его адресату. Он полезет в базу искать пользователя получателя.
Я к тому, что мне похоже светит MongoDB. Как оно найдёт пользователя получателя из базы?
И вот ещё вопрос. Как клиентское мобильное приложение узнает, что для него пришло сообщение? Это нужно держать всё время соединение? То есть пришло на сервер сообщения для пользователя. Теперь его нужно отослать другому пользователю. Куда вообще его слать?
Блин, я похоже, чего-то не понимаю?(
Последний раз редактировалось SokDobriy, 14.04.2015 в 22:16.
|
|
|
|