Компилятор Ковчега
![]() | В этой статье есть несколько проблем. Пожалуйста, помогите улучшить его или обсудите эти проблемы на странице обсуждения . ( Узнайте, как и когда удалять эти шаблонные сообщения )
|
Разработчик(и) | Хуавей |
---|---|
Первоначальный выпуск | 9 августа 2019 г |
Написано в | АркТС , Цанцзе , JS , C , C++ |
Операционная система | EMUI ( HMS Apk приложения ), HarmonyOS , OpenHarmony , Oniro OS |
Платформа | ARM , RISC-V , x86 , x64 , LoongArch, Линси [1] |
Тип | Компилятор , Среда выполнения , Интерфейс компилятора , Инструментарий |
Лицензия | Смешанное: проприетарная версия ( HarmonyOS ), лицензия Apache ( OpenHarmony , Oniro OS, Android ArkCompiler) |
Ark Compiler , также известный как ArkCompiler , представляет собой унифицированную платформу компиляции и выполнения, которая поддерживает совместную компиляцию и работу на разных языках программирования и платформах микросхем, а также в операционных системах с открытым исходным кодом OpenHarmony , Oniro OS, а также проприетарной HarmonyOS с одноядерной системой HarmonyOS NEXT, включенной на собственном приложении в программировании на основе событий в единой среде разработки и ранее созданном для Android на базе EMUI для смартфонов и планшетов Huawei с HMS -приложениями с поддержкой apk в AppGallery , которые повышают производительность приложений. [2] Он поддерживает множество динамических и статических языков программирования, таких как JS , TS и ArkTS . Это база компиляции и времени выполнения, которая позволяет OpenHarmony, Oniro OS вместе с HarmonyOS NEXT работать на различных устройствах, таких как смартфоны, мобильные телефоны, ПК, планшеты, телевизоры, автомобили и носимые устройства. ArkCompiler состоит из двух частей: набора инструментов компилятора и среды выполнения. [3]
Первоначально компания Huawei разместила исходный код Ark Compiler для Android платформы на GitHub 9 сентября 2019 года, когда они переходили от операционной системы из-за санкций США . [4] Затем в начале февраля 2022 года компания предоставила Ark Compiler с открытым исходным кодом с помощью OpenArkCompiler в рамках проекта с открытым исходным кодом Huawei Ark Compiler (HACOSP). [5] и ArkJS_runtime — в сентябре 2021 года предыдущего года, после двух лет создания в августе 2019 года. [6]
Обзор
[ редактировать ]ArkCompiler имеет встроенную компонентную и настраиваемую многоязычную платформу компиляции и времени выполнения OpenHarmony и HarmonyOS с HarmonyOS NEXT . Он содержит основные компоненты, такие как компилятор, набор инструментов и среда выполнения. Он поддерживает компиляцию и запуск языков программирования высокого уровня на многочиповой платформе. ArkCompiler JS Runtime обеспечивает возможность компиляции и запуска языка JavaScript (JS) на стороне операционной системы OpenHarmony.
ArkCompiler JS Runtime состоит из двух частей, таких как набор инструментов компилятора JS и среда выполнения JS. Набор инструментов компилятора JS компилирует исходный код JS в байт-коды ArkCompiler. Среда выполнения JS выполняет сгенерированные байт-коды ArkCompiler. [7]
Ядро выполнения ArkCompiler
[ редактировать ]Разработчик(и) | Хуавей |
---|---|
Написано в | АркТС , Цанцзе , C , C++ , JS |
Операционная система | ГармонияОС |
Платформа | ARM , RISC-V , x86 , x64 , LoongArch, Линси [8] |
Тип | Среда выполнения |
Лицензия | Собственный |
Разработчик(и) | Хуавей |
---|---|
Написано в | АркТС |
Операционная система | HarmonyOS ( HarmonyOS NEXT ), OpenHarmony , Oniro OS |
Платформа | ARM , RISC-V , x86 , x64 , LoongArch, Линси [9] |
Тип | Среда выполнения , интерфейс компилятора , набор инструментов |
Лицензия | Собственная ( лицензия Apache OpenHarmony ArkCompiler Runtime Core), общественная лицензия Eclipse (ОС Oniro) |
Общий модуль среды выполнения языка в операционной системе OpenHarmony , называемый ArkCompiler Runtime Core, также созданный как Ark Runtime поверх HarmonyOS Runtime на базе текущей двойной платформы, наряду с единой платформой HarmonyOS NEXT на базе OpenHarmony , которая состоит из независимых от языка базовых библиотек времени выполнения, включая Файл ArkCompiler, инструменты, база и ISA. Файл ArkCompiler содержит байт-коды и информацию, необходимую для выполнения байт-кодов. Инструментарий поддерживает отладчик времени выполнения. База отвечает за реализацию утилит, связанных с платформой. Функция ISA обеспечивает общую архитектуру набора команд, независимую от языка, что позволяет запускать приложения HarmonyOS независимо от различных наборов инструкций и наборов микросхем на оборудовании с отличной совместимостью разнообразного набора оборудования и функциональной совместимостью между программными и аппаратными экосистемами HarmonyOS, Oniro и OpenHarmony. [10]
Среда выполнения ArkCompiler JS
[ редактировать ]ArkCompiler JS Runtime — это среда выполнения JS по умолчанию в OpenHarmony. Он поддерживает библиотеки ECMAScript и эффективные библиотеки контейнеров. Он также предоставляет набор собственных API-интерфейсов для взаимодействия с C++ и JS , а также различные сборщики мусора, обладающие высокой производительностью. [11]
Среда выполнения TypeScript Ark
[ редактировать ]ARK TypeScript Runtime — это среда выполнения, используемая в приложениях ArkTS , созданных на основе прежней версии HarmonyOS 3.0/OpenHarmony 3.1 API 8 eTS (extendedTypeScript) на OpenHarmony, а также в приложениях HarmonyOS, использующих преимущества специальной HarmonyOS NEXT базовой операционной системы на базе OpenHarmony. Он содержит распределитель и сборщик мусора (GC) для объектов ArkTS/JS, стандартную библиотеку, соответствующую спецификации ECMAScript, интерпретатор для запуска байт-кода ARK (abc), сгенерированного интерфейсными компонентами ARK, встроенный кеш для ускорения, статически типизированный компилятор, функциональный интерфейс C++/C для разработки приложений Native API (NAPI) во время выполнения и другие модули в предварительной компиляции через DevEco Studio, начиная с версии 3.1.1 как для HarmonyOS 3.1 SDK, так и для OpenHarmony 3.2 SDK API. 9. [12]
ets_frontend
[ редактировать ]ets_frontend — это внешний инструмент в подсистеме выполнения ARK, который объединяет компонент ace-ets2bundle, который поддерживает преобразование файлов языка программирования ETS в файлы байт-кода ARK. Они соответствуют разработке приложений ArkTS в OpenHarmony и разработке HarmonyOS в системе HarmonyOS NEXT. [13]
Набор инструментов ArkCompiler
[ редактировать ]ArkCompiler Toolchain предоставляет разработчикам инструменты отладки для разработки приложений ArkTS , такие как Debugger, CPUProfiler и HeapProfiler. Возможности отладки и настройки, предоставляемые Ark Toolchain, используются через DevEco Studio IDE, которая использует среду выполнения ArkCompiler для предоставления разработчикам информации, связанной со средой выполнения. [14]
Ссылки
[ редактировать ]- ^ «OpenHarmony 3.0 успешно адаптировал чип Loongson 1C300B» . Обновление Хуавей . 15 декабря 2021 г. . Проверено 15 декабря 2021 г.
- ^ Сиддики, Аамир (22 июня 2019 г.). «Объяснение компилятора Ark: как компилятор приложений Huawei может улучшить производительность приложений Android» . Разработчики XDA . Проверено 12 февраля 2024 г.
- ^ «Среда выполнения ArkCompiler» . OpenAtom Gitee . Проверено 12 февраля 2024 г.
- ^ Амит (9 сентября 2019 г.). «Компилятор Huawei Ark официально с открытым исходным кодом с GitHub для самостоятельного размещения» . Обновление Хуавей . Проверено 12 февраля 2024 г.
- ^ Саркар, Эми (9 февраля 2022 г.). «Выпущен OpenArkCompiler 1.0, проект с открытым исходным кодом Huawei Ark Compiler (HACOSP)» . Отдел новостей ХК . Проверено 12 февраля 2024 г.
- ^ Мишра, Яш (7 сентября 2021 г.). «Среда выполнения Ark Compiler JS стала открытым исходным кодом в Huawei HarmonyOS» . Отдел новостей ХК . Проверено 12 февраля 2024 г.
- ^ «Обзор» . OpenAtom Gitee . Проверено 12 февраля 2024 г.
- ^ «OpenHarmony 3.0 успешно адаптировал чип Loongson 1C300B» . Обновление Хуавей . 15 декабря 2021 г. . Проверено 15 декабря 2021 г.
- ^ «OpenHarmony 3.0 успешно адаптировал чип Loongson 1C300B» . Обновление Хуавей . 15 декабря 2021 г. . Проверено 15 декабря 2021 г.
- ^ «Ядро выполнения» . OpenAtom Gitee . Проверено 12 февраля 2024 г.
- ^ «Среда выполнения ArkCompiler JS» . OpenAtom Gitee . Проверено 12 февраля 2024 г.
- ^ «ArkCompiler JS Runtime — ets Runtime» . OpenAtom Gitee . Проверено 12 февраля 2024 г.
- ^ "ets_frontend" . OpenAtom Gitee . Проверено 12 февраля 2024 г.
- ^ «Компоненты набора инструментов Ark» . OpenAtom Gitee . Проверено 12 февраля 2024 г.