아크티에스

ArkTS
아크티에스
패러다임다중 패러다임: 기능적, 일반적, 명령적, 객체 지향적
개발자Huawei and OpenAtom Foundation 오픈 소스 기여자
처음 등장했습니다.2021년 12월 31일, 2년 전(2021-12-31)
타이핑 종목오리, 점진적, 구조적
OS하모니OS, OpenHarmony, macOS, Windows, Android, iOS
면허증.아파치 라이선스
독점(하모니까지)OS 3.1)
파일 이름 확장자.ets,.ts
웹사이트
에 의해 영향을 받았습니다.
TypeScript, Swift, Objective-C, JavaScript, C#, F#, Java, ActionScript, AtScript, AssemblyScript
영향받은
깡지에

ArkTS2022년 7월 이전에 사용된 자바스크립트의 슈퍼셋인 화웨이가 개발한 높은 수준의 범용 다중 패러다임 컴파일프로그래밍 언어입니다. 하모니OS 3.0 버전, 진화된 퍼커서와 함께 Harmony용으로 제작된 확장 TypeScript(eTS)선언적 프로그래밍으로의 전환으로서의 OS 개발. ArkTS는 선행 컴파일 Ark 컴파일러를 통해 머신 코드로 컴파일합니다. ArkTS는 2021년 12월 OpenHarmony와 the Ark에서 처음 출시되었습니다.TS 툴체인은 2022년에 출시된 버전 3.1부터 DevEco Studio에 출하되었습니다.[1] 2023년 10월 26일 OpenHarmony 4.0 출시 이후 ArkTS API가 오픈소스 커뮤니티에 추가되어 기여하고 있습니다.[2]

화웨이가 의도한 아크TypeScript를 기반으로 확장된 TypeScript(eTS)와 관련된 많은 핵심 개념을 지원하는 TS와 이전 버전의 Harmony에서 자바스크립트를 지원합니다.아크가 포함된 OS 3.0자바와 함께 UI 선언 UI 앱 개발 및 2.0 필수 앱 개발 ArkTS는 2022년 11월 HDC(Harmony)에서 열린 화웨이 개발자 회의에서 소개되었습니다.OS 3.1 릴리스.[3][4]

HarmonyOS 4.0 API 10을 적용한 HDC 2023년 업그레이드를 진행하였으며, 2024년 1월 18일 Harmony의 주요 업그레이드를 진행하였습니다.두 프로그래밍 언어가 하모니의 주요 언어가 되는 화웨이가 발표한 새로운 Cangjie 프로그래밍 언어와 함께 OS Ecology Developer Conference조화의 OS NEXT 시스템OS 운영 체제.[5][6]

현재 버전의 ArkTS는 2023년 10월 26일 오픈소스 OpenHarmony 4.0 API 10에 새로운 Ark가 탑재되어 출시되었습니다.2023년 8월 4일 하모니OS 4.0 릴리스 이후 데브에코 스튜디오 4.0 카나리아를 통한 TS API 구축.[7] 현재 안정적인 출시에 이어 2024년 1월에 OpenHarmony 4.1 베타 1 API 11이 포함된 미리보기가 출시되었습니다.[8]

역사

방주의 개발2015년 하모니가 시작한 TSOS 창업자 왕청루는 당시 화웨이의 많은 다른 프로그래머들과 협력하여 하모니 개발을 시작했습니다.회사 내에서 2012년부터 몇 년 동안 R&D 연구실에서 배양된 OS. ArkTS는 법적 수하물뿐만 아니라 성능 문제, 취약한 SDK Harmony에서 개발되지 않은 애플리케이션을 운반하는 화웨이의 초기 프로그래밍 언어 Java를 대체할 필요성에 동기를 부여했습니다.OS 2.0에는 Harmony에 아직 부족한 개선 사항이 포함되어 있습니다.하모니를 위한 OS 3.0 eTS/JS 개발현대적인 운영체제를 위한 현대적인 기능이 부족했던 OS 앱 개발. ArkTS는 TypeScript, Swift, Rust, JavaScript와 같은 언어 아이디어를 가져왔습니다.2022년 11월, 화웨이는 eTS on Harmony에서 발전된 프로그래밍 언어를 공개했습니다.OS 3.0 to ArkTSon HarmonyOS 3.1 업데이트. 이 컨퍼런스에서 등록된 화웨이 개발자들에게 베타 버전프로그래밍 언어가 공개되었으며, 당시에는 화웨이가 아크를 기여했을 때 OpenAtom Foundation 산하 OpenHarmony 4.0 시대까지 오픈 소스로 제공되지 않았습니다.Harmony의 TS코드 및 APIOS 3.1 and 4.0.[9]

