The future has come, OpenHarmony 3.2 Release is released, entering a new stage of development

Table of contents

What OpenHarmony 3.2 Release brings to developers

ArkUI

Enhanced component capabilities

UI interface development supports one-time development to adapt to multiple screen specifications

application framework

Application package management

distributed technology

distributed soft bus

distributed hardware

Distributed Data Management

media

audio

play

camera

picture

program access control

SheetCompiler

Enhanced language features

Compiler runtime features

language base library

C/C++ tool chain

drive

HDF driver framework capability

Peripheral Driver Model Capabilities

tool lift

DevEco Studio code development

DevEco Studio application debugging and tuning

testing ability

Get the OpenHarmony 3.2 Release source code for experience

method one

way two

Join the community to build together and continue to contribute


On April 9, 2023, in the anticipation of community developers, in the season of spring breeze bringing warmth to all things, we ushered in the release of the new version of OpenAtom OpenHarmony (hereinafter referred to as "OpenHarmony") 3.2 Release. Compared with the OpenHarmony 3.1 Release version a year ago, the system capabilities, overall system performance, stability and security of the new version have been further improved and improved; OpenHarmony 3.2 Release version was born for application development, in terms of system capabilities, development tools and API, hardware debugging, etc. will bring a new experience to developers!

OpenHarmony has been open-sourced for more than two years, and has attracted more than 130 partners and more than 5,100 developers to participate in co-construction and contributions, and has produced more than 100 million lines of code. More than 260 software and hardware products have passed the compatibility test, covering a wide range of industries such as energy, finance, transportation, education, government affairs, and home furnishing. Thanks to all partners and developers for their contributions. It is your support and contributions that have accelerated the prosperity and development of the OpenHarmony ecosystem. With the release of OpenHarmony 3.2 Release, the OpenHarmony community has entered a new stage of development.

OpenHarmony 3.2 Release brings many new features, supports the use of ArkTS language + Stage application model for large-scale application and atomic service development; ArkCompiler optimization, Taskpool mechanism improves application performance; ArkUI component capabilities are enhanced, graphics rendering capabilities and System security capability enriches distributed business development; introduces AI framework, and at the same time, media, telephone, communication, Web, security, and commissioning capabilities are further improved; peripheral models are further enriched. The new version also provides API Level 9 stable interface. Some of the new features of the new version are described below, please go to OpenHarmony 3.2 Release Note for details of all new features.

Check out all new features now

zh-cn/release-notes/OpenHarmony-v3.2-release.md · OpenHarmony/docs - Gitee.com

What OpenHarmony 3.2 Release brings to developers

ArkUI

Enhanced component capabilities

●Support XComponent controls, which can be used to write EGL/OpenGL ES and media data, and display in XComponent components; through XComponent components, cooperate with NDK capabilities to build C++/ArkTS hybrid development capabilities, and support game and media application development.

●Support AbilityComponent control, support embedding other applications as control (Component) display.

●Add basic ArkTS card development capabilities: support card interaction and dynamically update content; unify the card and page development paradigm, and the page layout can be directly reused in the card layout to improve the card development experience and development efficiency.

● By default, the system supports copying, pasting, and dragging of plain text and pictures, and developers do not need to handle copy, paste, and drag events.

● Support multi-level menu and group menu.

● Support switching between dark mode and light mode, only supported by system applications.

UI interface development supports one-time development to adapt to multiple screen specifications

● Enhanced interaction normalization capability, interaction normalization event docking TP, mouse, keyboard, touchpad, stylus, ArkUI native components support normalized operation.

● Responsive layout capability optimization, enhanced media query capability, grid system reconstruction and docking free window.

● Enhanced focusing ability, supports Tab key and direction keys to focus, and supports configuration whether components can be focused.

● Supports enhanced column and sidebar component capabilities, and supports drag-and-drop auto-hide capabilities.

application framework

● Stage model, a new model in OpenHarmony API 9, provides the necessary components and operating mechanism of the application. Developers can develop complex applications based on this model, making application development simpler and more efficient.

○ Provide component development in the form of classes, which is convenient for developers to expand based on classes.

○ Share virtual machine instances in the process to reduce application memory usage.

○ Supports sharing of data objects within the process, making it easy for developers to share state among multiple modules.

○ The separation of Ability life cycle and window display/focus event unifies the life cycle of components in multi-device mode, which is beneficial to the development of multi-device applications.

○ Ability and UI responsibilities are separated and have RPC call capability, which natively supports component-level cross-device migration and collaboration, which is conducive to distributed application development.

