2013-11-24 4 views
0

Говоря собственный код, мы понимаем код, который выполняется, напрямую вызывая функции ЦП или ОС. Почему люди говорят, что Android пошел с Java, или Java является родным для разработки Android, когда Java выполняется на виртуальной машине? То же самое можно сделать для Objective-C и iOS. Почему люди так говорят?Что значит сказать, что Java является родным для Android, а Objective-C является родным для iOS?

+0

Люди-туманы, которые говорят «родной», не знают, что это значит, они обычно означают «нормальный» или «по умолчанию». C и C++ являются родными для Android. Java нет. – Simon

+0

Хорошо, но что это значит нормально? – Narek

+0

Ваш вопрос не имеет ничего общего с двумя языками, с которыми вы отметили его; и это действительно не связано с ОС. Он просто спрашивает смысл термина «родной». Не добавляйте эти теги повторно. –

ответ

3

Ни один из них не является «родным» для ОС. Оба являются языками, и они скомпилированы.

  • Цель С будет компилируются до сборки, которые могут быть непосредственно управлять процессором
  • Java будет компилируются в байт-код, который будет интерпретироваться с помощью виртуальной машины Java (а именно Dalvík)
  • начиная с Android 4.4, для Android появилась новая виртуальная машина: ART, она получит весь байт-код, скомпилированный в сборке, но пока это экспериментально.

С помощью Objective C вы можете утверждать, что язык, используемый для создания приложений, совпадает с языком для кодирования ОС. Для Android было бы сложнее сказать об этом. ОС построена в основном на C, некоторые части на Java, но сам API Android также состоит из сочетания C и Java.

0

Android Native Library, позволяет реализовать части вашего приложения, используя языки родного кода, такие как C и C++, позволяет писать собственный код. JAVA - не является родным. На уровне байтового кода Android не использует Java. Источником является Java, но он не использует JVM.

ПОЧЕМУ JAVA? Android работает на разных аппаратных платформах. Вам нужно будет скомпилировать и оптимизировать свой собственный код для каждой из этих платформ! Why does Android use Java?

Смежные вопросы