PHP и Adobe AIR RIA

Прежде всего, мне очень жаль, если на этот вопрос сотни раз отвечали на этом сайте. Когда я набрал эту тему, она вернулась с кучей связанных тем, и после прочтения большинства я не нашел ЧЕТКОГО ответа на свои следующие вопросы. Итак, вот они (да начнется пламя...)

Я создаю приложение типа управления запасами, в котором находится база данных MySQL в Интернете. Я хочу раздать несколько избранных копий этой программы через настольное приложение своим клиентам, чтобы они могли проверить свои запасы. Итак, вопрос в том, я думаю, хочу ли я использовать Adobe AIR для этого или мне следует придерживаться формата только для Интернета. И, во-вторых, способен ли AIR обрабатывать запросы PHP/AMF того же типа, которые у него запрашиваются. (Я где-то читал, что AIR поддерживает только вызовы типа HTTPService, а не RemoteObject)

Я надеюсь это имеет смысл. Я просто не знаю всех ограничений, если таковые имеются, которые есть у AIR по сравнению со стандартным выводом в Интернете. Причина, по которой я хочу приложение AIR, состоит в том, чтобы ограничить людей, даже использующих это приложение. (Я буду давать копии на CD/DVD ТОЛЬКО моим клиентам, которым нужен доступ к их текущим запасам.)

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

-CS


person Chad S.    schedule 09.07.2011    source источник


Ответы (2)


На самом деле AIR расширяет существующий API ActionScript. Оно никоим образом не более ограничено, чем чистое веб-приложение (кто бы ни написал эту статью о том, что «удаленное взаимодействие» не поддерживается в AIR, ничего об этом не знает). Напротив, AIR может делать множество вещей, которые не могут веб-приложения: собственные окна, значки в доках, локальные базы данных, перетаскивание с вашего рабочего стола, взаимодействие с приложениями на вашем рабочем столе, ... и это лишь некоторые из них.

В вашей истории меня больше всего беспокоит следующее: как вы собираетесь его установить? Вы должны знать, что если вы хотите установить приложение AIR, вам нужно сначала установить AIR время выполнения (так же, как Java).

Вы хотели бы распространять через компакт-диск.

  • Имеют ли ваши клиенты право устанавливать любое программное обеспечение на свои ПК?
  • Если они это сделают, им все равно сначала потребуется установить среду выполнения AIR. Имеют ли право это делать.
  • Если вы ответили «да» на два предыдущих вопроса: как вы объясните им, что нужно сначала установить среду выполнения, а затем само приложение AIR? Это делает процедуру установки гораздо более сложной для нетехнических пользователей.

И последний вопрос: что не так с безопасным веб-приложением и предоставлением вашим клиентам имени пользователя/пароля для входа в систему?

person RIAstar    schedule 09.07.2011
comment
Спасибо за ваш ответ RIAstar - Чтобы ответить на некоторые ваши вопросы. Я бы связал среду выполнения AIR с компакт-дисками. Но вы поднимаете ОЧЕНЬ важный момент — это право на установку в их системах. ТО я не знаю для каждого клиента. Я предполагаю, что 95% имеют право... Но остаются 5%, которые не могут, и это проблема и огромное ограничение. Мне очень нравится идея AIR с той точки зрения, что она кажется более безопасной, и я могу определить конечное значение для размера окна.... Сохранение моего пользовательского интерфейса нетронутым. И, наконец, в веб-приложении нет ничего плохого... Просто беспокоит безопасность.. - person Chad S.; 09.07.2011
comment
Просто имейте в виду, что если вы планируете распространять среду выполнения AIR на своем компакт-диске, вам необходимо получить лицензию от Adobe. См.: adobe.com/products/air/runtime_distribution1.html. - person warhammerkid; 10.07.2011
comment
Я просто добавлю, что я получил разрешение от Adobe на дистрибутив среды выполнения, это ничего не стоило, и его было легко получить. - person Nate; 11.07.2011
comment
+1. Это правильный ответ, но, чтобы немного расширить его, если вы используете Air, вы можете «сохранить» данные инвентаризации для автономных целей (если не подключены к сети, например, в дороге с вашим ноутбуком). Конечно, данные могут быть неточными, но это все равно хорошая функция в Air. - person J_A_X; 11.07.2011

