Преимущества / недостатки написания веб-приложения с использованием Adobe Air / Java по сравнению с языками, специфичными для платформы?

Мне нужно написать веб-приложение (которое также работает в автономном режиме) для Windows и Mac (и, возможно, Linux).

Мне было интересно, следует ли мне использовать для этого что-то вроде air / flash / java, преимущество в том, что мне нужно будет написать приложение только один раз.

Однако мне было интересно, есть ли какие-либо недостатки в том, чтобы сделать это таким образом, в отличие от написания его на C # специально для Windows, а затем objective-C / cocoa / something для Mac. Будет ли ограничена функциональность приложения, если я сделаю это в Air / Java? Есть ли преимущества в написании его на языке, специфичном для платформы?

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

Любая помощь приветствуется! Спасибо.


person Community    schedule 09.06.2009    source источник


Ответы (2)


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

Используя кроссплатформенный комплект (AIR / java):

  • Меньше работы, теоретически должно быть быстрее построить
  • Общий язык и инструментарий, только одно, чему нужно научиться
  • Добавление новой поддерживаемой платформы должно быть простым (иш), установщик сборки, отладка обеспечивают интеграцию с любой собственной платформой и т. Д.
  • Существует тенденция к реализации только функции наименьшего общего знаменателя. Примером этого может быть java File api. Он поддерживает только основные концепции файлов, в которых, как и в Windows, OSX и Linux, есть добавление
  • По-прежнему может потребоваться код интеграции для конкретной платформы (возможно, собственный), чтобы получить приемлемый уровень интеграции.

Использование собственных наборов инструментов:

  • Многому нужно научиться, переход между Windows MFC (или .Net winforms) и Cococa будет довольно неприятным
  • У вас будут не только разные языки, но и разные инструменты.
  • Нет предела или подвесного потолка тому, что может быть достигнуто с помощью собственного инструментария, дает вам доступ ко всему
  • Сделать так, чтобы ваше приложение выглядело так, будто оно принадлежит платформе (важно для Mac), в значительной степени нестандартно

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

person Gareth Davis    schedule 09.06.2009
comment
Небольшое исправление: для AIR нет необходимости в интеграции для конкретной платформы, поскольку AIR не допускает и не поддерживает интеграцию для конкретной платформы. ;) - person fenomas; 21.06.2009

Многое зависит от того, какое приложение вы будете писать. Я использую Adobe AIR для множества собственных инструментов.

Если вы напишете для AIR, вы получите нечто похожее на веб-страницу. Это нормально, потому что люди чувствуют себя как дома, работая с интерфейсом браузера - может быть, даже больше, чем с родным приложением.

Но да, у вас есть ограничения.

Так какое у тебя приложение?

person Nosredna    schedule 09.06.2009