● Provide the Extension mechanism. With the help of Extension, the application provides custom functions and content to other applications or systems when interacting with them. For example, the application can be displayed as a card on the system desktop or perform background tasks when the system is idle. Commonly used extensions currently supported include: FormExtensionAbility, WorkSchedulerExtensionAbility, InputMethodExtensionAbility, AccessibilityExtensionAbility, etc.

● Atomized services support pre-loading by sub-package to improve the performance of the first-time loading of services.

● Support HSP (Harmony Shared Package) dynamic shared package, and support the sharing of code and resources within the application.

Application package management

● Support to select the default application. For example, if the user selects the default program when opening a file or url address with an application, the application will be automatically opened to operate the file later.

● Support for some preset applications such as Launcher, SystemUI, Settings, etc., the system grants permissions in advance (such as location, phone contacts, etc.), simplifies the authorization process after the device is out of the box, and improves user experience.

● Support whether the preset application configuration can be resident, whether it can be multi-process, whether to allow the use of Service-type ExtensionAbility and other capabilities, and strengthen the authority control of preset applications.

● Supports dynamic modification and update of application codes, and provides quick fix packages to facilitate rapid application response to needs and fix problems (this ability relies on device manufacturers to build application markets and provide distribution capabilities).

● Support so isolation based on hap package, which is convenient for developers to deploy so files in different modules, avoiding the problem of duplication of so names in different modules.

distributed technology

Support cross-device transfer of meta-services and cards, including: cross-device query, add, refresh, delete, etc.

distributed soft bus

● Provides file transfer capabilities based on Bluetooth links, and the performance of Bluetooth data transfer channels is about 10% higher than that of OpenHarmony 3.1.

● By establishing Message and Byte high and low priority queues for each process, to ensure that when Message and Byte are concurrent, the data transmission of the message queue is guaranteed first, and the Byte is also guaranteed to be effectively transmitted, which solves the byte data congestion In some cases, the message data cannot be transmitted in time.

● On the basis of supporting RAW streams, the COMMON stream transmission capability is added, and the unencrypted audio and video streams are encrypted and decrypted by the soft bus. The caller only needs to transfer the original audio and video stream data to the soft bus, and the soft bus guarantees the data secure transmission.

● Support dynamic selection of transmission link (WLAN/WiFi P2P/Bluetooth BR). Select the link according to the transmission link supported by the double-ended device and the service call soft bus transmission interface (SendFile, SendSteam, SendMessage, SendBytes). For example, when streaming data needs to be transmitted, WLAN (5G frequency band) is preferred for transmission. If WLAN is not available, other links (such as WiFi P2P) are selected for transmission.

distributed hardware

● Distributed camera photography supports setting the shooting location information and photo quality level (affecting the compression ratio and quality clarity of photos).

● Distributed cameras support video recording.

● Device management supports importing account authentication information into the device security authentication system, and devices with the same account can automatically complete device authentication and networking.

Distributed Data Management

Cross-application data access, local database, and data synchronization capabilities have been optimized and enhanced.

● Realize cross-application data access within the same device through proxy mode, avoiding frequent pull-up of data source applications.

● Supports cross-application data access of relational databases and key-value databases within the same device.

● Support key-value database and relational database.

● Support encrypted storage of database files.

● Supports abnormal damage detection and abnormal reconstruction of the database.

● Support applications to back up and restore databases through the client.

● Supports automatic backup of key-value databases.

● Supports remote query of relational databases by the same application across devices.

● Support abnormal damage detection and automatic reconstruction of metadata database.

● The key-value database is switched from the unified system sandbox to each application sandbox, reducing the access rights of application data and improving the security of application data.

media

audio

● Provides the ability to select Bluetooth devices for audio playback and calls.

● Support to generate and play DTMF dial tone.

● Support OpenSL ES basic recording interface.

● Support applications to query the list of currently available audio devices, and carry specific device information, such as device sampling rate, number of channels, and channel mask.

● Support querying information about playback streams and recording streams established in the system.

play

● Media playback supports local playback of fd format input, and supports HTTPS and HLS protocol network on-demand functions. Media playback supports HDI-based H264 hardware playback capability.

● Provide audio and video coding and decoding capabilities, video hard coding/hard decoding capabilities based on the HDI codec interface.

camera

● Support camera photo configuration: format, resolution, quality (affecting photo compression ratio and quality clarity), geographical location, etc. Support video and video capture.

● Support precise camera privacy protection policy, only allow foreground use (including camera floating window scene); support system service background to use the camera, and do not allow third-party APP to use the camera silently in the background. Provide a system interface for calling the global switch of the camera to enable and disable it.

picture

Added support for raw and Webp image formats.

