Как работает Серверная сторона мобильного приложения?
здраствуйте! очень много гуглил на эту тему проблема не в том что нет информации а наоборот её так много что в голове каша, задавал вопросы на форумах но какого то образа ответа на мой вопрос не сложилось, надеюсь тут все проясниться наконец таки.
Я написал приложение на JAVA для андроида, суть приложения в просмотре контента который находился в самом приложений , то есть сервер был вовсе не нужен, но появились изменения в приложений, теперь нужна связь с сервером для получение данных в виде картинок и текста, а так же теперь хотелось бы добавить регистрацию пользователей, возможность отправки сообщений пользователя другому пользователю. Но для этих всех функций приложения нужен сервер и все что прилагается для поддержки тех функций приложения которые я описал
вопросов несколько и собственно вот они:
у сервера есть операционная система, есть сам сервер с его характеристикой ,ну там операционка какая нибудь, оперативка, размер жестких дисков и т.д.
1. А что еще нужно для поддержки работы приложения выше описанного с сервером? какая то программа написанная на каком то определенном языке для работы с приложением клиента?самому ли её писать? или она уже есть в виде шаблонов?
2.Каким образом передавать данные(контент запрашиваемый клиентом) из сервера клиенту? какой то определенный протокол?или какая нибудь технология есть?
3.А если число пользователей будет считаться миллионами , как сервер будет работать с ними ? при этом не падая?
буду очень признателен вашей помощи...сам я первый раз столкнулся с серверной стороной приложения ,и вопросов очень много, но мне бы хотя бы ответы на эти услышать ... уже будет замечательно
Очень сложно дать ответ в нескольких словах. Моя последняя статья на хабре про простой backend для мобильного приложения на Google App Engine + Go.
С точки зрения цены/производительности/масштабируемости GAE + Go - наилучший вариант, но без опыта в этом деле будет очень сложно написать требуемое решение.
Другой вариант - сайты вроде parse.com - предоставляют много функций и сервисов по скажем приемлемым ценам. Отличаются простой интеграцией, у них же на сайте и в сети найдёте кучу примеров, на которых можно учиться.
2. Всё по HTTP или HTTPS, передаваемые данные часто сериализуют в JSON. Клиент делает запросы на сервер - это самой простой вариант.
3. GAE точно справится. Parse, думаю, тоже. Всё зависит от того на сколько эффективно используются ресурсы и сколько денег вливается на поддержание сервиса. Если будете делать всё на собственном одном сервере, то скорее всего не справится с нагрузкой, особенно если какой-нибудь дешёвый VPS.
ну вы прям в точку попали моей проблемы с parse.com , вот нигде в инете ни на форумах ни в гугле не было инфы про такие сервисы или я не так искал) google app engine это фрэймворк? как я прочитал в вики , то есть придется все таки писать какое то количество кода для серверной части и что то разрабатывать. А вот парса это готовая часть серверной стороны приложения с физическим хостингом?правильно ли я понял суть сервиса? который предоставляет все виды сервиса которые возможны при собственной разработке и написании серверной части?ну и плюс обычные услуги хостинга?
GAE это PaaS - platform as a service, под него нужно программировать. Parse это более высокий уровень абстракции. Многие сервисы там не нужно программировать, но что-то нужно. Хостинг дают. Это самое простое в использовании решение.
поднимаешь любой веб-сервер и пользуешься таким протоколом как HTTP для взаимодействия клиента и сервера. На чем писать серверную часть - вопрос сугубо индивидуальный, и вариантов достаточно. Например php, ruby и python и javascript