Skip to main content

DejaOS Module Evolution Enhancing the Developer Experience

· 2 min read
iamvoxer
DejaOS Engineer

DejaOS modules are the cornerstone of our entire ecosystem. To unify interface specifications, improve code quality, and enhance ease of use, we have recently launched a long-term module iteration plan to comprehensively review and optimize all existing official modules.

Brand-New Modules for a Smooth Transition

Some modules have undergone significant refactoring, with rewrites from the underlying C/C++ implementation to the high-level JavaScript APIs. To ensure a smooth transition, we have introduced more powerful new modules with unified interfaces to replace the old ones. The old modules will be marked as "deprecated" but will remain available for a long time to ensure backward compatibility.

The main module replacements are as follows:

  • dxHttpClientdxHttp
  • dxHttpServerdxWebserver
  • dxMqttClientdxMqtt
  • dxNetworkdxNet
  • dxBarcodedxCode
  • dxConfigurationdxConfig
  • dxAudiodxAlsa, dxAlsaplay
  • dxOs, dxCommonUtilsdxCommon

Seamless Upgrades with Backward Compatibility

For the remaining modules that were not replaced, we have implemented functional upgrades and optimizations. The core usage of these modules remains largely unchanged, with only minor adjustments to a few functions. When such changes occur, we will provide clear deprecation notices in the logs and guide you to use the new alternative functions.

Documentation Has Been Updated

All updated modules are now accompanied by brand-new documentation. You can find detailed API references and usage examples in the Official DejaOS Modules Documentation.

We believe this comprehensive module upgrade will bring you a more stable, efficient, and enjoyable development experience.