HDC 2021년 10월, Huawei는 Ark를 발표했습니다.조화를 위한 DevEco Studio 3.0이 포함된 UIArk로 진화한 eTS 개발을 위한 모든 Huawei 디바이스에서 선언적 UI 구조 설계를 위한 프레임워크를 제공하는 OS 3.0 시대HDC2022까지 하모니를 위한 TS 개발OS 3.1. ArkTS는 2021년 12월 31일 OpenAtom의 OpenHarmony 3.1 Beta에 문서와 함께 처음 등장했습니다. [10] 2023년 12월부터 아크UIOpenHarmony 4.0, 또한 Ark가 포함된 Oniro OS로 진화되었습니다.TS 프로그래밍 언어 지원 및 API. 또한 화웨이는 아크를 진화시킬 것이라고 발표했습니다.아크(Ark)라는 크로스 플랫폼 선언 UI로의 UI안드로이드, iOS, 마이크로소프트 윈도우, macOS 등의 여러 플랫폼에 앱을 제공하여 앱 개발 시간과 비용을 절감할 수 있는 UI-X. 오일러 포함하모니를 공유하는 컨테이너 내 OSOS 응용 소프트웨어 스택 기술로 상호 운용성이 용이합니다.[11][12]

플랫폼

플랫폼 아크TS 지원은 하모니OS, 리눅스, 윈도우, macOS, iOS, 안드로이드입니다.

방주의 핵심적인 모습TS 디자인은 이전 버전의 하모니에 비해 화웨이 제품을 위해 개발된 기존 eTS 및 자바스크립트 코드의 거대한 본체와 상호 운용할 수 있는 능력입니다.하모니 등 OSOS 디자인 언어 시스템, 그래픽 사용자 인터페이스 시스템. Harmony를 실행하는 Huawei 장치에서OS, DevEco Studio 템플릿, C, C++ 및 Ark에서 네이티브 API를 허용하는 eTS 런타임 라이브러리와 연동됩니다.하나의 프로그램 내에서 실행할 TS 코드.[13]

특징들

ArkTS는 현대 프로그래밍 언어 이론 개념을 사용하고 간단하지만 강력한 구문을 제시하기 위해 노력하는 범용 프로그래밍 언어입니다. ArkTS는 다양한 프로그래밍 언어의 혁신과 관습을 통합하고 있으며, 이는 Harmony의 주요 개발 언어로 대체된 TypeScript에서 주목할 만한 영감을 얻었습니다.OS.

ArkTS는 속도를 희생하지 않으면서 새로운 프로그래머들에게 안전하고 친절하도록 설계되었습니다. 기본 방주TS는 모든 메모리를 자동으로 관리하고 변수가 사용 전에 항상 초기화되도록 합니다. 어레이 액세스는 Out-of-Bound 오류가 있는지 확인하고 정수 연산은 오버플로가 있는지 확인합니다. 매개 변수 이름을 사용하면 명확한 API를 만들 수 있습니다. 프로토콜은 유형이 채택할 수 있는 인터페이스를 정의하는 반면, 확장을 통해 개발자는 기존 유형에 기능을 추가할 수 있습니다. ArkTS는 클래스, 하위 유형 지정 및 메서드 재정의를 지원하여 개체 지향 프로그래밍을 가능하게 합니다. 옵션을 사용하면 0 값을 명시적으로 안전하게 처리할 수 있습니다. 동시 프로그램은 비동기/대기 구문을 사용하여 작성할 수 있으며 액터는 데이터 레이스를 제거하기 위해 공유 가변 상태를 분리합니다.[14]

