Flex AMFPHP против WebORB против XMl

Я новичок в Flex 3 и Flash Remoting, и я не могу решить, какую технику использовать для взаимодействия между веб-интерфейсом и бэкэндом.

Я начал с XML, но, похоже, непросто создать все XML-файлы в PHP, проанализировать их во Flex и отослать обратно данные, создающие заново XML-файлы во Flex, а затем проанализировать их в PHP.

Вот почему я нашел AMFPHP, который великолепен тем, что я могу напрямую обращаться к классам / объектам в PHP и изменять их. Кажется, намного чище. Например, делая обновления данных в базе данных, я просто вызываю метод set с определенными атрибутами.

Тогда я также нашел WebORP.

Будут ли самые большие недостатки AMFPHP? Любые рекомендации?

Большое спасибо, Мартин

4 ответа

Решение

Я ничего не знаю о WebORP, но AMFPHP определенно будет работать для вас лучше, чем XML. AMF - это двоичный транспорт, и он НАМНОГО быстрее, чем передает весь этот текст ascii и анализирует его. Плюс это позволит вам работать напрямую с вашими файлами классов PHP.

Я действительно не могу думать ни о каких недостатках;)

Единственный раз, когда XML имеет больше смысла, это если вы пишете сервис, который будет использоваться (использоваться) несколькими разными языками, и вам нужен наименьший общий знаменатель.

WebORB также является очень хорошим выбором, но в основном он ориентирован на.NET (для этого я и использую его), поэтому вам придется сравнивать AMFPHP, ZendAMF и WebORB. У WebORB есть много других функций, таких как обмен сообщениями, поддержка PDF, поддержка MSMQ,... но я не знаю, что из этого поддерживается в PHP.

Я использовал AMFPHP для небольшого проекта, в котором было много дизайнеров и меня самого, это было здорово, это действительно быстро и легко. Я использовал WebORB для проекта среднего размера, в котором участвовали ~4 разработчика Flex; это работало нормально, и я чувствовал, что подход может обрабатывать довольно большую группу (кстати, мы использовали Cairngorm на стороне Flex).

Я чувствовал, что WebORB был более полным, хотя сортировка классов на стороне PHP была немного сложна для отладки. (То есть, если во Flex вы подготовили объект, и определение класса AS3 немного отклонилось от определения класса PHP, это было бы трудно интерпретировать из-за ошибок. Синхронизация должна быть автоматизирована, пока не знаю, возможно ли это.)

Другие вопросы по тегам