stringtranslate.com

АркТС

ArkTS — это высокоуровневый многопарадигмальный компилируемый язык программирования общего назначения, разработанный Huawei, который представляет собой надмножество TypeScript с открытым исходным кодом , в свою очередь, надмножество JavaScript , ранее использовавшееся в версии HarmonyOS 3.0 в июле 2022 года, наряду с его усовершенствованным перкуссионом, расширенный TypeScript (eTS), созданный для разработки HarmonyOS как переход к декларативному программированию . ArkTS компилируется в машинный код с помощью предварительной компиляции Ark Compiler . ArkTS был впервые выпущен 30 сентября 2021 года на OpenHarmony , а набор инструментов ArkTS поставляется в DevEco Studio начиная с версии 3.1, выпущенной в 2022 году. [1] С момента выпуска OpenHarmony 4.0 26 октября 2023 года API-интерфейсы ArkTS были добавлены в сообщество открытого исходного кода, которое может внести свой вклад. [2]

Huawei планировала, что ArkTS будет поддерживать многие основные концепции, связанные с расширенным TypeScript (eTS) на основе TypeScript и, в свою очередь, JavaScript из предыдущих версий HarmonyOS 3.0 с разработкой декларативного пользовательского интерфейса ArkUI и императивной разработкой приложений 2.0 наряду с Java . ArkTS был представлен на конференции разработчиков Huawei (HDC) 2022 в ноябре 2022 года в выпуске HarmonyOS 3.1. [3] [4]

Он подвергся обновлению в HDC 2023 до HarmonyOS 4.0 API 10 и серьезному обновлению 18 января 2024 года на конференции разработчиков HarmonyOS Ecology, а также новому языку программирования Cangjie, анонсированному компанией Huawei, где оба языка программирования становятся основными языками для системы HarmonyOS NEXT операционной системы HarmonyOS. . [5] [6]

Текущая версия ArkTS была выпущена 26 октября 2023 г. для OpenHarmony 4.0 API 10 с открытым исходным кодом и новыми API-интерфейсами ArkTS через сборку DevEco Studio 4.0 Canary после выпуска HarmonyOS 4.0 4 августа 2023 г. [7] После текущей стабильной версии появилась Предварительная версия выпущена в январе 2024 года с OpenHarmony 4.1 Beta 1 API 11. Наряду с этим HarmonyOS NEXT Developer Preview 1 с последней предварительной версией API 11 на основе последней версии OpenHarmony . [8]

История

Разработка ArkTS началась в 2015 году основателем HarmonyOS Ван Чэнлу с последующим сотрудничеством со многими другими программистами из Huawei. В то время разработка HarmonyOS началась после нескольких лет инкубации в научно-исследовательских лабораториях внутри компании, в 2012 году. ArkTS был мотивирован необходимостью замены более раннего языка программирования Huawei Java , который не только влек за собой юридический багаж, но и проблемы с производительностью, недостаточно развитыми приложениями в более слабом SDK HarmonyOS 2.0, поставляемым с HarmonyOS 2.0, и улучшениями, которых все еще не хватало в HarmonyOS 3.0, разработке eTS/JS для HarmonyOS. разработка приложений, которым не хватало современных функций для современной операционной системы. ArkTS взял идеи таких языков, как TypeScript , Swift , Rust , JavaScript . В ноябре 2022 года компания Huawei объявила, что язык программирования превратился из eTS в HarmonyOS 3.0 в ArkTS в обновлении HarmonyOS 3.1. Бета -версия языка программирования была выпущена зарегистрированным разработчикам Huawei на конференции, и в то время ее исходный код не был открыт до эпохи OpenHarmony 3.0 API 7 в рамках OpenAtom Foundation , когда Huawei предоставила коды ArkTS и API HarmonyOS 3.0, которая ранее называлась eTS в сентябре 2021 года. [9]

Во время HDC 2021, в октябре 2021 года, компания Huawei анонсировала ArkUI с DevEco Studio 3.0 для эпохи HarmonyOS 3.0, которая обеспечивает основу для проектирования декларативной структуры пользовательского интерфейса на всех устройствах Huawei для разработки eTS, которая превратилась в разработку ArkTS для HDC 2022 для HarmonyOS 3.1. ArkTS впервые появился в бета-версии OpenHarmony 3.1 от OpenAtom 31 декабря 2021 года вместе со своей документацией. [10] С декабря 2023 года ArkUI преобразуется в OpenHarmony 4.0, а также ОС Oniro с поддержкой языка программирования ArkTS и API. Кроме того, Huawei объявила, что превратит ArkUI в кроссплатформенный декларативный пользовательский интерфейс под названием ArkUI-X, чтобы сократить время и затраты на разработку приложений за счет переноса его на несколько платформ Android , iOS , Microsoft Windows , macOS и т. д. Включение EulerOS в контейнеры, использующие HarmonyOS. технологии стека прикладного программного обеспечения, упрощающие взаимодействие. [11] [12]

