Я подумываю открыть проект по созданию виртуальной машины i-phone для Android 2.0 (читайте Motorola droid), прежде чем я это сделаю, у меня есть несколько вопросов:

  1. Есть ли тот, который я только что пропустил?

  2. Может ли Droid Arm Cortex A8 с пониженной частотой до 550 МГц (спасибо Википедии) обрабатывать уровень абстракции I-Phone?

  3. С точки зрения производительности лучше всего написать приложение на C ++, но для здоровья системы не лучше ли поставить iphone vm поверх dalvik vm? Какой подход будет лучше и почему.

3
JERiv 27 Дек 2009 в 03:03

2 ответа

Лучший ответ

Есть ли тот, который я только что пропустил?

Нет.

Может ли Droid Arm Cortex A8 с пониженной тактовой частотой до 550 МГц (спасибо Википедии) работать с Iphone?

Нет, но проблема не в процессоре.

С точки зрения производительности лучше всего написать приложение на C ++, но для здоровья системы не лучше ли поставить iphone vm поверх dalvik vm? Какой подход будет лучше и почему.

Вполне возможно, что вы могли бы создать реализацию Objective-C на C / C ++, которая могла бы работать на Android через Android NDK, но библиотеки NDK имеют ограниченный доступ к системе, что означает, что вы не сможете многое сделать в Objective-C.

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

Невозможно создать реализацию Objective-C, которая будет работать на виртуальной машине Dalvik и иметь производительность, аналогичную нативной реализации Objective-C на iPhone.

Обратите внимание, что я даже не обсуждал реализацию библиотек Какао и тому подобного, так как я понятия не имею, как вы можете сделать это в разумные сроки без нарушения авторских прав, что приведет к тому, что вы предадитесь забвению в суд (см .: Apple v. Pystar ). Единственный способ избежать этого - полностью реализовать чистую комнату, и специалисты WINE укажут, как они пытался сделать это для Windows около 17 лет и не добился полного успеха.

Если ваша цель - однажды написать приложения, которые будут работать на Android и iPhone, рассмотрите возможность PhoneGap, Appcelerator Titanium Mobile и аналогичные наборы инструментов.

11
CommonsWare 27 Дек 2009 в 03:25
Полагаю, я был неясен. Моя цель, к сожалению, не в том, чтобы писать приложения для I-Phone и Android. Моя цель - запустить приложение I-Phone в системе Android без доступа к исходному коду. Что касается процессора, я понимаю, что это не единственная проблема, но я считал его ограничивающим реагентом. Спасибо за ответ, я не привык писать код для встраиваемых устройств, отсюда и очевидное незнание. Помимо Cocoa lib, насколько дорого обходится система своевременному компилятору для байт-кода o-c в байт-код dalvik?
 – 
JERiv
27 Дек 2009 в 08:24
2
Нарушение авторских прав - не единственная ваша забота при попытке воссоздать фреймворки Какао. Apple подала несколько патентных заявок на такие элементы, как Core Animation: freepatentsonline.com/y2008/0030504.html < / а>
 – 
Brad Larson
28 Дек 2009 в 02:57
4
Одно дело - воспроизвести API-интерфейсы, чтобы вы могли кросс-компилировать приложения Cocoa (GNUStep и Cocotron работали над этим в течение многих лет), а другое - полностью создать полный системный эмулятор для iPhone с включенной средой выполнения. Для написания примерных эмуляторов гораздо более простых систем видеоигр потребовалось много человеко-лет, для которых обычно требуются системные спецификации, намного превышающие характеристики исходных систем.
 – 
Brad Larson
28 Дек 2009 в 03:04
  1. Нет
  2. Нет, даже близко
  3. Это спорно, честно говоря, независимо от языка, на котором вы это пишете, вы даже не приблизитесь к приемлемой скорости. Я полагаю, что на самом деле отвечу на вопрос, как можно ближе к металлу. Опять же, в любом случае это дурацкая затея.
3
Serapth 27 Дек 2009 в 03:07