#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.