Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 10.04.2015, 19:36
Интересующийся
Отправить личное сообщение для SokDobriy Посмотреть профиль Найти все сообщения от SokDobriy
 
Регистрация: 16.11.2014
Сообщений: 29

Мобильное приложение с пуш уведомлениями.
Друзья. Сразу хочу описать приблизительно свои способности. На js могу, используя мозг и гугл, сделать что-то не сложное. И я понимаю, как он работает, но практики в чём то серьёзном нет.

У меня есть задумка приложения. Что-то вроде месенджера. Если коротко, то нужно выбирать пользователя из телефонной книги, отправлять ему что-то. Тот, в свою очередь, принимает и может отправлять что-то в ответ. Не хочу отращивать бороду 2 года вникая в Objective C и java. Просто хочу phonegap и свое приложение.

Поэтому прошу дать какой-нибудь общий алгоритм того, что для этого нужно или накидать каких нибудь советов, которые будут содержать ключевые слова, которые дадут направление в гуглении.

Сразу хочу сказать, что я не прошу всё продумать за меня. Просто буду рад любому сообщению.

Сейчас у меня только смутное представление о том что нужно приложение как-то привязывать к одному пользователю. Нужен сервер, который как-то будет принимать запрос и искать адресата, потом пересылать ему сообщения. Потом получатель превращается в отправителя и процесс повторяется. Может есть какие-то техники, практики как это реализовать или что-то в этом роде?

В данный момент пытаюсь понять как работает node js и смотрю примеры реализации онлайн чата. И все они почему-то начинаются с: "Смотрите как просто запустить сервер на ноде, всего 10 строчек кода". Но потом они почему-то накатывают на него в обязательном порядке express... но нет, подождите, нужно накатить ещё socket.io. И вот теперь сервер. А те 10 строчек это был ещё значит не сервер? В общем пока всё для меня как-то сумбурно в этом плане. А там ещё наверняка есть целый камаз с подводными камнями...
Ответить с цитированием
  #2 (permalink)  
Старый 10.04.2015, 20:24
Аватар для Safort
Профессор
Отправить личное сообщение для Safort Посмотреть профиль Найти все сообщения от Safort
 
Регистрация: 23.12.2013
Сообщений: 1,856

SokDobriy,
Цитата:
В данный момент пытаюсь понять как работает node js и смотрю примеры реализации онлайн чата. И все они почему-то начинаются с: "Смотрите как просто запустить сервер на ноде, всего 10 строчек кода". Но потом они почему-то накатывают на него в обязательном порядке express... но нет, подождите, нужно накатить ещё socket.io. И вот теперь сервер. А те 10 строчек это был ещё значит не сервер?
Экспресс и Сокет.ио накатывают для того, чтобы было проще. Если бы их не было, код для новичков был бы ощутимо больше и гораздо сложней.

Последний раз редактировалось Safort, 10.04.2015 в 22:58.
Ответить с цитированием
  #3 (permalink)  
Старый 10.04.2015, 21:02
Интересующийся
Отправить личное сообщение для SokDobriy Посмотреть профиль Найти все сообщения от SokDobriy
 
Регистрация: 16.11.2014
Сообщений: 29

почему-то продублировалась тема
Ответить с цитированием
  #4 (permalink)  
Старый 10.04.2015, 21:29
Аватар для MallSerg
Профессор
Отправить личное сообщение для MallSerg Посмотреть профиль Найти все сообщения от MallSerg
 
Регистрация: 07.03.2011
Сообщений: 1,127

С ишака сидишь?
Ответить с цитированием
  #5 (permalink)  
Старый 10.04.2015, 22:53
Интересующийся
Отправить личное сообщение для SokDobriy Посмотреть профиль Найти все сообщения от SokDobriy
 
Регистрация: 16.11.2014
Сообщений: 29

Сообщение от MallSerg Посмотреть сообщение
С ишака сидишь?
Хром 41 64
Ответить с цитированием
  #6 (permalink)  
Старый 14.04.2015, 01:11
Интересующийся
Отправить личное сообщение для SokDobriy Посмотреть профиль Найти все сообщения от SokDobriy
 
Регистрация: 16.11.2014
Сообщений: 29