program access control

● Realize the permission management framework of applications and system processes, and provide the following operation interfaces for application permissions:

○Provides the verification of permissions, the granting of permissions, and the revocation of permissions.

○ Provide authorization change monitoring function of permissions.

○Provide an interface for popping up the permission pop-up window, through which the application can pull up the pop-up window and apply for authorization from the user.

● Provide permission pop-up window application and privacy permission management function of Setting application.

● Provide privacy report function, support interface for adding/querying permission access records and monitoring permission usage status changes.

● Provide enhanced privacy protection features to improve users' privacy protection experience, including:

○Camera use reminder, when the camera is in use, the notification systemUI will display a small dot in the upper right corner to remind the user.

○One-key switch function, providing users with one-key switch to control the use of sensitive resources of the device's microphone/camera.

● Provide permissive mode of SELinux function.

SheetCompiler

Enhanced language features

● Supports the Ecma2021 specification in strict mode.

Compiler runtime features

● Provide es2abc compiler to optimize bytecode compilation performance and shorten compilation time.

● Provide an assembly interpreter to improve the running performance of the application high-level language.

● Provide a Host AOT optimization compiler based on PGO configuration files to improve the high-load performance of high-level applications.

● Supports modularization capabilities, better and more standardized support for complex application engineering development.

● Supports the hot patch mechanism and provides a technology base for applying hot fix runtime.

● Enhanced debugging, supports multi-instance debugging, hot reload debugging, and improves developer development efficiency.

● Supports CPU Profiler/Heap Profiler tuning capabilities based on the CDP protocol, providing application performance tuning and memory tuning capabilities.

language base library

● Enhanced utils functions, support uuid to provide universal unified identifier function, support Buffer to provide buffer read and write comparison search function.

● The Concurrent library adds the basic version of the concurrent API TaskPool to provide a concurrent task interface. The task pool (Taskpool) is to provide a multi-threaded operating environment for the application, reduce the overall resource consumption, and improve the overall performance of the system.

C/C++ tool chain

● Tool chain upgrade: LLVM is upgraded to 12.0.0, supporting MIPS architecture and RISC-V architecture.

● Function enhancement: support stack pageguard protection, address randomization, namespace isolation, CFI function, Fortify function, time zone data update, etc., to improve the security of C/C++ library.

● Performance optimization: optimize the performance of high-frequency functions to improve the basic performance of the c library, and optimize the linker to improve the loading performance of the library.

● Support locale to provide time zone setting refresh function.

drive

HDF driver framework capability

● Supports dynamic loading of kernel-mode drivers, plug-and-play event reporting of external devices, and driver security policy configuration, providing developers with a more stable and secure driver platform base.

● The HDI interface supports two channel modes: IPC call and direct call. Developers can use it flexibly according to actual services to improve service performance.

● Support HDI service-based code automatic generation capabilities, templated driver code generation capabilities, HCS macro analysis and configuration visual editing capabilities, reducing the threshold for driver development and improving development efficiency.

● Platform platform driver supports user state interrupt, new CAN bus HDF driver framework, MMC driver optimization, etc.

Peripheral Driver Model Capabilities

● The Camera driver model supports selfie mirroring, lens control, JPEG position information addition, Sensor capture angle query, and face recognition Meta stream support, simplifying the difficulty of camera driver development.

● Audio's ADM model adds key control capabilities such as headphone access, handset and speaker switching control, call volume setting, call mute, etc., to support the ecological expansion of audio hardware.

● Display driver model supports multi-screen management, software Vsync mechanism, compatible with FrameBuffer architecture, and supports efficient access to different display architectures.

● Support Codec hardware encoding and decoding driver model of the standard system, provide Codec HDI 2.0 interface and reference implementation, and support more complete hardware encoding and decoding capabilities.

● Supports motor drive models, including motor vibration start and stop, and basic motor effect control, providing users with a rich vibration experience.

● Support gesture-driven model, including status event, device status event reporting; support gesture start and stop, function status configuration.

● The USB driver model supports device mode and host mode, and supports DDK capabilities such as RNDIS network driver in device mode.

● Supports WLAN drive capability and anti-interference capability, provides optimal P2P channel selection capability, and continuously improves WLAN signal quality.

tool lift

DevEco Studio code development

● Support the diagnosis function of the application/service development environment, which can detect whether the development environment is complete and ensure that developers have a good development experience. If there are unsatisfied check items in the check result, it is recommended that you make adjustments based on the repair suggestions.

● Provide basic templates and card templates, support the creation of ArkTS service cards under the Stage project, and help developers quickly develop applications and services.