История версий

История версий выпусков ArkTS с пакетом SDK для конвергенции OpenHarmony (API 7) и HarmonyOS (API 8).

[13]

Платформы

Платформы, которые поддерживает ArkTS: HarmonyOS , Linux , Windows , macOS , iOS и Android .

Ключевым аспектом дизайна ArkTS является его способность взаимодействовать с огромным количеством существующего кода eTS и JavaScript, разработанного для продуктов Huawei в предыдущих версиях HarmonyOS, таких как языковая система HarmonyOS Design и система графического пользовательского интерфейса. На устройствах Huawei под управлением HarmonyOS он связывается с библиотекой времени выполнения eTS , что позволяет запускать собственные API в шаблонах DevEco Studio, а также код C , C++ и ArkTS в одной программе. [14]

Функции

ArkTS — это язык программирования общего назначения, который использует современные концепции теории языков программирования и стремится предоставить простой, но мощный синтаксис. ArkTS включает в себя инновации и традиции различных языков программирования, в том числе TypeScript , который он заменил в качестве основного языка разработки в HarmonyOS .

ArkTS был разработан, чтобы быть безопасным и дружелюбным к новым программистам, не жертвуя при этом скоростью. По умолчанию ArkTS автоматически управляет всей памятью и гарантирует, что переменные всегда инициализируются перед использованием. Доступ к массиву проверяется на наличие ошибок выхода за пределы, а целочисленные операции проверяются на переполнение. Имена параметров позволяют создавать понятные API. Протоколы определяют интерфейсы, которые могут использовать типы, а расширения позволяют разработчикам добавлять функциональность к существующим типам. ArkTS обеспечивает объектно-ориентированное программирование с поддержкой классов , подтипов и переопределения методов . Опциональные параметры позволяют явно и безопасно обрабатывать нулевые значения. Параллельные программы могут быть написаны с использованием синтаксиса async/await , а актеры изолируют общее изменяемое состояние, чтобы исключить гонки данных. [15]

Примеры

Ниже приведен пример простой программы Hello World . В ArkUI с языком программирования ArkTS стандартной практикой является разделение структуры и представлений приложения на разные структуры с основным представлением с именем Index. [16]

импорт АркТС// Индекс.ецимпортировать маршрутизатор из @ohos.router;@Вход@Компонентиндекс структуры { Сообщение @State: строка = 'Привет, мир' строить() { Ряд() { Столбец() { Текст (это.сообщение) .fontSize(50) .fontWeight(FontWeight.Bold) // Добавляем кнопку, реагирующую на клики пользователя. Кнопка() { Текст («Далее») .fontSize(30) .fontWeight(FontWeight.Bold) } .type(КнопкаТип.Капсула) .допуск({ верх: 20 }) .backgroundColor('#0D9FFB') .ширина('40%') .height('5%') // Привязываем событие onClick к кнопке «Далее», чтобы нажатие кнопки перенаправляло пользователя на вторую страницу. .onClick(() => { router.pushUrl({url: 'pages/Second'}) }) } .ширина('100%') } .height('100%') }}

АркUI-X

ArkUI-X — это комплект разработки программного обеспечения пользовательского интерфейса с открытым исходным кодом , который является расширением ArkUI для разработки ArkTS, созданным Huawei. Он используется для разработки кроссплатформенных приложений на основе единой кодовой базы для любой платформы, такой как Android , iOS , OpenHarmony , Oniro OS и HarmonyOS , которая была выпущена 8 декабря 2023 года после сборки Canary 1 4 августа 2023 года. [17] ArkUI заменяет старую парадигму Interface Builder новой парадигмой декларативной разработки.

Среда выполнения 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. [18]

ets_frontend

ets_frontend — это внешний инструмент в подсистеме выполнения ARK, который объединяет компонент ace-ets2bundle, который поддерживает преобразование файлов языка программирования ETS в файлы байт-кода ARK. Они соответствуют разработке приложений ArkTS в OpenHarmony и разработке HarmonyOS в системе HarmonyOS NEXT. [19]

Инструментарий ArkCompiler для отладки

ArkCompiler Toolchain предоставляет разработчикам инструменты отладки для разработки приложений ArkTS, такие как Debugger, CPUProfiler и HeapProfiler. Возможности отладки и настройки, предоставляемые Ark Toolchain, используются через DevEco Studio IDE, которая использует среду выполнения ArkCompiler для предоставления разработчикам информации, связанной со средой выполнения. [20]

Инструменты разработки

Компилятор

Благодаря Ark Compiler он поддерживает различные динамические и статические языки программирования, такие как JS , TS и ArkTS. Это база компиляции и времени выполнения, которая позволяет OpenHarmony вместе с HarmonyOS NEXT работать на различных устройствах, таких как интеллектуальные устройства, мобильные телефоны, ПК, планшеты, телевизоры, автомобили и носимые устройства. ArkCompiler состоит из двух частей: набора инструментов компилятора и среды выполнения. [21]