다음은 간단한 Hello World 프로그램의 예입니다. 그것은 방주의 표준 관행입니다.아크가 있는 UI응용 프로그램 구조 및 보기를 서로 다른 구조로 분리하기 위한 TS 프로그래밍 언어(메인 보기 이름) Index.[15]

'@ohos.router'에서 ArkTS // Index.ets 가져오기 라우터; @Entry @Component structure Index { @State message: string = 'Hello World' 빌드 () {Row() {Column() {Text(this.message) .fontSize(50) .fontWeight(FontWeight) .굵은 글씨) // 사용자 클릭에 대응할 수 있는 버튼을 추가합니다.         버튼() { Text('다음') .fontSize(30) .fontWeight(FontWeight) .굵게) } .type(ButtonType).캡슐).margin({ top: 20}).backgroundColor('#0D9FFB').width(' 40%'.high(' 5%' /// onClick 이벤트를 Next 버튼에 바인딩하여 버튼을 클릭하면 사용자가 두 번째 페이지로 이동합니다. onClick((()) => { router.pushUrl({url: 'pages/Second'}) } } .width('100%') } .hight('100%') } } 

아크UI-X

ArkUI-X는 Ark의 확장판인 오픈소스 UI 소프트웨어 개발 키트입니다.아크용 UI화웨이가 만든 TS 개발. Android, iOS, OpenHarmonyHarmony와 같은 모든 플랫폼에 대해 단일 코드 기반에서 크로스 플랫폼 애플리케이션을 개발하는 데 사용됩니다.2023년 8월 4일 카나리아 1 빌드 후 2023년 12월 8일 출시된 OS.[16] ArkUI는 이전의 Interface Builder 패러다임을 새로운 선언적 개발 패러다임으로 대체합니다.

아크 유형 스크립트 런타임

ARK TypeScript Runtime은 Ark에서 사용되는 런타임입니다.이전 하모니에서 제공된 TS 애플리케이션OS 3.0/OpenHarmony 3.1 API 8 eTS(확장형 스크립트)뿐만 아니라 OpenHarmony에서도 구현맞춤형 오픈 하모니 기반 하모니를 활용한 OSOS NEXT 코어 운영 체제. ArkTS/JS 개체에 대한 할당자 및 GC(Garbage Collector), ECM 스크립트 규격을 준수하는 표준 라이브러리, ARK 프론트엔드 구성 요소에서 생성된 ARK 바이트코드(abc)를 실행하기 위한 인터프리터, 가속을 위한 인라인 캐시, 정적으로 입력된 컴파일러, 런타임 시 네이티브 API(NAPI) 응용 프로그램 개발을 위한 C++/C 기능 인터페이스 및 두 가지 Harmony 모두에서 버전 3.1.1 이후 DevEco Studio를 통한 Ahead-of-Time 컴파일의 다른 모듈OS 3.1 SDK 및 OpenHarmony 3.[17]2 SDK API 9.

ets_frontend

ets_frontend는 ETS 프로그래밍 언어 파일을 ARK 바이트코드 파일로 변환하는 것을 지원하는 ace-ets2 번들 구성 요소를 결합한 ARK 런타임 서브시스템의 프론트엔드 도구입니다. 그들은 아크와 일치합니다.오픈하모니와 하모니의 TS앱 개발Harmony 산하 OS 개발OS NEXT 시스템.[18]

디버깅용 ArkCompiler Toolchain

Ark Compiler Toolchain은 개발자들에게 Ark에 대한 디버깅 도구를 제공합니다.디버거, CPU 프로파일러, 힙 프로파일러와 같은 TS 애플리케이션 개발. Ark Toolchain에서 제공하는 디버깅 및 튜닝 기능은 ArkCompiler Runtime에 의존하여 개발자에게 런타임 관련 정보를 제공하는 DevEco Studio IDE를 통해 사용됩니다.[19]

개발도구

컴파일러

Ark 컴파일러를 사용하면 JS, TS, ArkTS와 같은 다양한 동적 및 정적 프로그래밍 언어를 지원합니다. Harmony와 함께 OpenHarmony를 가능하게 하는 컴파일 및 런타임 기반입니다.스마트 기기, 휴대폰, PC, 태블릿, TV, 자동차, 웨어러블 등 여러 기기 형태에서 실행되는 OS NEXT. ArkCompiler는 컴파일러 툴체인과 런타임의 두 부분으로 구성되어 있습니다.[20]

