Intereting Posts
Установить маржу на RecyclerView программно «Ресурс не найден» при создании приложения для Android в IntelliJ 9.0 Maia Public Beta Создание приложения для камеры Android с использованием API-интерфейса Camera, который будет работать на всех устройствах Как конвертировать видео в базовые данные Как добавить функцию салфетки в Android CardView? Как очистить список последних проектов в Android Studio? Какая версия Apache HttpClient используется в Android 4.2.2 SDK? AudioTrack будет воспроизводить звук только один раз Collapsing ToolBar Layout всегда Colapse, если Show PopUp Пункт меню RecyclerView Android: установка элемента с запрограммированным щелчком для выбранного состояния Как добавить пустое пространство в конец ListView? Webview не поддерживает флеш-бокс на Android Jellybean Как превратить григорианский в китайский лунный календарь? Appcompatv7 – v21 Ящик для навигации, не показывающий значок гамбургера Как сделать фоновое изображение приложения Android

Поиск кросс-платформенного метода для базовой 2D / 3D графики для iOS и Android

Я разрабатываю приложение отдельно для Android и iOS, используя собственные SDK. Тем не менее, в приложении есть какой-то модуль, который должен поддерживать базовые 2D (он также может быть 3D), такие как наклон, масштабирование, поворот векторной графики + всевозможные необязательные причудливые эффекты на простых текстурированных плоскостях, например.

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

Я скрывался в Интернете для всех видов решений.

  1. Прежде всего, есть OpenGL, проблема в том, что я не знаком с кодированием OpenGL, и я не мог понять, будет ли код, который я буду писать с OpenGL, будет разделяться между двумя платформами. Кажется, никто на самом деле не пытался сделать это с NDK и т. Д.
  2. Существуют такие платформы, как

    а. Clutter (http://www.clutter-project.org/) – Который я не мог найти ни одного примера для его использования на мобильных устройствах.

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

Итак, вы, ребята, думаете, что можно разделить код 2d / 3d между iOS и Android? Если да, есть ли какой-нибудь метод, который вы могли бы порекомендовать?

Или я должен просто использовать собственный метод каждого устройства для 2D или 3D-графики?

Благодаря!

Kivy : язык межплатформенного программирования с открытым исходным кодом для написания чертежей, интерфейсов, визуальных эффектов OpenGL, что угодно, для Linux, Windows, MacOSX, Android и iOS. kivy.org

Вы можете потенциально отказаться от использования собственных виджетов Android или iOS для виджета Kivy, и вы будете иметь тот же интерфейс OpenGL на всех платформах.

EDIT 9/27/11 13:00: Я провел еще несколько исследований. В общем, вы должны проверить эти 4 рамки с открытым исходным кодом для себя и решить, какой из них лучше для вас (я мог бы перечислять коммерческие структуры, но их легко найти):

  1. Киви ( kivy.org )
    • Удивительная библиотека графического интерфейса и виджета.
  2. HaxeNME ( haxenme.org )
    • Очень красивый 2D / 3D API для создания графики OpenGL.
    • Удивительная кросс-платформенная поддержка. Лучшая из всех фреймворков.
    • К сожалению, библиотеки GUI или Widget не созданы.
  3. Qt Quick QML ( qt-project.org )
    • Очень красивый 2D / 3D API для создания графики OpenGL.
    • Подобно HTML, но для OpenGL. Уже знаете HTML и JavaScript? QML (Quick Markup Language) включает основные предметы первой необходимости, такие как текстовые поля, переключатели, флажки и т. Д., Которые можно анимировать и контролировать с помощью обработчиков событий. Анимации, обработчики событий и т. Д. В вашем приложении QML написаны на JavaScript; Разница заключается в том, что JavaScript компилируется вместо интерпретируемого.
    • Qt Quick действительно потрясающий; Мой личный фаворит. Прочитайте Qt Quick QML, а затем попробуйте приложение Animated Tiles для Android, чтобы увидеть потенциал Qt Quick. Новейшая версия Qt (очень скоро) поддерживает iOS, Android и Blackberry, а также все настольные ОС. Windows Phone работает, но скоро придет к выводу, что Qt Quick уже поддерживает платформу Metro 8 от Microsoft. Qt Quick очень приятный, но он не работает на каждой платформе, такой как HaxeNME.
  4. MoSync ( mosync.com )
    • Скрытый драгоценный камень. Эта структура требует большей степени воздействия. MoSync SDK обеспечивает кросс-платформенную платформу OpenGL, структуру HTML / JavaScript, похожую на PhoneGap, платформу NativeUI для написания приложений на разных платформах, которые используют собственные виджеты пользовательского интерфейса каждой платформы, и MAUI для написания графических интерфейсов C ++.
    • Если бы вы были Gunna, просто написав чистый OpenGL, я бы хотя бы рекомендовал проверить MoSync, поскольку он обеспечивает реализацию OpenGL ES 1.0 / 2.0 от 1 до 1.

Кроме того, если ваше приложение будет основано на форме (не так много анимированных, как игра), то PhoneGap может удовлетворить ваши потребности. Если вы используете правильные функции HTML5, вы можете создавать приложения, которые чувствуют себя родными (в отличие от многих ужасных и обескураживающих примеров). Если вы хотите попробовать приложение, сделанное с помощью PhoneGap, которое кажется «родным», попробуйте « Go 2012 ». Приложения Go 2012 доказывают, что если вы правильно используете HTML5, вы можете воспользоваться аппаратным ускорением на платформах (iOS, Android, Blackberry и Windows Phone (я тестировал их на всех)). Анимация (прокрутка и т. Д.) В Go 2012 – это анимация с аппаратным ускорением CSS3. Не позволяйте плохому качеству большинства приложений в витрине PhoneGap обмануть вас!

Используйте OpenGL ES и напишите код на C. Напишите оболочку NDK для Android. Теоретически, ваш открытый код GL C должен быть повторно использован между двумя платформами.

Вы когда-либо стадо о небольшом названии компании Adobe

Попробуйте использовать Air.

Люди не ценят тяжелую работу, которую сделала Adobe, но это самая сильная кросс-платформа, доступная на рынке!

ИТ поддержка:

  • Windows с поддержкой DirectX для ускорения вашего приложения, как в 3D, так и в 2D.
  • Linux
  • Android (2.2 и выше) с фоном OpenGL
  • IOS с OpenGL
  • BlackBerry

И еще много … Если вы хотите работать на высоком уровне, используйте Air!