Поддержка IDE и редактора

DevEco Studio для разработки HarmonyOS с использованием декларативного ArkUI по умолчанию , а также других сторонних фреймворков пользовательского интерфейса на OpenHarmony SDK, кроссплатформенной разработки ArkUI-X с поддержкой Android и iOS . [22]

Смотрите также

Рекомендации

  1. ^ Амит. «Срочное: объявлен график выхода Huawei HarmonyOS 3.1 [выпущена предварительная версия для разработчиков]». Обновление Хуавей . Обновление Хуавей . Проверено 12 февраля 2024 г.
  2. ^ «Начало работы с ArkTS» . OpenAtom OpenHarmony . OpenAtom OpenHarmony . Проверено 12 февраля 2024 г.
  3. ^ Балогун, Юсуф. «Huawei приступает к декларативной разработке с анонсом версии HarmonyOS 3.1». техгениз . техгениз . Проверено 12 февраля 2024 г.
  4. ^ Амит. «Срочное: объявлен график выхода Huawei HarmonyOS 3.1 [выпущена предварительная версия для разработчиков]». Обновление Хуавей . Обновление Хуавей . Проверено 12 февраля 2024 г.
  5. ^ НЬЯМ, ФРЕДЕРИК. «ГОТОВЬТЕСЬ К HARMONYOS 4.0: ОФИЦИАЛЬНОЕ ОБЪЯВЛЕНИЕ 4 АВГУСТА». ГИЗМОЧИНА . ГИЗМОЧИНА . Проверено 12 февраля 2024 г.
  6. ^ Пол, Питер. «Представлена ​​HarmonyOS NEXT: автономная ОС, не зависящая от APK-файлов Android!». ГИЗГИД . ГИЗГИД . Проверено 12 февраля 2024 г.
  7. ^ Ли, Дэн. «Версия выпуска OpenHarmony 4.0 запущена с API 10». Отдел новостей ХК . Отдел новостей ХК . Проверено 12 февраля 2024 г.
  8. ^ Ли, Дэн. «Бета-версия 1 HarmonyOS 4.1 с открытым исходным кодом и интерфейсами API 11» . Отдел новостей ХК . Отдел новостей ХК . Проверено 12 февраля 2024 г.
  9. ^ Чжан, Фате Чжан. «За рождением HarmonyOS от Huawei». CNTechPost . CNTechPost . Проверено 12 февраля 2024 г.
  10. ^ «Бета OpenHarmony 3.1» . OpenAtom OpenHarmony . OpenAtom OpenHarmony . Проверено 15 февраля 2024 г.
  11. ^ «Бета-версии DevEco Studio 3.0 для HarmonyOS 3.0 и OpenHarmony 3.1 здесь» . Развивайте Знайте . Развивайте Знайте . Проверено 12 февраля 2024 г.
  12. ^ Ли, Дэн. «Выпуск Huawei DevEco Studio 3.1 Canary» . Отдел новостей ХК . Отдел новостей ХК . Проверено 12 февраля 2024 г.
  13. ^ "zh-cn/release-notes/OpenHarmony-v4.1-release.md · OpenHarmony/docs" . Гитеэ (на китайском (Китай)) . Проверено 31 марта 2024 г.
  14. ^ «Предварительный просмотр HarmonyOS 3.0.0 для разработчиков» . ГармонияОС . ГармонияОС . Проверено 12 февраля 2024 г.
  15. ^ «Учебное пособие по ArkTS» (PDF) . OpenAtom Gitee . OpenAtom Gitee . Проверено 12 февраля 2024 г.
  16. ^ «Начало работы с ArkTS в этапной модели — реализация перенаправления страниц» . ГармонияОС . ГармонияОС . Проверено 12 февраля 2024 г.
  17. ^ «Примечания к выпуску ArkUI-X» . ArkUI-X на GitHub . ArkUI-X на GitHub . Проверено 12 февраля 2024 г.
  18. ^ "Среда выполнения ArkCompiler JS - ets Runtime" . OpenAtom Gitee . OpenAtom Gitee . Проверено 12 февраля 2024 г.
  19. ^ "ets_frontend". OpenAtom Gitee . OpenAtom Gitee . Проверено 12 февраля 2024 г.
  20. ^ «Компоненты набора инструментов Ark» . OpenAtom Gitee . OpenAtom Gitee . Проверено 12 февраля 2024 г.
  21. ^ "Среда выполнения ArkCompiler" . OpenAtom Gitee . OpenAtom Gitee . Проверено 12 февраля 2024 г.
  22. ^ "ArkUI-X SDK" . ArkUI-X на GitHub . ArkUI-X на GitHub . Проверено 12 февраля 2024 г.

Внешние ссылки