xCode против Android SDK против Adobe Flex - PullRequest
5 голосов
/ 09 ноября 2011

Я собираюсь разработать приложение, которое будет кроссплатформенным и будет выпущено для IOS и Android.

Мое приложение будет использовать сетевое подключение и взаимодействовать с сервером, и оно должно быть быстрым,надежный и отзывчивый.

Итак, мой вопрос: если я выберу Adobe Flex для создания этого приложения для IOS и Android, будут ли проблемы с производительностью?

Если нет, то почему люди используют xcode или android sdk?Каковы недостатки использования Adobe Flex по сравнению с xCode и Andoid SDK?

Ответы [ 5 ]

14 голосов
/ 09 ноября 2011

Вообще говоря, если вы используете кроссплатформенный инструмент «напишите его один раз и соберите для многих платформ», вы, скорее всего, откажетесь от возможности использовать некоторые (или все?) Функции, специфичные для устройства или платформы. По сути, вы выбираете решение с наименьшим общим знаменателем. Другими словами, вам доступны только функции платформы, доступные на ВСЕХ платформах, на которые вы ориентируетесь.

Создание собственного приложения - то есть использование Xcode для создания приложения для iOS и использование Android SDK для создания приложения для Android - дает вам полный доступ ко всем специфическим функциям и возможностям данной платформы, обеспечивая тем самым лучшее пользовательский опыт на каждой платформе.

Теперь это мое мнение: нативные приложения лучше, просто потому, что они предоставляют пользователю собственный опыт - опыт, который будет казаться им знакомым как пользователю платформы. Когда вы решаете использовать кроссплатформенный инструмент, вы активно решаете дать своему пользователю не совсем идеальный опыт на своем устройстве, но ВЫ сэкономили некоторое время (возможно), выводя свое приложение на рынок. Кто победитель?

На моей работе с моим боссом был конкретный разговор об этом. У нас специально есть нативные приложения для iOS и Android, потому что мы не хотели отказываться от специфичных для платформы функций. Мы хотели, чтобы каждое приложение дало наилучшие возможности на своей платформе. Мы специально согласились с тем, что кроссплатформенное решение - это не то, что мы хотели.

7 голосов
/ 10 ноября 2011

В зависимости от того, что вы создаете, Air - отличная платформа для разработки кроссплатформенных мобильных приложений.Несмотря на недавние новости о том, что Flash Player больше не разрабатывается для мобильных браузеров, родная история остается сильной.Кроме того, увидев родную разработку для IOS, Android и Flex, платформа Flex намного лучше, когда речь заходит о простоте разработки.Благодаря высокоуровневым функциям, таким как привязка данных, визуальное управление состоянием, модель твердого компонента / обложки, модель перехода и т. Д., IOS и Android (IMO) опережают поколение или два.

Если вы используетеFlex для мобильных устройств (iOS / Android / Playbook) - вы получаете общий вид на всех мобильных устройствах.@MarkGranoff предположил, что пользовательский опыт ухудшается при использовании подхода, но я бы оспорил это.

Хотя я согласен, что нестандартное моделирование компонентов пользовательского интерфейса в Air чувствует себя немного не такЯ никому не рекомендую создавать приложения таким образом.Вместо этого создайте приложение, которое выглядит как ваше приложение.Было много приложений, которые не соответствуют нативному внешнему виду или ощущению iOS или Android, но все еще остаются качественными с точки зрения эстетики и UX.

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

Flex Mobile SDK использует много одинаковых парадигм пользовательского интерфейса (особенно в версии SDK, которая скоро будет выпущена), и становится все лучше.Я бы не дискредитировал это.Вы можете сэкономить много денег и времени, используя что-то вроде Flex Mobile.

3 голосов
/ 09 ноября 2011

Вы можете использовать Flex для компиляции в AIR для iOS или Android. Производительность AIR и Objective C или Java значительно ниже. Преимущество использования AIR состоит в том, что одна база трески доставляется на две платформы. Но если у вас есть ноу-хау, Objective C и Java лучше подходят для разработки на соответствующих платформах. Однако многие успешные приложения были запущены на iOS и Android с использованием AIR. Если вы хотите узнать, сработает ли это для вас, я поищу эти приложения в iTunes и Android Market и посмотрю, как они работают для вас. Если ваше приложение не является игрой, оно, вероятно, будет работать нормально. И если приложение представляет собой простую игру, оно также может работать нормально. Также помните, что есть и другие инструменты для разработки мультиплатформенных приложений, такие как разрыв телефона или appcellerator http://www.appcelerator.com/ http://phonegap.com/

или даже Unity 3D: http://unity3d.com/

UPDATE: После этого первоначального ответа в Novemer 2011 компания Adobe внесла значительные улучшения в AIR для iOS и Android. Проблемы Petformance незначительны, если вы не занимаетесь чем-то очень инстинктивным, таким как обработка больших изображений. Кроме того, Unity3D также значительно улучшился. Это отличный выбор для игр 2D или 3D.

0 голосов
/ 14 сентября 2013

если вы используете Air для разработки кроссплатформенных приложений, вы должны обратить внимание на следующие факты:

1) у вас нет доступа к собственным функциям (но вы можете использовать Air Native Extensions, чтобы обойти эту проблему)

2) производительность ниже, чем у собственных приложений (но вы можете использовать инфраструктуру Starling для использования мощности графического процессора в устройствах, что значительно повысит производительность!)

Суть в том, что создание мобильных приложений с использованием AS3 и Flex / Air SDK - лучшее решение, о котором вы только можете подумать, а производительность при использовании скворец намного выше, чем у нативных приложений!

0 голосов
/ 09 ноября 2011

Я не думаю, что вы можете использовать Adobe Flex на iOS. Еще одним кроссплатформенным решением для изучения будет HTML5. Если вы можете себе это позволить, лучшее решение может быть реализовано дважды: один раз с xcode для iOS и один раз с Android для Android.

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