разработка кросс-платформы iOS / Android [закрыто]



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



Мне было интересно, какие кросс-платформенные решения доступны и насколько хорошо они работают на практике. Я думал о веб-приложениях-возможно, используя jQuery Mobile или Титан, или Adobe Вспышка / Flex / Воздух. У меня также еще нет Mac, в который мне, вероятно, придется инвестировать.



Итак, мои вопросы :




  1. какие кросс-платформенные среды разработки существуют для iOS / Android (и/или других устройств)?


  2. каков ваш опыт работы с этими инструментами? (это то, что я действительно хочу знать)


729   9  

9 ответов:

отказ от ответственности: я работаю в компании, Particle Code, которая делает кросс-платформенный фреймворк. Есть тонна компаний в этом пространстве. Новые, кажется, появляются каждую неделю. Хорошая новость для вас: у вас есть много вариантов.

эти структуры используют разные подходы, и многие из них принципиально предназначены для решения различных проблем. Некоторые из них сосредоточены на Играх, некоторые сосредоточены на приложениях. Я бы задал следующие вопросы:

Что вы хотите написать? Корпоративное приложение, приложение личной производительности, игра-головоломка, шутер от первого лица?

какую среду разработки вы предпочитаете? IDE или обычный текстовый редактор?

У вас есть сильные чувства по поводу языков программирования? Из фреймворков, с которыми я знаком, вы можете выбрать ActionScript, C++, C#, Java, Lua и Ruby.

моя компания больше в игровом пространстве, поэтому я не играл так много с фреймворками JavaScript+CSS, как Титан, помощью PhoneGap и Sencha. Но я могу рассказать вам немного о некоторых игровых фреймворках. Игры и богатые интернет-приложения-это область, где кросс-платформенные фреймворки могут сиять, потому что эти приложения, как правило, придают больше значения визуальной уникальности и меньше смешиваются с родными UIs. Вот несколько рамок для поиска:

  • единство www.unity3d.com - это движок 3D-игр. Это действительно не похоже на любое другое развитие среда, в которой я работал. Вы строите сцены с 3D-моделями и определяете поведение, прикрепляя сценарии к объектам. Вы можете писать сценарии на JavaScript, C# или Boo. Если вы хотите написать 3D-игру на основе физики, которая будет работать на iOS, Android, Windows, OS X или консолях, это, вероятно, инструмент для вас. Вы также можете писать 2D-игры с использованием 3D-ресурсов-прекрасным примером этого является инди-игра Макс и волшебный маркер, 2D-физический боковой скроллер, написанный в Unity. Если ты этого не знаешь, я ... рекомендуем проверить его (особенно если есть какие-либо дети в вашем доме). Max доступен для ПК, Wii, iOS и Windows Phone 7 (хотя последняя версия является портом, так как Unity не поддерживает WinPhone). Unity поставляется с некоторыми образцами игр в комплекте с 3D-активами и текстурами, что действительно помогает ускорить работу с тем, что может быть довольно сложной средой.

  • Корона www.anscamobile.com/corona это 2D игровой движок, который использует Lua скриптовый язык и поддерживает iOS и Android. Точка продажи Corona-это возможность очень быстро писать игры на основе физики в нескольких строках кода, и большое количество игр на основе Corona в магазине приложений iOS является свидетельством его успеха. Окружающая среда очень скудная, что понравится некоторым людям. Он поставляется с симулятором и отладчиком. Вы добавить свой текстовый редактор, и у вас есть среда разработки. Базовый SDK не содержит никаких компонентов пользовательского интерфейса, таких как кнопки или списки, но дополнение CoronaUI доступно для подписчиков.

  • частица SDK www.particlecode.com это несколько более общее кросс-платформенное решение с фоном в играх. Вы можете писать на Java или ActionScript, используя модель приложения MVC. Он включает в себя среду IDE на основе Eclipse с редактором пользовательского интерфейса WYSIWYG. В настоящее время мы поддерживаем создание для устройств Android, iOS, webOS и Windows Phone 7. Вы также можете вывести Flash или HTML5 для сеть. Фреймворк изначально был разработан для многопользовательских социальных онлайн игр, таких как покер и нарды, и подходит для 2D игр и приложений со сложной логикой. Платформа поддерживает 2D-графику и включает в себя 2D-физический движок.

