Каковы лучшие технологии удаленного взаимодействия для мобильных приложений? - PullRequest
3 голосов
/ 17 сентября 2008

У меня есть серверная часть Java, которая должна предоставлять службы клиентам, работающим в следующих средах:

  • J2ME
  • Windows Mobile
  • iPhone

Я ищу лучший инструмент для каждой платформы.
Я не ищу технологию, которая работает везде.
Мне нужно что-то «легкое», адаптированное к низкоскоростному доступу в интернет.

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

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

Кажется, все согласны с JSON. Кто-нибудь реализовал решение на основе JSON, работающее с Objective-C, J2ME, Windows Mobile?

Примечание: пока что лучшим решением кажется гессиан. Он хорошо работает на Windows Mobile и Objective-C / iPhone. Большая проблема - J2ME. J2ME-реализация Hessian имеет серьезные ограничения. Он не поддерживает сложные объекты. Я написал еще один вопрос об этом.

Если у вас есть идеи, очень приветствуются.

Ответы [ 5 ]

9 голосов
/ 17 сентября 2008

JSON довольно компактен и поддерживается большинством фреймворков. Вы можете передавать данные по HTTP, используя стандартные методы REST .

Существуют библиотеки JSON для Java , Objective C и многих других языков (прокрутите вниз). У вас не должно возникнуть проблем с поиском поддержки фреймворка на стороне сервера, потому что JSON используется для веб-приложений.

Более старые альтернативы включают простой XML и XML-RPC (как и SOAP, но намного проще и с библиотеками для большинства языков).

5 голосов
/ 17 сентября 2008

Hessian. http://hessian.caucho.com. Реализации на нескольких языках (включая ObjC), сверхлегкие и не требуют использования анализаторов dom / xml для перевода из проводных в объектные модели. Найдя Гессиана, мы забыли, что знаем XML.

2 голосов
/ 19 сентября 2008

Второй JSON. Я перенес устройство чтения JSON Stringtree на J2ME. Это считыватель JSON для одного класса, который компилируется в файл класса 5 КБ и напрямую отображает структуру JSON на собственные типы CLDC, такие как Hashtable и Vector. Теперь я могу использовать один и тот же сервер для внешнего интерфейса браузера AJAX и клиента J2ME.

2 голосов
/ 17 сентября 2008

REST + XML или JSON будет хорошей альтернативой. Он делает большие успехи в мире RIA, и красота этого в его простоте. Он очень прост в использовании без каких-либо специальных инструментов. У SOAP есть свои сильные стороны, но он лучше всего работает в среде с сильной инструментальной поддержкой. Я догадываюсь из твоего вопроса, что это не так.

1 голос
/ 17 сентября 2008

Как насчет простого старого XML (который, к сожалению, называют POX)?

Еще одним очень полезным вариантом будет JSON . Существуют библиотеки для каждого языка программирования.

Возможно, поскольку вы работаете в среде, которая ограничена как вычислительными, так и сетевыми ресурсами, а также языком статической типизации, для вас предпочтительнее использовать буферы протокола Google . (Просто не обращайте на это внимания RPC; RPC - привлекательная неприятность, а не полезная технология.)

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

...