Подтвердить что ты не робот

Android & iOS: как разработать для обоих?

Я хочу разработать приложение для устройств Android и iOS. Есть ли способ разработать приложение один раз и развернуть на обоих? Или это необходимо разрабатывать для каждой платформы отдельно?

4b9b3361

Ответ 1

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

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

Есть также несколько опций, таких как Titanium или PhoneGap, которые являются своего рода гибридными сетевыми/родными системами, они используют веб-технологии для создания собственных приложений.

Ответ 2

У вас есть http://monotouch.net и http://monodroid.net. Таким образом, вы можете иметь общую бизнес-логику и только повторно развивать свой интерфейс.

Ответ 3

Все зависит от типа приложения, которое вы хотите разработать. Если это игра, я предлагаю вам написать большую часть ее как собственный код и воспользоваться тем преимуществом, что OpenGL ES 2.0 поддерживается на обеих платформах. Очевидно, что все ваши Java-коды не будут многократно использоваться в iOS, поэтому все, что может быть сделано в качестве переносной родной библиотеки, помогает уменьшить количество неиспользуемого кода.

Ответ 4

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

Ниже приведены некоторые примеры, с которыми у меня есть опыт.

Родной опыт

Webview

Ответ 5

Используя Qt, которая является платформой С++ для кросс-платформенного развития, которая имеет как LGPL, так и коммерческую лицензию, вы можете разрабатывать для обеих платформ и просто перекомпилировать свое приложение из того же источника. В качестве бонуса вы можете настроить таргетинг на Windows, Linux и Mac.

Имейте в виду, однако, что Qt предоставляет свои собственные элементы управления, поэтому виджеты не будут выглядеть как на Android, так и на iOS. Кроме того, как и для всех кросс-платформенных фреймворков, он предоставит вам самый низкий общий знаменатель с точки зрения возможностей.

От их официальный блог:

С Qt вы можете создавать действительно кросс-платформенные приложения, которые будут работать на настольных, встроенных и мобильных платформах. Qt 5.2 обеспечивает полную поддержку платформ Android и iOS и, таким образом, позволяет создавать кросс-платформенные мобильные приложения, которые упакованы и развернуты как в Google Play, так и в App Store с одной базы кода. Вместо написания двух версий одного и того же кода с двумя разными технологиями вы можете написать один раз с помощью Qt!

Apple App Store может не принимать приложения, которые используют dylib, однако, что заставляет вас использовать коммерческую лицензию для приложений с закрытым исходным кодом:

В iOS можно использовать динамически связанную версию библиотек Qt и связать их с приложением. Это позволяет приложению использовать лицензию LGPL для Qt, в то время как приложение само закрывается. Остается неизвестным, будут ли Apple принимать приложения, которые объединяют dylib в iOS App Store. Если Apple не принимает приложения, которые используют в комплекте поставки dylib в App Store, тогда необходимо будет связать Qt статически с приложением. И поскольку Qt для iOS-порта использует версию Qt LGPL, правила статической привязки к LGPL начнут работать - это может быть проблемой для приложений с закрытым исходным кодом.

Наконец, поскольку Qt - это среда С++, вам нужно будет использовать С++ для разработки вашего приложения.

Ответ 6

Codename One - это другое, для разработки Java на обеих платформах. Однако опыта с этим не было.

Ответ 7

Если это игра или прежде всего графическое приложение, BatteryTech Engine будет делать то, что вы хотите. Yo все еще нужно XCode для сборки для iOS, но в остальном это единственная основная база кода для обеих платформ.

Ответ 8

Я начал использовать NativeScript, и он выглядит многообещающим.

NativeScript - это то, как вы создаете кросс-платформенные, родные приложения для iOS и Android без просмотра веб-страниц. Используйте Angular, TypeScript или современный JavaScript, чтобы получить действительно собственный интерфейс и производительность при обмене навыками и кодом в Интернете. Получите 100% доступ к собственным API через JavaScript и повторное использование пакетов из NPM, CocoaPods и Gradle. Открытый исходный код и поддерживается Telerik.

Ответ 9

В последние несколько лет я использовал множество кросс-платформ, и с моей точки зрения Xamarin - лучшая, потому что в конце это, вы можете сказать, является ли приложение кросс-платформенным или нет. но с Xamarin он компилируется в native, поэтому нет очевидной разницы между ними с точки зрения пользовательского интерфейса. Вы можете начать здесь: https://www.xamarin.com