Отказ от ответственности: я работаю в компании 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:
Сегодня мы объявили о приобретении Particle Code компанией Appcelerator, создателем кроссплатформенной платформы Titanium.
...
С 1 января 2012 года [ Particle Code ] больше не будет официально поддерживать платформу [ 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 самая крутая кривая обучения (для меня), Corona была самой простой, а Particle и Airplay находятся где-то посередине.
Еще один интересный момент - это то, как фреймворки работают с различными форм-факторами. Corona поддерживает динамическое масштабирование, знакомое разработчикам Flash. Это очень легко использовать, но это означает, что вы в конечном итоге тратите пространство экрана при переходе с экрана 4: 3, такого как iPhone, на 16: 9, как новые устройства qHD Android. Редактор пользовательского интерфейса Particle SDK позволяет создавать гибкие масштабируемые макеты, но также позволяет настраивать макеты для отдельных размеров экрана. Это займет немного больше времени, но позволит вам настроить приложение для каждого экрана.
Конечно, то, что работает для вас, зависит от вашего индивидуального вкуса и стиля работы, а также от ваших целей, поэтому я рекомендую загрузить пару этих инструментов и попробовать их. Все эти инструменты можно попробовать бесплатно.
Кроме того, если бы я мог просто сделать объявление для общественности - большинство этих инструментов действительно активно разрабатываются. Если вы найдете фреймворк, который вам нравится, обязательно отправьте отзыв и сообщите им, что вам нравится, что вам не нравится и функции, которые вы хотели бы видеть. У вас есть реальная возможность повлиять на то, что войдет в следующие версии этих инструментов.
Надеюсь это поможет.