Каков наилучший способ реализовать сервер приложений для приложения для смартфонов?

#android #ios #web-applications

#Android #iOS #веб-приложения

Вопрос:

Я намерен написать многоплатформенное приложение для смартфонов (в настоящее время только I-phone и Android). Который должен отправлять и получать информацию с веб-сервера, который я намерен создать. Веб-сервер будет выполнять все алгоритмы, а также обрабатывать подключение к БД. Мой вопрос в том, как это лучше всего сделать, какая технология веб-сервера лучше всего подходит для сценария и поддерживает подключения с различных устройств.

В принципе, я думал о реализации простого протокола TCP / IP, сделав приложение (на телефоне) клиентом, а сервер в Интернете — с другой стороны. однако я хочу развернуть приложение на сервере приложений (возможно, Google app, JBOSS и т. Д.), И я не хочу, чтобы меня останавливали различные брандмауэры.

у кого-нибудь есть идея?

редактировать: мало что можно сказать наверняка, сервер приложений будет написан на Java, а БД будет mysql.

Комментарии:

1. Какие данные вы собираетесь обрабатывать? Что это будет за приложение? Чем больше деталей вы можете нам предоставить, тем более конкретными мы можем быть в наших рекомендациях.

2. данные довольно просты, запрашивают и отвечают только примитивными типами.

Ответ №1:

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

Для начала я бы предложил JSON через HTTP в качестве транспортного механизма: его легко анализировать как на стороне клиента, так и на стороне сервера, и его можно напрямую использовать в Javascript, если возникнет необходимость. XML — еще один вариант, но его анализ может раздражать.

JSON-over-HTTP (или XML) будет полностью зависеть от устройства и не будет иметь проблем с брандмауэром / прокси, с которыми вы столкнетесь, пытаясь реализовать пользовательский протокол на основе TCP.

Что касается серверной части, люди могут использовать MySQL или Postgres для своей базы данных и подключаться к ней с Java, C #, Ruby, PHP или других серверных языков. Используйте то, что вам удобно, или то, что вы хотите изучить дальше.

Комментарии:

1. Хорош ли Python для сервера? если да, то какой модуль подходит? (django, flask или …)

Ответ №2:

Почему бы не написать серверную часть как обычное веб-приложение — на любой технологии, которая вам нравится (php, asp.net , java)? Таким образом, вы можете развернуть приложение на любом веб-сервере, а ваши клиентские приложения на телефонах просто установят соединение с HTTP-сервером. Обычно брандмауэры не являются проблемой в такой ситуации.

Я использовал эту настройку для своих приложений (как для Android, так и для iphone) — подключение к веб-серверному приложению, написанному на php, с помощью серверной части postgres.