● Adding Extension Ability templates to OpenHarmony projects is supported. For details, see Adding Abilities to Modules.

● Supports checking code prompts for errors in accordance with the new syntax and specifications of ArkUI; adds the Code Linter code checking function, supports configuration checking rules, and repairs checking results.

● Supports the basic capability of C++ code Quick Fix. For details, please refer to Code Quick Fix.

● Provide a new OHPM CLI (OpenHarmony Package Manager Command-line Interface) ecological tripartite library package management tool, which supports OpenHarmony shared package publishing, installation and dependency management. Support API 9 historical project migration to OHPM project, refer to manual historical project migration for details.

● Supports the construction of closed-source HAR, and supports the configuration of the obfuscation capability of HAR.

● Supports AOT compilation mode, provides high-load TS performance selection and construction capabilities, and improves application performance. For details, please refer to Enabling AOT compilation mode.

● The stage project of API 9 enables modular compilation by default, which can effectively shorten the incremental compilation time and reduce the compiled package size.

● Support concurrent compilation to improve compilation speed.

DevEco Studio application debugging and tuning

● Support ArkTS/JS and C/C++ cross-language debugging features. In C/C++ projects, use ArkTS/JS and C/C++ for mixed development, and you can directly enter C/C++ where ArkTS or JS calls C/C++ methods Debugging in the code is convenient for developers to quickly discover and solve code problems related to cross-language calls. For details, please refer to ArkTS/JS and C/C++ project cross-language debugging.

● Support Hot Reload, and save the code to use the latest code on the real machine without restarting the application.

● Support OpenHarmony multi-package push and multi-instance debugging functions.

● Support memory error detection for OpenHarmony API 9 C/C++ projects.

● The OpenHarmony log function supports printing FaultLog, which is convenient for application developers to quickly query, locate, and export application fault information.

● The capability of the test framework is enhanced. For projects of JS/ArkTS API Version 8 and 9, the execution efficiency of the test framework is significantly improved; at the same time, the template of the test framework is optimized to improve the readability of the template code.

testing ability

● Added the test case screening and execution capability, which supports the configuration of specified fields in the test case, such as test case type, level and other parameters, and executes the filtered test cases through commands to help developers improve test execution efficiency.

● Added test case-driven execution capability, which can configure different input and output data of similar test logic into auxiliary files to help developers reduce the amount of test code.

● Added UI scene simulation operation capabilities such as multi-window, two-finger pinching, and sliding to improve the scope of UI automation support.

● Added OpenHarmony application quality requirements compatibility test specifications, covering six aspects of UX, performance, power consumption, stability, compatibility, and security, and standardizing the basic quality requirements of OpenHarmony applications.

● The SmartPerf-Host performance and power consumption debugging and tuning tool provides developers with a performance tuning platform and supports GUI (graphical user interface) operations for detailed data analysis. New in version 3.2:

○Supports power consumption analysis capability, displaying power consumption ratio information of each sub-category of applications, resource application and usage records, abnormal power consumption events, power consumption and system status correlation information.

○Support web crawl trace.

○Support SQL query and Metrics description.

○Support kernel memory event analysis.

● Enhancement of wukong software stability tools:

○Support injection of sliding, mouse, character, system button, and control events, simulating diversified random operations of users, covering real user operation scenarios, and digging out more stability issues.

○Supports setting the total running time, black and white lists of applications, and realizes personalized testing.

○Support control sequential traversal test, support interface screenshots during the test process; support sleep wake-up test.

Get the OpenHarmony 3.2 Release source code for experience

The OpenHarmony 3.2 Release version continues to provide version source code and ready-made mirrors in accordance with the usual practice, and supports community developers to experience and use.

method one

OpenHarmony 3.2 Release Note provides a way to download the version code. You can obtain the latest source code of the version branch from the version branch, including the merge into the branch after the release of the version. The command to synchronize the code is as follows:

repo init -u [email protected]:openharmony/manifest.git -b OpenHarmony-3.2-Release --no-repo-verify
repo sync -c
repo forall -c 'git lfs pull'

way two

OpenHarmony 3.2 Release Note also provides a mirror site, which can directly obtain mirrors for experience, supports full code, various solutions, and standard system Public SDK packages applicable to various platforms.

Join the community to build together and continue to contribute

Currently, thousands of developers have participated in the contribution and co-construction of OpenHarmony. At the same time, hundreds of partners have participated in the development and practice of OpenHarmony. In the future, we also look forward to more joint construction units and developers working together to create a digital base that enables thousands of industries.

Guess you like

Origin blog.csdn.net/OpenHarmony_dev/article/details/130125223