#ios
#iOS
Вопрос:
Я хочу создать приложение для шуток, в котором за шутки можно голосовать «за» и «против» и получать рейтинги.
Для шуток также существуют разные категории.
Мой вопрос в том, как мне следует хранить базу данных шуток?
База данных шуток будет расти по мере обновления приложения. Хочу ли я сохранить это на телефоне или позволить пользователям извлекать шутку из базы данных в Интернете?
Если использовать первый вариант, какой максимальный объем текста я могу сохранить в приложении iOS? (В этом случае я предполагаю, что база данных шуток будет обновляться по мере обновления приложения) Если второй вариант, как это делается? Я могу придумать пару вариантов, но они не очень хороши. 1. сохраните базу данных на веб-странице и просто возьмите ее оттуда (но пользователи не могут голосовать за шутки «за») 2. создайте мобильный веб-сайт, на котором все шутки реализованы как на реальном веб-сайте, и используйте webview, чтобы показывать страницу шуток пользователю. (вероятно, потребуется система входа в систему, чтобы пользователи не могли злоупотреблять голосами) В этих двух случаях это небезопасно, потому что кто-то может просто узнать, где размещены мои шутки, выполнив поиск в Google, и забрать весь мой контент.
Что вы порекомендуете?
Ответ №1:
Наиболее масштабируемое решение — создать свой собственный серверный сервер и извлекать из него данные по телефону. Обновления приложений следует использовать для развертывания обновлений кода, а не содержимого. Если вы хотите, чтобы пользователю была доступна растущая база данных шуток, вам понадобится база данных, хранящаяся где-нибудь в Интернете.
Этот подход требует, чтобы вы настроили свой собственный веб-сервер с базой данных jokes (используя что-то вроде SQL или Postgres). Вы можете использовать PHP, Ruby on Rails, Django или другие подобные серверные технологии для обработки входящих запросов и извлечения данных из базы данных. Затем сервер отправил бы эти данные обратно на телефон в удобном для сети формате, таком как JSON.
На стороне iPhone вы можете использовать NSURLRequest и NSURLRequestDelegate для выполнения асинхронного запроса к серверу. Например, если вы хотите получить все шутки из серверной части, вы могли бы отправить запрос GET на http://www.yoursite.com/jokes. Серверная часть получит запрос, использует SQL-запросы для извлечения шуток, отформатирует данные в формате JSON и отправит их обратно по сети на телефон. Затем телефон может проанализировать JSON (существует множество библиотек JSON для разработки Cocoa Touch) и обновить дисплей. Чтобы разрешить пользователям голосовать за шутки, вы можете аналогичным образом отправлять запросы POST на серверную часть, которые изменят данные в базе данных.
Вот простой пример того, как работать с JSON на стороне iPhone: http://mobile.tutsplus.com/tutorials/iphone/iphone-json-twitter-api