АркТС
Парадигма | Мультипарадигмальность : функциональная , универсальная , императивная , объектно-ориентированная. |
---|---|
Разработчик | Huawei , OpenAtom Foundation , Eclipse Foundation участники открытого исходного кода |
Впервые появился | 30 сентября 2021 г |
Стабильная версия | 4.1.7.3
/ 30 марта 2024 г |
Дисциплина набора текста | Утка , постепенный , структурный |
ТЫ | HarmonyOS , OpenHarmony , Oniro OS, macOS , Windows , Android , iOS |
Лицензия | Лицензия Апач Собственный (до HarmonyOS 3.1) |
Расширения имен файлов | .ets, .ts |
Веб-сайт | |
Под влиянием | |
TypeScript , Swift , Objective-C , JavaScript , C# , F# , Java , ActionScript , AtScript , AssemblyScript |
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 и 2 с последней предварительной версией API 11–12 на основе последней версии OpenHarmony с расширенным синтаксисом, который доработан. в версии DevEco Studio IDE 5.0, которая является синтаксически строгой и предоставляет более полные и богатые возможности по сравнению с предыдущими версиями. [8] [9]
История [ править ]
Разработка ArkTS началась в 2015 году основателем HarmonyOS Ван Чэнлу с последующим сотрудничеством со многими другими программистами из Huawei . В то время разработка HarmonyOS началась после нескольких лет инкубации в научно-исследовательских лабораториях внутри компании, в 2012 году. ArkTS была мотивирована необходимостью замены более раннего языка программирования Huawei Java , который не только имел юридический багаж, но и проблемы с производительностью, недостаточно развитыми приложениями в более слабом SDK, как HarmonyOS 1.0 Vision TV, IoT и расширенная версия 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 , когда в сентябре 2021 года компания Huawei предоставила коды ArkTS и API HarmonyOS 3.0, которая ранее называлась eTS. [10]
Во время 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 года вместе со своей документацией. [11] С декабря 2023 года ArkUI превращается в OpenHarmony 4.0, а также в глобальную операционную систему Oniro на базе OpenHarmony от Eclipse Foundation с поддержкой языка программирования ArkTS и API-интерфейсами. Кроме того, Huawei объявила, что превратит ArkUI в кроссплатформенный декларативный пользовательский интерфейс под названием ArkUI-X , чтобы сократить время и затраты на разработку приложений за счет переноса его на несколько платформ Android , iOS , Microsoft Windows , macOS и т. д. Включение EulerOS в контейнеры, использующие HarmonyOS. технологии стека прикладного программного обеспечения, упрощающие взаимодействие. [12] [13]
История версий [ править ]
История версий выпусков ArkTS с пакетом SDK для конвергенции OpenHarmony (API 7) и HarmonyOS (API 8).
Версия | Дата выпуска | macOS | Окна |
---|---|---|---|
ArkTS (eTS) LTS [Долгосрочная поддержка] 3.0.0.0 | 30 сентября 2021 г. | Да | Да |
АркТС (еТС) 3.1.13.6 | 30 марта 2022 г. | Да | Да |
АркТС 3.2.13.5 | 9 апреля 2023 г. | Да | Да |
АркТС 4.0.9.6 | 26 октября 2023 г. | Да | Да |
АркТС 4.1.7.3 | 30 марта 2024 г. | Да | Да |
Платформы [ править ]
Платформы, которые поддерживает ArkTS: HarmonyOS , Linux , Windows , macOS , iOS и Android .
Ключевым аспектом дизайна ArkTS является его способность взаимодействовать с огромным количеством существующего кода eTS и JavaScript, разработанного для продуктов Huawei в предыдущих версиях HarmonyOS, таких как языковая система HarmonyOS Design и система графического пользовательского интерфейса. На устройствах Huawei под управлением HarmonyOS он связывается с библиотекой времени выполнения собственные API в шаблонах DevEco Studio, а также код C , C++ и ArkTS в одной программе. eTS, что позволяет запускать [15]
Особенности [ править ]
ArkTS — это язык программирования общего назначения, который использует современные концепции теории языков программирования и стремится предоставить простой, но мощный синтаксис. ArkTS включает в себя инновации и традиции различных языков программирования, в том числе TypeScript , который он заменил в качестве основного языка разработки в HarmonyOS .
ArkTS был разработан, чтобы быть безопасным и дружелюбным к новым программистам, не жертвуя при этом скоростью. По умолчанию ArkTS автоматически управляет всей памятью и гарантирует, что переменные всегда инициализируются перед использованием. Доступ к массиву проверяется на наличие ошибок выхода за пределы, а целочисленные операции проверяются на переполнение. Имена параметров позволяют создавать понятные API. Протоколы определяют интерфейсы, которые могут использовать типы, а расширения позволяют разработчикам добавлять функциональность к существующим типам. ArkTS обеспечивает объектно-ориентированное программирование с поддержкой классов , подтипов и переопределения методов . Опциональные параметры позволяют нулевые явно и безопасно обрабатывать значения. Параллельные программы могут быть написаны с использованием async/await синтаксиса , а актеры изолируют общее изменяемое состояние, чтобы исключить гонки данных. [16]
Примеры [ править ]
Ниже приведен пример простой программы Hello World . В ArkUI с языком программирования ArkTS стандартной практикой является разделение структуры и представлений приложения на разные структуры, при этом основное представление называется Index
. [17]
import ArkTS
// Index.ets
import router from '@ohos.router';
@Entry
@Component
struct Index {
@State message: string = 'Hello World'
build() {
Row() {
Column() {
Text(this.message)
.fontSize(50)
.fontWeight(FontWeight.Bold)
// Add a button to respond to user clicks.
Button() {
Text('Next')
.fontSize(30)
.fontWeight(FontWeight.Bold)
}
.type(ButtonType.Capsule)
.margin({
top: 20
})
.backgroundColor('#0D9FFB')
.width('40%')
.height('5%')
// Bind the onClick event to the Next button so that clicking the button redirects the user to the second page.
.onClick(() => {
router.pushUrl({ url: 'pages/Second' })
})
}
.width('100%')
}
.height('100%')
}
}
ArkUI-X [ править ]
ArkUI-X — это с открытым исходным кодом пользовательского интерфейса комплект разработки программного обеспечения , который является расширением ArkUI для разработки ArkTS, созданным Huawei. Он используется для разработки кроссплатформенных приложений на основе единой кодовой базы для любой платформы, такой как Android , iOS , OpenHarmony , Oniro OS и HarmonyOS , которая была выпущена 8 декабря 2023 года после сборки Canary 1 4 августа 2023 года. [18] ArkUI заменяет старую парадигму Interface Builder новой парадигмой декларативной разработки.
Ark TypeScript Runtime [ править ]
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. [19]
ets_frontend [ править ]
ets_frontend — это внешний инструмент в подсистеме выполнения ARK, который объединяет компонент ace-ets2bundle, который поддерживает преобразование файлов языка программирования ETS в файлы байт-кода ARK. Они соответствуют разработке приложений ArkTS в OpenHarmony и разработке HarmonyOS в системе HarmonyOS NEXT. [20]
Инструментарий ArkCompiler для отладки [ править ]
ArkCompiler Toolchain предоставляет разработчикам инструменты отладки для разработки приложений ArkTS, такие как Debugger, CPUProfiler и HeapProfiler. Возможности отладки и настройки, предоставляемые Ark Toolchain, используются через DevEco Studio IDE, которая использует среду выполнения ArkCompiler для предоставления разработчикам информации, связанной со средой выполнения. [21]
Инструменты разработки [ править ]
Компилятор [ править ]
Благодаря Ark Compiler он поддерживает различные динамические и статические языки программирования, такие как JS , TS и ArkTS. Это база компиляции и времени выполнения, которая позволяет OpenHarmony вместе с HarmonyOS NEXT работать на различных устройствах, таких как смарт-устройства, мобильные телефоны, ПК, планшеты, телевизоры, автомобили и носимые устройства. ArkCompiler состоит из двух частей: набора инструментов компилятора и среды выполнения. [22]
Поддержка IDE и редактора [ править ]
DevEco Studio для разработки HarmonyOS с использованием декларативного ArkUI по умолчанию , а также других сторонних фреймворков пользовательского интерфейса на OpenHarmony SDK, ArkUI-X кроссплатформенной разработки с поддержкой Android и iOS . [23]
См. также [ править ]
Ссылки [ править ]
- ^ Амит. «Срочное: объявлен график выхода Huawei HarmonyOS 3.1 [выпущена предварительная версия для разработчиков]» . Обновление Хуавей . Обновление Хуавей . Проверено 12 февраля 2024 г.
- ^ «Начало работы с АркТС» . OpenAtom OpenHarmony . OpenAtom OpenHarmony . Проверено 12 февраля 2024 г.
- ^ Балогун, Юсуф. «Huawei приступает к декларативной разработке с анонсом версии HarmonyOS 3.1» . техгениз . техгениз . Проверено 12 февраля 2024 г.
- ^ Амит. «Срочное: объявлен график выхода Huawei HarmonyOS 3.1 [выпущена предварительная версия для разработчиков]» . Обновление Хуавей . Обновление Хуавей . Проверено 12 февраля 2024 г.
- ^ НЬЯМ, ФРЕДЕРИК. «ГОТОВЬТЕСЬ К HARMONYOS 4.0: ОФИЦИАЛЬНОЕ ОБЪЯВЛЕНИЕ 4 АВГУСТА» . ГИЗМОЧИНА . ГИЗМОЧИНА . Проверено 12 февраля 2024 г.
- ^ Пол, Питер. «Представлена HarmonyOS NEXT: автономная операционная система, не зависящая от APK-файлов Android!» . ГИЗГИД . ГИЗГИД . Проверено 12 февраля 2024 г.
- ^ Ли, Дэн. «Версия выпуска OpenHarmony 4.0 запущена с API 10» . Отдел новостей ХК . Отдел новостей ХК . Проверено 12 февраля 2024 г.
- ^ Ли, Дэн. «Бета-версия HarmonyOS 4.1 с открытым исходным кодом и интерфейсами API 11» . Отдел новостей ХК . Отдел новостей ХК . Проверено 12 февраля 2024 г.
- ^ «Заметки о разработке HarmonyOS Next (совместное использование исходного кода проекта) — Nuggets» Проверено . 11 апреля 2024 г. .
- ^ Чжан, Фате Чжан. «За рождением HarmonyOS от Huawei» . CNTechPost . CNTechPost . Проверено 12 февраля 2024 г.
- ^ «OpenHarmony 3.1 Бета» . OpenAtom OpenHarmony . OpenAtom OpenHarmony . Проверено 15 февраля 2024 г.
- ^ «Бета-версии DevEco Studio 3.0 для HarmonyOS 3.0 и OpenHarmony 3.1 уже здесь» . Развивайте Знайте . Развивайте Знайте . Проверено 12 февраля 2024 г.
- ^ Ли, Дэн. «Выпуск Huawei DevEco Studio 3.1 Canary» . Отдел новостей ХК . Отдел новостей ХК . Проверено 12 февраля 2024 г.
- ^ «zh-cn/release-notes/OpenHarmony-v4.1-release.md · OpenHarmony/docs» . Гитеэ (на китайском (Китай)) . Проверено 31 марта 2024 г.
- ^ «Предварительная версия HarmonyOS 3.0.0 для разработчиков» . ГармонияОС . ГармонияОС . Проверено 12 февраля 2024 г.
- ^ «Учебное пособие по ArkTS» (PDF) . OpenAtom Gitee . OpenAtom Gitee . Проверено 12 февраля 2024 г.
- ^ «Начало работы с ArkTS в этапной модели — реализация перенаправления страниц» . ГармонияОС . ГармонияОС . Проверено 12 февраля 2024 г.
- ^ «Примечания к выпуску ArkUI-X» . ArkUI-X на GitHub . ArkUI-X на GitHub . Проверено 12 февраля 2024 г.
- ^ «ArkCompiler JS Runtime — ets Runtime» . OpenAtom Gitee . OpenAtom Gitee . Проверено 12 февраля 2024 г.
- ^ "ets_frontend" . OpenAtom Gitee . OpenAtom Gitee . Проверено 12 февраля 2024 г.
- ^ «Компоненты набора инструментов Ark» . OpenAtom Gitee . OpenAtom Gitee . Проверено 12 февраля 2024 г.
- ^ «Среда выполнения ArkCompiler» . OpenAtom Gitee . OpenAtom Gitee . Проверено 12 февраля 2024 г.
- ^ «ArkUI-X SDK» . ArkUI-X на GitHub . ArkUI-X на GitHub . Проверено 12 февраля 2024 г.
Внешние ссылки [ править ]
- программное обеспечение 2021 года
- Кроссплатформенное программное обеспечение
- Семейство языков программирования JavaScript
- Объектно-ориентированные языки программирования
- Языки программирования, созданные в 2021 году
- Языки сценариев
- Программное обеспечение, использующее лицензию Apache
- Компиляторы исходного кода
- Статически типизированные языки программирования
- Продукты Huawei