Друзья,ну дайте наводку. В смысле не напиток.
Я просто не понимаю. Вот у меня есть база пользователей. Один пользователь пишет второму, отсылает. И что, сервер каждый раз будет перелопачивать всю базу, что бы отправить одно сообщение?
Или вот вопрос, как привязывать пользователей к приложению? По номеру телефона? Это не безопасно?
Может есть какие-нибудь практики проверенные или техники? Это ведь всё хоженные тропы.
Ответить с цитированием
  #7 (permalink)  
Старый 14.04.2015, 14:43
Аватар для Safort
Профессор
Отправить личное сообщение для Safort Посмотреть профиль Найти все сообщения от Safort
 
Регистрация: 23.12.2013
Сообщений: 1,856

Сообщение от SokDobriy Посмотреть сообщение
Вот у меня есть база пользователей. Один пользователь пишет второму, отсылает. И что, сервер каждый раз будет перелопачивать всю базу, что бы отправить одно сообщение?
Нет. Прочитай доки на офф. сайте socket.io. У этой библы есть возможность отправлять инфу всем клиентам без использования базы.
Ответить с цитированием
  #8 (permalink)  
Старый 14.04.2015, 15:22
Интересующийся
Отправить личное сообщение для SokDobriy Посмотреть профиль Найти все сообщения от SokDobriy
 
Регистрация: 16.11.2014
Сообщений: 29

Сообщение от Safort Посмотреть сообщение
Нет. Прочитай доки на офф. сайте socket.io. У этой библы есть возможность отправлять инфу всем клиентам без использования базы.
Ок, посмотрю. Но мне нужно не всем. Мне нужно одному. Мессенджер. Просто я не понимаю, он всё равно залезет в базу, что бы найти получателя. Если только для каждого пользователя делать отдельную базу с контактами. Либо какой-то хитрый идентификатор оптимизирующий всю эту процедуру...
Да и я общался с создателем socket.io он сказал что мобильный менсенджер сделать возможно. Но конкретных вопросов по реализации я не спрашивал у него.
И вот ещё такой сценарий. Устанавливается приложение. Как оно определит по телефонной книге у кого уже стоит приложение? Это мне всю контактную книгу нужно к себе на сервер отправить и опять же по базе прошерстить? Как то это всё не нормально выглядит.

Последний раз редактировалось SokDobriy, 14.04.2015 в 15:26.
Ответить с цитированием
  #9 (permalink)  
Старый 14.04.2015, 17:13
Аватар для Erolast
Профессор
Отправить личное сообщение для Erolast Посмотреть профиль Найти все сообщения от Erolast
 
Регистрация: 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, там же есть пример реализации простейшего чата.

Цитата:
Я просто не понимаю. Вот у меня есть база пользователей. Один пользователь пишет второму, отсылает. И что, сервер каждый раз будет перелопачивать всю базу, что бы отправить одно сообщение?
Для чего перелопачивать?
Ответить с цитированием
  #10 (permalink)  
Старый 14.04.2015, 21:21
Интересующийся
Отправить личное сообщение для SokDobriy Посмотреть профиль Найти все сообщения от SokDobriy
 
Регистрация: 16.11.2014
Сообщений: 29

Erolast,
Спасибо за ответ!

Перелопачивать, что бы найти адресата. Один пользователь написал сообщение, оно пришло на сервер. Теперь нужно что бы сервер направил его адресату. Он полезет в базу искать пользователя получателя.
Я к тому, что мне похоже светит MongoDB. Как оно найдёт пользователя получателя из базы?

И вот ещё вопрос. Как клиентское мобильное приложение узнает, что для него пришло сообщение? Это нужно держать всё время соединение? То есть пришло на сервер сообщения для пользователя. Теперь его нужно отослать другому пользователю. Куда вообще его слать?
Блин, я похоже, чего-то не понимаю?(

Последний раз редактировалось SokDobriy, 14.04.2015 в 22:16.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
понять на сервере ли запущено приложение Sveta Общие вопросы Javascript 2 05.08.2013 15:54
github. как правильно выложить приложение dmitry111 Оффтопик 120 20.01.2013 23:52
Проверить запущено ли приложение Wladimir Общие вопросы Javascript 1 23.08.2011 15:00