Как создать свой собственный веб-API / веб-сервис - PullRequest
7 голосов
/ 26 февраля 2011

Я уже некоторое время занимаюсь разработкой приложений для iOS, но все они имеют дело с информацией на устройстве.

Я хочу расширить свои знания и привлекательность своих приложений.

Мне нужен хороший учебник по созданию собственной онлайновой базы данных SQL и API для доступа ко всей информации, содержащейся в ней.

Я использовал несколько API (Twitter, Facebook, Google и т. Д.), Поэтому на стороне iOS я готов.

Я бы с удовольствием внедрил его с помощью Google App Engine, но если вы знаете более эффективные способы его реализации, я буду рад их услышать; Я слышал, что Java, .net и Ruby - лучшие варианты.

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

Я думаю, что ответы на этот вопрос могут быть отличным ресурсом для всех разработчиков, заинтересованных в Wb API.

Большое спасибо за вашу помощь.

Ответы [ 2 ]

7 голосов
/ 26 февраля 2011

ИМХО, AppEngine - отличный выбор, поскольку его практически не нужно настраивать / управлять им.Кроме того, он поставляется с мощными сервисами, такими как хранилище данных, очередь задач, аутентификация пользователя, обмен сообщениями и т. Д. Самым большим преимуществом для меня является хранилище данных, которое не имеет схемы, поэтому вам не нужно постоянно обновлять / управлять схемой по мере продвижения вашего приложения.,

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

Все мои советы ниже - Java, так как это то, что я знаю.Надеемся, что другие опубликуют ответы, представляющие другие платформы / языки.

Чтобы запустить этот процесс, вам потребуется:

  1. Настройка веб-службы.Перейти с REST, так как это наиболее распространенный и простой в настройке / использовании.Я перепробовал все основные среды Java REST и в итоге получил Resteasy , потому что он просто работает и имеет IMHO лучшую документацию.

  2. Понять, как работает GAE Datastore.Существует несколько API для использования хранилища данных:

    a.Низкий уровень громоздок, так как вам нужно использовать его классы моделей (Entity), поэтому вы будете много копировать между вашими объектами и объектами Entity, возвращаемыми этим API.

    b.JDO / JPA являются стандартами java ORM , но они были созданы для баз данных SQL и действительно включены в Datastore.Я бы посоветовал не использовать их, потому что они являются просто дополнительным слоем поверх низкоуровневого, а также просто пытаются обмануть разработчиков, что Datastore является базой данных SQL.

    c. объективизации .Это сторонняя библиотека OSS, но автор AFAIK, поддерживаемый Google.Это слой поверх низкоуровневого, но очень естественного, чтобы не затемнять функции Datastore.Я рекомендую использовать его.

  3. Аутентификация.Вы будете хотеть аутентификацию.GAE поддерживает OpenID / OAuth из коробки (просто отметьте опцию federated login на панели команд).Теперь самое сложное - заставить это работать с iPhone и другими устройствами:

    a.Требовать от пользователя ввести учетные данные Google в приложение для iPhone.Некоторые пользователи не хотят этого делать (например, я).В этом случае используйте клиент iPhone OAuth .

    б.Откройте веб-страницу входа OpenID во встроенном браузере: Программная аутентификация с переполнением стека

0 голосов
/ 26 февраля 2011

Я сделал несколько приложений для «сырого» PHP / MySQL (без фреймворков). Преимущество этого подхода в том, что его действительно очень легко сделать, и каждая существующая хостинговая компания поддерживает как PHP, так и MySQL. Если ваш бэкэнд предназначен исключительно для iphone, вы можете даже вернуть все данные в формате plist-формата xml, который требует нулевого анализа и который может быть мгновенно преобразован в словари / массивы в приложении iphone.

Еще одним преимуществом является то, что вы можете настроить тестовый сервер в своей системе разработки или в домашней сети, а также можете протестировать серверную часть локально с помощью симулятора iphone и даже устройства iphone, если вы используете IP-адреса вместо имен ( и если вы хороший системный администратор / сетевой человек, возможно, вы могли бы настроить его и на использование имен вашей сети).

Недостатком необработанного PHP / MySQL является то, что вы не получаете интерфейсы администратора бесплатно для управления / редактирования объектов данных, как в большинстве сред, таких как django. Другим недостатком является масштабирование большого объема трафика, но если вы используете разумный хостинг, это может не быть проблемой.

В Интернете есть тонны книг и материалов для работы на сайтах php / mysql.

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