В вашем случае я бы сказал, что Air — это перебор. Если бы данные должны были храниться на стороне клиента, это было бы одно — у Air есть встроенная база данных, а у вас нет. На самом деле, чтобы приложение работало, вам нужен доступ в Интернет, и одним из основных преимуществ Air является то, что это настольное приложение.

Что касается недостатков Air и Flash в функциональности? Ни один, о котором я знаю. На самом деле, Air имеет много преимуществ: прямой доступ к файловой системе на чтение/запись/выполнение; встроенная база данных; и, поскольку не стоит беспокоиться о расширении ActiveX и браузере, я готов поспорить, что под Windows существует большая согласованность (хотя я видел по крайней мере одно странное отличие под Mac). В Windows есть даже специальный установщик, который установит Air, а затем ваше приложение в Air. Конечно, на Mac и Linux вам нужно будет дать им пошаговые инструкции.

Дело в том, что в вашем случае я не вижу, чтобы кто-то из них реально помог вам в том, что вы могли бы сделать в браузере. В браузере вы можете убедиться, что ваши клиенты используют версию 3.2.11, вместо того, чтобы заставлять их обращаться к справке и говорить: «прочитай мне версию, которую ты видишь на своем компьютере». Наконец, с Air, если у вас нет SSL-сертификата, вы должны купить его, иначе приложение будет выглядеть как «неизвестный автор», а некоторые политики безопасности станут бананами — 400 долларов не так уж много, но это раздражает.

person cwallenpoole    schedule 09.07.2011
comment
Что ж, я очень ценю быстрый ответ. SSL-сертификат, если не проблема, так как я все равно планировал вытащить его (веб-приложение или настольная версия) - мне нравится идея иметь его в Интернете только по той причине, что они могут работать из любого места - но вы думаете Я «неправ» в предположении, что если бы я распространял приложение через компакт-диск, оно было бы более безопасным? В основном от посторонних глаз и хакеров. Местные конкуренты могут увидеть, что я делаю, и использовать декомпилятор, чтобы получить мой исходный код??? Параноик? Безопасно? Помощь. :-) Еще раз спасибо за ваш вклад! - person Chad S.; 09.07.2011
comment
Я не думаю, что локальное хранилище — единственная причина выбрать AIR; хотя это определенно одно из преимуществ по сравнению с браузерным приложением. Я также хотел добавить, что в AIR есть механизм обновления, поэтому вы можете предложить пользователю выполнить обновление автоматически. это означает, что они должны - теоретически - всегда иметь правильную версию. На практике я не думаю, что вы можете заставить пользователей обновиться. - person JeffryHouser; 09.07.2011
comment
@Chad S Я не думаю, что механизм распространения приложений делает приложение более безопасным. Даже если вы будете распространять приложение на компакт-диске; Я бы по-прежнему аутентифицировал пользователей из приложения, прежде чем предоставлять им доступ к конфиденциальным данным. Я сомневаюсь, что к приложению AIR будет так же легко получить доступ, как к веб-приложению; но простота или сложность доступа не делает приложение более или менее безопасным. - person JeffryHouser; 09.07.2011
comment
@Flextras Я никогда не говорил, что это единственная причина. Я перечислил только три, которые сразу пришли в голову. Вы можете принудительно выполнить обновление, выполнив удаленный запрос (HTTP, SOAP, RPC... и т. д.) и завершив работу, если их версия достаточно отличается, но это раздражает. - person cwallenpoole; 09.07.2011
comment
@Chad S. Вы мало что можете сделать для защиты Air, чего нельзя сделать с HTTP-аутентификацией через HTTPS. - person cwallenpoole; 09.07.2011
comment
Что ж, еще раз спасибо всем, кто помог мне с этим. Я все еще размышляю над идеей AIR и Web, но думаю, что больше склоняюсь к Web-версии просто потому, что тогда пользователи могли бы получить доступ к программе из любого места. Пока безопасность приложения остается главным приоритетом. - person Chad S.; 11.07.2011
comment
Тем не менее, еще раз спасибо всем, кто ответил... {В прошлый раз я случайно нажал клавишу Enter, и сообщение было опубликовано, упс!} - person Chad S.; 11.07.2011