Серверная часть мобильного приложения

здраствуйте! очень много гуглил на эту тему проблема не в том что нет информации а наоборот её так много что в голове каша, задавал вопросы на форумах но какого то образа ответа на мой вопрос не сложилось, надеюсь тут все проясниться наконец таки.
Я написал приложение на JAVA для андроида, суть приложения в просмотре контента который находился в самом приложений , то есть сервер был вовсе не нужен, но появились изменения в приложений, теперь нужна связь с сервером для получение данных в виде картинок и текста, а так же теперь хотелось бы добавить регистрацию пользователей, возможность отправки сообщений пользователя другому пользователю. Но для этих всех функций приложения нужен сервер и все что прилагается для поддержки тех функций приложения которые я описал

вопросов несколько и собственно вот они:
у сервера есть операционная система, есть сам сервер с его характеристикой ,ну там операционка какая нибудь, оперативка, размер жестких дисков и т.д.
1. А что еще нужно для поддержки работы приложения выше описанного с сервером? какая то программа написанная на каком то определенном языке для работы с приложением клиента?самому ли её писать? или она уже есть в виде шаблонов?

2.Каким образом передавать данные(контент запрашиваемый клиентом) из сервера клиенту? какой то определенный протокол?или какая нибудь технология есть?

3.А если число пользователей будет считаться миллионами , как сервер будет работать с ними ? при этом не падая?

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

  • Вопрос задан более трёх лет назад
  • 8570 просмотров

Очень сложно дать ответ в нескольких словах. Моя последняя статья на хабре про простой backend для мобильного приложения на Google App Engine + Go.
С точки зрения цены/производительности/масштабируемости GAE + Go – наилучший вариант, но без опыта в этом деле будет очень сложно написать требуемое решение.
Другой вариант – сайты вроде parse.com – предоставляют много функций и сервисов по скажем приемлемым ценам. Отличаются простой интеграцией, у них же на сайте и в сети найдёте кучу примеров, на которых можно учиться.

Читайте также:  Программа для разговоров через интернет

2. Всё по HTTP или HTTPS, передаваемые данные часто сериализуют в JSON. Клиент делает запросы на сервер – это самой простой вариант.

3. GAE точно справится. Parse, думаю, тоже. Всё зависит от того на сколько эффективно используются ресурсы и сколько денег вливается на поддержание сервиса. Если будете делать всё на собственном одном сервере, то скорее всего не справится с нагрузкой, особенно если какой-нибудь дешёвый VPS.

Разработка серверной части приложения

Введение

Присутствие в интернете стало необходимостью для современных компаний. Без этого невозможно выстроить полноценного взаимодействия с клиентами. Часто для решения подобной задачи прибегают к созданию клиент-серверных приложений. Каждое из них состоит из клиентской части и Back-end. Под последним термином подразумевается серверная часть приложения. Если в дальнейшем нужно самостоятельно изменять контент мобильной программы, то Back-end должен быть создан особенно качественно. Компания Appomart гарантирует выполнение поставленных задач в соответствии предъявляемым требованиям. Поэтому, заказывая создание серверных приложений, можете быть уверены в надлежащем результате.

Для чего нужен Back-end?

Разработка клиент-серверных приложений подразумевает создание двух частей. Первая, Front-end, принимает запросы от пользователей. Она видна с экранов мобильных устройств клиентов. Вторая, серверное приложение, обрабатывает полученные запросы, выполняет роль административной панели. Здесь хранятся базы данных, логика программы. Без этого не будет работать ни одно клиент-серверное приложение. По сути Back-end — это сердце программы. Это интеллект, который отвечает за обработку запросов клиентов, скорость работы приложения. Поэтому важно, чтобы архитектура серверного приложения была продумана до мелочей, чтобы даже высоконагруженные сервисы работали бесперебойно и быстро.

Как выбрать язык программирования?

В ходе подготовки технического задания (части рабочей документации по проекту), архитектор проектирует систему баз данных и связей, описывает объекты и их свойства, а также разрабатывает необходимые методы сервера (запросы, которыми будут "пользоваться" мобильные приложения обращаясь к серверу).

Важность документации и "брошенные" проекты