IDE 및 편집기 지원

조화를 위한 DevEco 스튜디오기본 선언 ArkUI를 사용한 OS 개발, OpenHarmony SDK의 다른 서드파티 UI 프레임워크, ArkUI-X 크로스 플랫폼 개발 및 안드로이드iOS 지원.[21]

참고 항목

참고문헌

  1. ^ Amit. "Breaking: Huawei HarmonyOS 3.1 timeline announced [Developer Preview Released]". Huawei Update. Huawei Update. Retrieved February 12, 2024.
  2. ^ "Getting Started with ArkTS". OpenAtom OpenHarmony. OpenAtom OpenHarmony. Retrieved February 12, 2024.
  3. ^ Balogun, Yusuf. "Huawei Enters Declarative Development with HarmonyOS 3.1 Version Announcement". techgenyz. techgenyz. Retrieved February 12, 2024.
  4. ^ Amit. "Breaking: Huawei HarmonyOS 3.1 timeline announced [Developer Preview Released]". Huawei Update. Huawei Update. Retrieved February 12, 2024.
  5. ^ NYAME, FREDERICK. "GET READY FOR HARMONYOS 4.0: OFFICIAL ANNOUNCEMENT COMING ON AUGUST 4". GIZMOCHINA. GIZMOCHINA. Retrieved February 12, 2024.
  6. ^ Paul, Peter. "HarmonyOS NEXT unveiled: A standalone OS without reliance on Android APKs!". GIZGUIDE. GIZGUIDE. Retrieved February 12, 2024.
  7. ^ Li, Deng. "OpenHarmony 4.0 release version launched with API 10". HC Newsroom. HC Newsroom. Retrieved February 12, 2024.
  8. ^ Li, Deng. "Open source HarmonyOS 4.1 release beta 1 with API 11 interfaces". HC Newsroom. HC Newsroom. Retrieved February 12, 2024.
  9. ^ Zhang, Phate Zhang. "Behind the birth of Huawei's HarmonyOS". CNTechPost. CNTechPost. Retrieved February 12, 2024.
  10. ^ "OpenHarmony 3.1 Beta". OpenAtom OpenHarmony. OpenAtom OpenHarmony. Retrieved February 15, 2024.
  11. ^ "DevEco Studio 3.0 for HarmonyOS 3.0 and OpenHarmony 3.1 beta releases are here". Develop Know. Develop Know. Retrieved February 12, 2024.
  12. ^ Li, Deng. "Huawei DevEco Studio 3.1 Canary rolling out". HC Newsroom. HC Newsroom. Retrieved February 12, 2024.
  13. ^ "HarmonyOS 3.0.0 Developer Preview". HarmonyOS. HarmonyOS. Retrieved February 12, 2024.
  14. ^ "ArkTS Tutorial" (PDF). OpenAtom Gitee. OpenAtom Gitee. Retrieved February 12, 2024.
  15. ^ "Getting Started with ArkTS in Stage Model - Implementing Page Redirection". HarmonyOS. HarmonyOS. Retrieved February 12, 2024.
  16. ^ "ArkUI-X Release Notes". ArkUI-X GitHub. ArkUI-X GitHub. Retrieved February 12, 2024.
  17. ^ "ArkCompiler JS Runtime - ets Runtime". OpenAtom Gitee. OpenAtom Gitee. Retrieved February 12, 2024.
  18. ^ "ets_frontend". OpenAtom Gitee. OpenAtom Gitee. Retrieved February 12, 2024.
  19. ^ "Ark toolchain components". OpenAtom Gitee. OpenAtom Gitee. Retrieved February 12, 2024.
  20. ^ "ArkCompiler Runtime". OpenAtom Gitee. OpenAtom Gitee. Retrieved February 12, 2024.
  21. ^ "ArkUI-X SDK". ArkUI-X GitHub. ArkUI-X GitHub. Retrieved February 12, 2024.

외부 링크