2012-02-16 8 views
2

Я новичок в мобильных устройствах, и я заинтересован в разработке приложения для iOS, Android и Windows Phone 7. И я бы хотел написать меньше кода. В настоящее время я вижу, что C++ может хорошо соответствовать.программирование перекрестных мобильных платформ

Я знаю, что: можно использовать C++ с Objective-C даже в одном файле вместе для iOS, и я могу связать свои C++-библиотеки.

можно использовать C++ через NDK на Android. Итак, я могу написать большую часть моего приложения на C++ (за исключением некоторых очень специфичных для платформы частей) и сделать вызовы в моем приложении через какой-то открытый фасад, верно?

Что можно сделать с помощью Windows Phone 7? Я знаю, что это основано на .NET. А в .NET можно вызвать код из C++ win32 dll. Но что с wp7? Я бы не хотел переписывать все на C#.

Или, может быть, вся эта кроссплатформенная игра не очень хорошая идея. Есть ли какие-то критические подводные камни? Может быть, лучше иметь Obj-C только для iOS, Java только для Android, а C# - только с помощью silverlight и xna, и поддерживать весь этот зоопарк отдельно?

Опытные мобильные устройства, поделитесь своими впечатления.

ответ

2

Обратите внимание, что на Android, C++ не поддерживается полностью. Это больше о чистом C.

Программирование на C на Android в основном зарезервировано для игр. Если вы не хотите создавать свой интерфейс в OpenGL, забудьте об этом и просто напишите на Java. В любом случае вам понадобится небольшая оболочка Java.

То же самое относится к iOS - если вы используете только OpenGL, вы можете писать все на C и использовать obj-c только как небольшую оболочку приложения.

Из этого вы можете видеть, что это зарезервировано в основном для игр. Имеются инструменты (например, http://www.madewithmarmalade.com/), которые могут помочь вам легко разработать игры openGL)

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

Вы должны понимать, что если вы хотите, чтобы ваше приложение выглядело идеально на разных платформах, вы должны написать интерфейс отдельно и для каждой платформы. Даже дизайн пользовательского интерфейса должен быть другим. iPhone и iPad нуждаются в множестве интересных анимаций, они должны быть идеальными для портретного пейзажа (включая вращающуюся анимацию), используя панель навигации, панель инструментов, разделенное изображение ... Пользователи Android ожидают, что что-то еще - другая (меню) панель инструментов, вы необходимо перенести его на множество разных разрешений экрана, и пользовательский интерфейс будет другим.

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

0

Посмотрите на phonegap. Он утверждает, что является кросс-платформенным, хотя я уверен, что он доводит функции до общего знаменателя.

2

Windows Phone 7 пока не поддерживает собственный код. Посмотрите на этот вопрос для получения дополнительной информации: Is it possible to program for Windows Phone 7 in standard C++ only?

Если вы хотите закодировать для этих трех платформ и многократно использовать то, что вы пишете, вы можете ввести код на C# и использовать Mono from Xamarin для запуска своего кода на iOS и Android.

-1

У меня неплохой опыт разработки приложений для iOS и Android с Titanium Appcelerator. Код написан на JavaScript и сопоставлен с обычными вызовами, поэтому вы получаете собственный внешний вид.

PhoneGap имеет другой подход. Приложение написано в HTML, CSS и Javascript. Преимущество состоит в том, что он поддерживает более разнообразные формы. В том числе iOS, Android и Windows Phone 7.

-1

Среди существующих существующих платформ большинство из них поддерживают HTML5, а javascript, включая iOS, Android и WP7, также может поддержать будущий WP8.

Таким образом, рекомендуется писать приложения, используя HTML5 и javascript.

те же приложения JavaScript HTML5 могут быть размещены на отдельных платформах, используя структуру, которая обеспечивает библиотеки для нескольких платформ, таких как PhoneGap

Morever PhoneGap с открытым исходным кодом мобильной рамки свободно использовать.

Также вы можете передать ссылку на Top five HTML5 frameworks for Mobile developement.

-1

Вы смотрите на MonoTouch и Mono для Android от Xamarin? http://xamarin.com/

Сообщалось, что вы можете повторно использовать до 90% своей логики приложений и создавать собственные пользовательские интерфейсы пользователя/пользовательский интерфейс с доступом ко всем API-интерфейсам на родных платформах и датчикам устройств.

+0

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

Смежные вопросы