<>HUAWEI DevEco Studio

Is based on IntelliJ IDEA
Community Open source version creation , One stop integrated development environment for Huawei terminal full scene multi equipment (IDE), Provide project template creation for developers , development , compile , Debugging, etc E2E of HarmonyOS Application development services .

<>【1】HarmonyOS The application consists of one or more FA(Feature Ability) or PA(Particle Ability) form .

<>【2】 Feature Ability

Ability Is an abstraction of the capabilities of an application , It is also an important part of the application . An application can have multiple capabilities ( That is, it can contain multiple Ability),HarmonyOS Support applications to Ability Deploy as a unit .Ability Can be divided into FA(Feature
Ability) and PA(Particle Ability) Two types , Each type provides different templates for developers , So as to realize different business functions .

FA support Page Ability:
Page Template is FA Only supported template , Used to provide the ability to interact with users . One Page An instance can contain a set of related pages , One for each page AbilitySlice Instance representation .

PA support Service Ability and Data Ability:
Service Template : Used to provide the ability to run tasks in the background .
Data Template : It is used to provide unified data access abstraction for external .

<>【3】HarmonyOS Overall compliance with layered design , From bottom to top Kernel layer , System service layer , Framework layer and application layer

<>【4】 stay Java UI frame
(1) stay XML Statement in UI layout (2) Create layout in code

【5】 Distributed task scheduling is based on distributed soft bus , Distributed data management , Distributed Profile Other technical characteristics , Build unified distributed service management ( find , synchronization , register , call ) mechanism , Support remote startup of cross device applications , Remote call , Remote connection and migration , According to the capability of different equipment , position , Business operation status , Resource usage , And the user's habits and intentions , Select appropriate equipment to run distributed tasks .

<> title 【6】UI layout , Common component categories
Layout class components Display class components Interactive class component
<> title 【7】 use XML Document for user interface design , Common layout class component container
PositionLayout DirectionalLayout DependentLayout StackLayout AdaptiveBoxLayout
<>【8】 Hongmeng application engineering support Module structure

<>【9】DevEco Studio Provide Preview (Preview) function , Multiterminal , real time , Dynamic is a typical feature of preview properties

<>【10】HarmonnyOS Applications can be based on Java UI or JS UI Framework for development

<>【11】DevEco Studio support ,js,java,c/c++

<>【12】DevEco Studio Provide distributed multi device debugging capability
Cross language debugging Cross equipment commissioning X-Ray debugger Variable visualization HiTrace Distributed call chain analysis
<>【13】DevEco Studio of HiTrace What are the functions ?
Cross process call chain tracing Cross device call chain tracing Cross process , Summary and analysis of cross device information flow Problem precise delimitation and location Call chain efficiency bottleneck location
HarmonyOS It is a product for the era of Internet of all things , New distributed operating system .

Based on the traditional single equipment system capability ,HarmonyOS Based on the same set of system capabilities , Distributed concept adapting to multiple terminal forms , Able to support mobile phones , Flat , Smart wear , Zhi Huiping , Vehicle machine and other terminal equipment , Provide full scene ( Mobile office , Exercise health , Social communication , Media entertainment, etc ) Business capability .

<>HarmonyOS There are three characteristics :

The devices equipped with the operating system are integrated at the system level , Form super terminal , The hardware capability of the device can be expanded flexibly , Realize hardware mutual assistance between devices , resource sharing .

For consumers ,HarmonyOS Be able to integrate the capabilities of various terminals in the life scene , Fast connection between different terminal devices , Ability mutual assistance , resource sharing , Match appropriate equipment , Provide a smooth full scene experience .
For developers , Realize primary development , Multi terminal deployment .

For application developers ,HarmonyOS A variety of distributed technologies are adopted , Make the application development independent of the morphological differences of different terminal devices , So that developers can focus on the upper business logic , More convenient , Develop applications efficiently .
A set of operating system can meet the needs of equipment with different capabilities , Achieve unity OS, Flexible deployment .
For device developers ,HarmonyOS The component design scheme is adopted , It can be flexibly tailored according to the resource capacity and business characteristics of the equipment , Meet the requirements of different forms of terminal equipment for operating system .

<> language

HarmonyOS Provides support for multiple development languages API, For developers to develop applications . Supported development languages include Java,XML(Extensible Markup
Language),C/C++ , JS(JavaScript),CSS(Cascading Style Sheets) and HML(HarmonyOS
Markup Language).

<> Technical architecture

HarmonyOS Overall compliance with layered design , From bottom to top : Kernel layer , System service layer , Framework layer and application layer . System functions according to “ system > Subsystem >
function / modular ” Level by level expansion , In the scenario of multi device deployment , It supports tailoring some unnecessary subsystems or functions according to actual needs / modular .

<> Kernel layer

Kernel subsystem :HarmonyOS Multi core design , Support the selection of appropriate for different resource constrained devices OS kernel . Kernel abstraction layer (KAL,Kernel Abstract
Layer) By masking multi-core differences , Provide basic kernel capability for the upper layer , Including process / Thread management , memory management , file system , Network management and peripheral management, etc .
Drive subsystem : Hardware driver framework (HDF) yes HarmonyOS The foundation of hardware ecological openness , Provide unified peripheral access capability and driver development , Management framework .
System service layer
The system service layer is HarmonyOS Core competence set , Provide services to applications through the framework layer . This layer contains the following parts :

(1) System basic capability subsystem set : For distributed applications HarmonyOS Operation on multiple devices , dispatch , Migration and other operations provide basic capabilities , Distributed soft bus , Distributed data management , Distributed task scheduling , Ark multilingual runtime , Common base library , Multimode input , graphical , security ,AI And other subsystems . among , When the ark is running, it provides C/C++/JS Multilingual runtime and basic system class library , It is also static using the ark compiler Java program ( That is, it is used in the application or framework layer Java Part of language development ) Provide runtime .
(2) Basic software service subsystem set : by HarmonyOS Provide public , General software services , Notified by event , Telephone , Multi-Media ,DFX(Design For X)
,MSDP&DV And other subsystems .
Enhanced software service subsystem set : by HarmonyOS Provide for different equipment , Differentiated capability enhanced software services , Proprietary business of smart screen , Wear proprietary business ,IoT Composition of proprietary business and other subsystems .
Hardware service subsystem set : by HarmonyOS Provide hardware services , Location based service , Biometric recognition , Wear proprietary hardware services ,IoT Composed of proprietary hardware services and other subsystems .
Deployment environment according to different equipment forms , Basic software service subsystem set , Enhanced software service subsystem set , The hardware service subsystem set can be tailored according to subsystem granularity , Each subsystem can be tailored according to functional granularity .

<> Frame layer

The frame layer is HarmonyOS Application development provides Java/C/C++/JS Multilingual user program framework and Ability frame , two types UI frame ( Including applicable to Java Linguistic Java
UI frame , Apply to JS Linguistic JS
UI frame ), And a multilingual framework for the opening of various software and hardware services API. According to the component cutting degree of the system ,HarmonyOS Device supported API It will be different .

<> application layer

The application layer includes system applications and third-party non system applications .HarmonyOS The application consists of one or more FA(Feature Ability) or PA(Particle
Ability) form . among ,FA have UI Interface , Provide the ability to interact with users ; and PA nothing UI Interface , Provide the ability to run tasks in the background and unified data access abstraction .FA The background data access required during user interaction also needs to be provided by the corresponding PA Provide support . be based on FA/PA Developed applications , Able to realize specific business functions , Support cross device scheduling and distribution , Provide users with consistent , Efficient application experience .

Technology