Android, GWT & App Engine: Cloud Endpoints против GWT RPC?

Я отключил приложение GWT + GAE, используя механизм GWT RPC для взаимодействия клиент-сервер. Теперь я хочу интегрировать некоторые из услуг, предлагаемых в Android-приложении. Но я обнаружил, что эта реализация больше не рекомендуется и была удалена из GPE 3.0 (плагин google eclipse), поэтому теперь используются конечные точки облака ( инструментальная оснастка RPC недоступна для приложения, связанного с проектом Android для GPE 3.2? ).

Я хотел бы знать, почему этот метод принят (и другой удаляется внезапно), потому что код, необходимый для внедрения коммуникационных швов клиент-сервер намного сложнее (по крайней мере для меня) при использовании Cloud Endpoints, а не RPC GWT, где Очень легко добавить новые классы, код сшитый очень прост в масштабировании.

Почему Cloud Endpoint лучше, чем GWT RPC? Каковы преимущества и недостатки этих двух подходов?

    Преимущество конечных точек облака (и других решений на основе REST / JSON) по сравнению с GWT / RPC заключается в том, что они являются агностиками языка. В случае конечных точек облаков инструментальные средства Google напрямую поддерживают Android, Web и iOS, но поскольку они генерируют описание интерфейса, они также могут поддерживать любые технологии, которые могут использовать это описание.

    Конечные точки также делают проверку подлинности OAUTH относительно легкой, но я не могу комментировать, как это сравнивается с GWT.

    Мое личное мнение: они оба сосут, потому что они проприетарные и непрозрачные. Google – отличная инженерная компания, но эти два являются ИМО как ошибкой. Я предполагаю, что они хотели связать разработчиков с их собственными API-интерфейсами – это MS с 1990-х годов.

    Я использую REST + JSON. Моими личными фаворитами являются RESTEasy + Jackson , которые безупречно работают на GAE.

    Преимущества:

    1. Гибкая сериализация: Jackson может создавать передовые сопоставления между классами и JSON (мульти-один, встроенный, getters / seters и т. Д.), Вы также можете писать пользовательские сериализаторы.
    2. Полный контроль над стеком: вы можете иметь несколько конечных точек (например, общедоступные / частные) с различными конфигурациями, вы также можете перехватывать и увеличивать запросы, настраивать исключительные запросы (throw custom exception -> RESTEasy создает пользовательский JSON в качестве ответа)
    3. Перехватчики допускают использование стандартных или пользовательских схем аутентификации
    4. Полностью открыть исходный код и использовать стандартный протокол и формат сериализации: легко проверить, что происходит в браузере
    5. Portable: работает на всех серверах и клиентах на сервлете (браузеры, Android, iPhone и т. Д.).

    Конечно, кривая обучения немного выше, но по крайней мере вы будете контролировать.