Я некоторое время занимался разработкой приложений для Android на Java и начинаю понимать это. Однако, если я хочу начать работу с версией iOS, мне нужно все кодировать с нуля, что, в общем, нежелательно.
Мне было интересно, какие кроссплатформенные решения существуют и насколько хорошо они работают на практике. Я думал о веб-приложениях - возможно, с использованием jQuery Mobile или Titanium или Adobe Flash / Flex / Air. У меня еще нет Mac, в который, вероятно, придется вложиться.
Итак, мои вопросы:
Какие кроссплатформенные среды разработки существуют для iOS / Android (и / или других устройств)?
Какой у вас был опыт работы с этими инструментами? (это то, что я действительно хочу знать)
android
ios
cross-platform
Алистер
источник
источник
Ответы:
Отказ от ответственности: я работаю в компании Particle Code, которая создает кросс-платформенный фреймворк. В этом пространстве масса компаний. Кажется, что каждую неделю появляются новые. Хорошие новости для вас: у вас есть большой выбор.
Эти структуры используют разные подходы, и многие из них в основном предназначены для решения разных проблем. Некоторые из них ориентированы на игры, некоторые - на приложения. Я бы задала следующие вопросы:
Что вы хотите написать? Корпоративное приложение, персональное приложение для повышения производительности, игра-головоломка, шутер от первого лица?
Какую среду разработки вы предпочитаете? IDE или простой текстовый редактор?
Есть ли у вас сильные чувства к языкам программирования? Из знакомых мне фреймворков вы можете выбрать ActionScript, C ++, C #, Java, Lua и Ruby.
Моя компания больше занимается игровым пространством, поэтому я не так много играл с фреймворками JavaScript + CSS, такими как Titanium, PhoneGap и Sencha. Но я могу рассказать вам немного о некоторых фреймворках, ориентированных на игры. Игры и многофункциональные интернет-приложения - это область, в которой кроссплатформенные фреймворки могут проявить себя, потому что эти приложения, как правило, придают большее значение визуальной уникальности и меньше сочетаются с собственным пользовательским интерфейсом. Вот несколько фреймворков, на которые стоит обратить внимание:
Unity www.unity3d.com - движок для 3D-игр. Это действительно не похоже на любую другую среду разработки, в которой я работал. Вы создаете сцены с 3D-моделями и определяете поведение, прикрепляя сценарии к объектам. Вы можете писать скрипты на JavaScript, C # или Boo. Если вы хотите написать игру, основанную на 3D-физике, которая будет работать на iOS, Android, Windows, OS X или консолях, этот инструмент, вероятно, для вас. Вы также можете писать 2D-игры, используя 3D-ресурсы - прекрасным примером этого является инди-игра Max and the Magic Marker., 2D-скроллер на основе физики, написанный на Unity. Если вы этого не знаете, я рекомендую проверить это (особенно, если в вашей семье есть дети). Max доступен для ПК, Wii, iOS и Windows Phone 7 (хотя последняя версия является портом, поскольку Unity не поддерживает WinPhone). Unity поставляется с некоторыми примерами игр с 3D-активами и текстурами, которые действительно помогают разобраться в довольно сложной среде.
Corona www.anscamobile.com/corona - это движок для 2D-игр, который использует язык сценариев Lua и поддерживает iOS и Android. Смысл продажи Corona - это возможность очень быстро писать игры на основе физики с помощью нескольких строк кода, и большое количество игр на основе Corona в магазине приложений iOS является свидетельством его успеха. Среда очень скудная, что понравится некоторым людям. Поставляется с симулятором и отладчиком. Вы добавляете текстовый редактор по выбору, и у вас есть среда разработки. Базовый SDK не включает в себя какие-либо компоненты пользовательского интерфейса, такие как кнопки или списки, но надстройка CoronaUI доступна для подписчиков.
Particle SDK www.particlecode.com - это немного более общее кроссплатформенное решение с опытом работы в играх. Вы можете писать на Java или ActionScript, используя модель приложения MVC. Он включает IDE на основе Eclipse с редактором пользовательского интерфейса WYSIWYG. В настоящее время мы поддерживаем сборку для устройств Android, iOS, webOS и Windows Phone 7. Вы также можете выводить Flash или HTML5 для Интернета. Фреймворк изначально был разработан для сетевых многопользовательских социальных игр, таких как покер и нарды, и подходит для 2D-игр и приложений со сложной логикой. Фреймворк поддерживает 2D-графику и включает 2D-физический движок.
NB:
Источник
Что касается кривой обучения, я бы сказал, что у Unity самая крутая кривая обучения (для меня), Corona была самой простой, а Particle и Airplay находятся где-то посередине.
Еще один интересный момент - это то, как фреймворки работают с различными форм-факторами. Corona поддерживает динамическое масштабирование, знакомое разработчикам 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) и, следовательно, основным языком большинства крупных кроссплатформенных приложений.
источник
Хотя я только начал изучать эту область разработки, я думаю, что все сводится к этой основной разнице: некоторые инструменты сохраняют исходный код, а некоторые переносят на нативный ...
например, PhoneGap просто хранит код HTML / CSS / JS, который вы пишете, и обертывает его достаточным количеством кода iOS, чтобы считаться приложением, тогда как Appcelerator предоставляет вам проект XCode ... так что, если вы не знакомы с iOS, тогда это не принесет вам никаких преимуществ по сравнению с PhoneGap, но если вы ДЕЙСТВИТЕЛЬНО знаете немного, это может дать вам немного больше возможностей для настройки собственных версий после ваших больших усилий по кодированию.
Я сам не использовал appcelerator, но пару недель назад работал над проектом, в котором один из членов нашей команды создал с его помощью целое приложение для iPad примерно за 24 часа.
И да, чтобы действительно представить Apple, вам понадобится Mac, но если это не ваша основная рабочая платформа, вы можете уйти дешево.
источник
Капучино или PhoneGap .
Иногда попытка найти ярлык не экономит ваше время и не дает сопоставимого конечного продукта.
источник
Также есть MoSync Mobile SDK
GPL и коммерческое лицензирование. Там хороший обзор их подхода здесь .
источник
Если вы когда-либо использовали LUA, вы можете попробовать Corona SDK может создавать приложения, которые работают на IOS и Android.
https://coronalabs.com/
Я скачал его и кое-что испортил, я считаю LUA очень простым в изучении языком сценариев без обычных проблем / ограничений языка сценариев ....
источник
Также есть BatteryTech, который мы используем в течение последних 18 месяцев и выпустили на его основе несколько игр. http://www.batterypoweredgames.com/batterytech
Вся поддержка C ++, Android и iOS, все пользователи получают полный исходный код. Новая версия 2 включает привязки lua.
источник