Примечание:

...

по состоянию на 1 января 2012 года, [Код Частиц] больше не будет официально поддерживать [Particle SDK платформа].

источник

  • AirPlay SDK www.madewithmarmalade.com - это платформа C++, которая позволяет разрабатывать как в Visual Studio, так и в Xcode. Он поддерживает как 2D и 3D графики. Задачи по AirPlay с iOS, Android, Bada, Symbian, webOS и Windows Mobile 6. У них также есть надстройка для создания приложений AirPlay для PSP. Мой C++ очень ржавый, я не играл с ним много, но он выглядит круто.

с точки зрения кривой обучения, я бы сказал, что у Unity была самая крутая кривая обучения (для меня), корона была самой простой, а частица и воздушная игра где-то посередине.

еще один интересный момент заключается в том, как фреймворки обрабатывают различные форм-факторы. Корона поддерживает динамическое масштабирование, которое будет знакомо разработчикам Flash. Это очень простой в использовании, но означает, что вы в конечном итоге тратить пространство экрана при переходе от экрана 4:3, как iPhone к 16:9, как новые устройства QHD Android. Редактор пользовательского интерфейса Particle SDK позволяет создавать гибкие макеты, которые масштабируются, но также позволяет настраивать макеты для отдельных размеров экрана. Это занимает немного больше времени, но позволяет сделать приложение выглядеть на заказ для каждого экрана.

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

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

надеюсь, что это помогает.

MonoTouch и MonoDroid, но что произойдет с этой частью Attachmate сейчас, можно только догадываться. Конечно, даже с моно-решениями вы все еще создаете не кросс-платформенные представления, но идея заключается в повторном использовании бизнес-логики.

следите за http://www.xamarin.com/ будет интересно посмотреть, что они придумают.

мой опыт с созданием чего-то очень простого в PhoneGap+jQuery Mobile был прекрасным. Я смог сделать это быстро для iOS. Однако он не работал на моих телефонах Android без внесения некоторых изменений. Проект был очень простым приложением, чтобы сделать фотографии и разместить их на веб-сайте. И в конце дня он чувствовал себя" неуклюжим " по сравнению с настоящим родным приложением.

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

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

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

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

хотя я только начал смотреть на эту область разработки, я думаю, что это сводится к этой основной разнице: некоторые инструменты сохраняют исходный код, а некоторые-порт для native...

например, PhoneGap, который просто держит в HTML и CSS/JS-код, который вы пишете, и обертывает его в достаточном код iOS, чтобы квалифицировать в качестве приложения, в то время как платформе Appcelerator предоставляет вам проект Xcode...так что если вы не знакомы с iOS, то что не дают никакой пользы к вам за помощью PhoneGap, но если вы DO знайте немного, что может дать вам немного больше возможностей для настройки собственных версий после больших усилий по кодированию.

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

и да, чтобы действительно представить apple, вам нужно будет получить mac, но если это не ваша основная рабочая платформа, вы можете пойти дешево.

капучино или PhoneGap.

иногда, хотя попытка найти ярлык не экономит ваше время или дать вам сопоставимый конечный продукт.

Если вы когда-либо использовали LUA, вы можете попробовать Corona SDK может создавать приложения, которые работают на IOS и Android

http://developer.anscamobile.com/

Я загрузил его и перепутал некоторые, я нахожу LUA очень простым в изучении языка сценариев без обычных проблем/ограничений языка сценариев....

там же MoSync Mobile SDK

GPL и коммерческое лицензирование. Есть хороший обзор их подхода здесь.

существует также BatteryTech, который мы использовали в течение последних 18 месяцев и выпустили несколько игр от него. http://www.batterypoweredgames.com/batterytech

все C++, Android и iOS поддержка, все пользователи получают полный источник. Новый V2 включает в себя документацию.

Comments

    Ничего не найдено.