В Appomart довольно часто обращаются заказчики, которых "бросили" по тем или иным причинам другие подрядчики. И мы берем чужой, порою даже некорректно работающий проект, осуществляем его аудит и последующую доработку и поддержку. В процессе изучения исходного кода и материалов, полученных от заказчика, мы сталкиваемся с тем, что многие разработчики намеренно не документируют методы сервера, чтобы привязать к себе клиента, за счет несоизмеримости трудозатрат передачи проекта в поддержку другому разработчику, ввиду отсутствия документации к серверной части, а порой просто из-за непрофессионализма. Данный факт, к сожалению, является не только печальным но и распространенным. Заказчику, в этом случае, необходимо оплачивать разработку документации по существующему проекту, а также аудит исходного кода, прежде чем можно будет судить о работоспособности, удобстве и целесообразности поддержки проекта. Сотрудники Appomart всегда ведут электронную документацию методов серверной части в формате, поддерживаемом Postman и Swagger, для последующего использования.

Читайте также:  Рамки для текста в формате word

Как проверить подрядчика до подписания договора?

Мы призываем Вас внимательно выбирать подрядчика, и ориентироваться не только на заманчивую цену, но и на перечень документов, которые вы получите вместе с проектом, а также условия передачи исходного кода, и покрытие кода комментариями, схемы баз данных (будь то Mongo DB или MySQL). Залогом успеха, как правило становится грамотная рабочая документация, которая явно указывает на требования к передаваемой Вам по завершению каждого из этапов работы материалов.

Особенности разработки

PHP для серверной части

Создание серверной части приложений (не путать с серверами как "железом" или компьютерами, так как речь идет о программной части) требует специфических профессиональных навыков и знания языка программирования, который применяется на стороне сервера. Если рассматривать примеры клиент-серверных приложений, то видно, что популярностью пользуется PHP. Это бесспорный лидер в области разработки серверных приложений. На этом языке написано в той или иной конфигурации более половины сайтов в мире. PHP удобен для разработки и поддержки, и кроме того существуют специальные framework-и для ускорения разработки на PHP.

Framework

Framework (программная платформа) – используется для систематизации и повышения уровней абстракции, что позволяет сделать проект более гибким и масштабируемым. Однако, стоит понимать, что framework должен быть выбран корректно, на основе глубинного анализа рабочей документации проекта, без которой невозможно разработать качественный продукт.

Delphi, JAVA, Python

Есть и другие языки, которые используются для создания Back-end. Так, распространены созданные в среде Delphi серверные приложения. С ее помощью программа получает улучшенную отладку, в среде также просто сформировать уникальные программы, предусмотрено визуальное создание, что дает возможность сделать красивый, понятный и удобный интерфейс. Также популярность получили серверные приложения на Java. Такие легко дополняются, легко исполняются на любых платформах и отличаются достойным уровнем безопасности. Еще одним популярным языком считается Python. Серверные приложения с его помощью создаются быстро, просто, без серьезных затрат.

Читайте также:  Серийный номер 3д макс 2017

Распространение

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

Создадим клиент-серверное приложение Android, iOS качественно и в срок

Разработка "под ключ"

Программисты Appomart опытны и квалифицированы, чтобы реализовать задачи самых разнообразных уровней. Мы одинаково хорошо реализуем социальные сети, высоконагруженные бизнес-проекты, или программную часть для небольших стартапов. При необходимости мы создадим клиентскую часть приложения под управлением Android, iOS в соответствии с имеющимися потребностями, предъявляемыми требованиями.

Сначала пишеться на том языке который вы знаете, а дальше уже если приложение "взлетело" смотрите во что упираетесь(ресурсы/возможности языка) и либо улучшаете свой код, либо переписываете на языке больше подходящем под задачи, либо переезжаете на железо мощнее.

В 99% случаев взаимодействие клиента и сервера реализуют используя стандартные протоколы(http(s), WebSocket protobuf итд), библиотеки для работы с ними есть во всех популярных языках.

Ну и раз вы писали сайты то должны понимать что фронтенд сайта это по сути клиент к серверной части и его запросто можно заменить хоть мобильным, хоть десктопным клиентом без изменений серверного кода. Конечно сам серверный код должен предоставлять API, а не быть лапшой из пхп+хтмл.

Что же касается хостинга – для старта подойдет любой, даже shared. Но лучше сразу брать vpsку, например у Aruba за 1евро, у OVH за 3евро или у DigitalOcean за 5$. А на время разработки можно воспользоваться бесплатными тарифными планами от Amazon/Google/Microsoft.

Leave a Reply

Ваш адрес email не будет опубликован. Обязательные поля помечены *

You may use these HTML tags and attributes:

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>