登录社区云,与社区用户共同成长
邀请您加入社区
本文基于仓颉实现cjh终端的实战,总结325个单测、15个PTY集成测试中的真实踩坑,聚焦字符串/UTF-8、lambda/异常并发、工具链等高风险坑群,每个坑均对应可复现事故并给出验证解法,附开源地址
AppRoute我们使用enum来定义应用中所有可能的、类型安全的路由路径。// 使用枚举定义所有可达的页面// 简单页面case Homecase Login// 带参数的页面// 带回调的页面// (可选) 增加路由元信息,用于权限控制路由管理是应用架构的基石。始于`Navigator.push/op` 的基础命令。利用@Prop构造函数实现类型安全的参数传递。演进到使用和构建中央路由系统。实
文章摘要:HarmonyOS 5.0生态下,教育机器人通过分布式Actor模型(封装、消息驱动、位置透明)与具身智能框架实现突破性创新。仓颉Actor模型将教育机器人分解为感知、决策、执行等独立Actor,支持多设备(机械臂、投影仪等)协同教学。具身智能赋予机器人物理认知能力,结合HarmonyOS分布式调度,实现自适应教学、实时环境交互和安全操作。该架构对比传统方案具有分布式协同、认知自适应等优
仓颉编程语言作为一款面向全场景应用开发的现代编程语言,通过现代语言特性的集成、全方位的编译优化和运行时实现、以及开箱即用的IDE工具链支持,为开发者打造友好开发体验和卓越程序性能。具备高效编程、安全可靠、轻松并发、卓越性能等设计理念,可以说仓颉整合了C++、Java、python、javascript等语言的各种优点特性,是一种大模型浪潮下的AI for PL、PL for AI的形态,支持面向应
2026 年 8 月底,一个叫 cjh 的仓颉语言 Coding Agent 在开发者社区里传开。据公开报道,这是仓颉生态里冒出来的原生 AI 编程工具,走的不是「套壳大模型」路线,而是用仓颉语言本身写 Agent 框架。消息一出,不少人问同一个问题:仓颉写 Agent,到底靠不靠谱?我的直觉是,这事有意思,但别急着吹。国产语言做 AI 编程工具,成败不在一两个炫技 demo,而在工具链能不能落地
仓颉语言做 coding agent,不是"用仓颉写一遍"的重复,而是单二进制、安全 DNA、原生并发、国密加密、多后端跨平台这些特性组合出来的真实优势。如果你的项目也受困于运行时依赖、token 成本、执行效率或插件安全——cjh 给出了一个仓颉原生的完整答案。🔗。
本文详细对比了Java与仓颉语言中HashSet的异同点,帮助开发者快速上手并避免常见陷阱。从初始化语法、API设计到性能优化,全面解析仓颉HashSet的独特优势与使用技巧,特别适合从Java转战仓颉的老手参考。
本文深入探讨了仓颉(Cangjie)编程语言中Option类型的四种取值方法:match表达式、getOrThrow、??操作符和?.安全调用操作符。通过对比分析各方法的适用场景、性能表现和代码风格,帮助开发者在不同业务需求下做出最优选择,提升代码的健壮性和可读性。
大模型工程化落地常卡在“胶水代码”过多、类型契约脱节等痛点,这让AI原生语言成为开发社区关注的焦点。所谓AI原生语言,是从语法、类型系统到运行时,都把大模型调用、流式输出、工具调用作为一等公民来设计。仓颉作为全场景高性能语言,在AI亲和化方向做了系统探索,借助类型安全的模型上下文、声明式工具函数、协程与流式输出结合等机制,将Prompt与代码的契约统一起来,把很多运行期问题提前到编译期暴露。这类设
本文介绍了在DevEco Studio 6.1.1 Release环境下搭建仓颉语言开发HarmonyOS应用的全流程,重点解决插件安装与项目配置两大易错点。 核心步骤: 通过IDE内置插件市场自动安装匹配版本的仓颉插件(避免手动下载导致的版本冲突) 创建项目后必须配置build-profile.json5文件,添加buildModeSet以支持多架构编译 编写仓颉版Hello World程序并运
三方库共建、学习成长之后,「仓颉开发者生态共建季」来到第三站 ——
本次仓颉生态创新开发挑战赛,面向全球开发者,围绕技术课题、三方库建设、及生态创新实践展开。你可以选择赛事组推荐命题,也可以自由发挥,用代码补齐生态能力、解决真实开发需求。8 月 21 日,赛事规则、选题方向与报名入口正式发布。扫描海报二维码加入活动群,提前领取共建资料包!60 个获奖名额,总价值 7 万元激励,一等奖单项价值 10,000 元!仓颉开发者生态共建季·第三站即将开启!AI 赋能开发,
基于 TypeScript 改造、动态类型,现在绝大多数鸿蒙 APP、元服务、UI 页面都是 ArkTS 编写,生态最完善、教程最多、ArkUI 声明式 UI 框架原生适配 ArkTSHuawei Dev...。适合大型计算、后台任务、AI 应用、需要极致性能的模块,可以和 ArkTS 代码互相调用、混合开发仓颉编程语...。,二者都需要方舟编译器编译运行,不存在 “整个操作系统由仓颉写成” 的情
本文对比了仓颉语言与Java在1000万随机整数排序上的性能表现。通过实现基数排序算法优化仓颉的排序性能,结果显示:优化后的仓颉基数排序仅需438ms,比Java的877ms快近一倍。文章详细解释了基数排序的原理(分两趟处理高低16位)及其效率优势(O(n)复杂度),并提供了代码实现与测试方法。测试环境为Windows 10 x64系统,使用仓颉1.0.5(cjnative后端)和Java 25。
本文记录了在Linux系统上从零安装仓颉(Cangjie)编程语言SDK的完整过程。首先通过Git仓库获取SDK文件,解决了Git LFS下载超时问题,采用curl断点续传方式完成大文件下载。解压后配置环境变量,确保编译器路径和运行时库生效。最后编写并运行了第一个"hello.cj"程序验证安装成功。文章详细记录了安装过程中遇到的网络问题和权限问题,并提供了相应的解决方案,为开发者尝试仓颉语言提供
本文我们解构了“相册选择”功能。它远不止是 `picker.pick() 一行代码,而是一个涉及权限、异步、状态、I/O的完整工程链路。MVVM架构:使用class 将所有逻辑与@Component视图彻底解耦。异步处理:使用和Task,将复杂的回调流转变为清晰的“同步”逻辑,并用完美处理了所有分支。状态管理@State自动将ViewModel的状态(如isLoading)绑定到UI,无需手动操作
在移动应用生态中,推送通知是连接用户与服务的核心桥梁,是唤醒沉睡用户、传递关键信息、提升活跃度的利器。鸿蒙系统(HarmonyOS)以其分布式能力为开发者带来了新的想象空间,而仓颉编程语言,凭借其现代化的语法设计、强大的并发能力和内存安全特性,为构建高性能、高可靠的通知功能提供了坚实的基础。它应该包含清晰的标题、简洁的正文、醒目的图标,甚至可交互的按钮。在这个例子中,我们不仅设置了标题和正文,还加
ArkUI声明式开发范式分布式数据对象的使用网络请求与数据绑定跨设备协同的基本原理这种实现模式不仅适用于天气应用,也可扩展到其他需要多设备数据同步的场景,如游戏状态同步、协同办公等。
/ 单例模式if (!// 初始化分布式KV存储encrypt: true, // 健康数据需要加密});// 同步健康数据value,}));// 获取健康数据穿戴设备数据采集分布式数据同步数据可视化展示异常状态处理通过这个项目,开发者可以掌握鸿蒙健康数据管理和分布式协同的核心技术,这些技术同样适用于其他需要跨设备数据同步的场景。
使用HarmonyOS剪贴板服务监听和操作剪贴板内容利用分布式数据管理实现跨设备数据同步设备管理和发现机制剪贴板历史记录管理数据安全和隐私保护策略支持多种数据类型(文本、URI、HTML等)实时同步剪贴板内容完善的剪贴板历史管理可配置的内容过滤和设备白名单可选的数据加密传输添加图片和富文本支持实现剪贴板内容搜索添加云同步功能支持自定义同步规则开发浏览器插件和桌面客户端。
ArkUI声明式编程 - 通过简洁的DSL实现复杂3D效果分布式能力 - 实现多设备照片浏览同步动画系统 - 创建流畅的3D翻转过渡电商商品3D展示教育类应用的翻书效果游戏中的3D卡片交互完整项目代码已适配DevEco Studio 4.0,开发者只需替换测试图片即可运行。通过调整动画参数和分布式同步策略,可以进一步优化用户体验。
基于Stage模型的多窗口协同编辑备忘录内容的实时同步与冲突解决直观的用户界面和流畅的交互体验高效的分布式数据同步机制完善的窗口生命周期管理通过借鉴游戏中的同步技术,我们构建了一个高性能的跨窗口协同编辑应用。该项目不仅展示了HarmonyOS 5 Stage模型的核心能力,也为开发者提供了实现复杂协同应用的参考方案。
if (!
认领一个仓颉三方库,开启 Vibe Coding,提交你的 PR。你的贡献不仅有机会被合入仓库,更有机会让自己的名字写进仓颉生态。具体奖品以华为商城实际库存及最终活动规则为准,如遇库存不足,将替换为同等价值的电子产品。写下你的第一行仓颉代码,提交你的第一份开源贡献,让名字真正留在仓颉生态。扫码进群,领取共建资料包,有问题随时聊,直播通知也在群里发。这不是一场单独的活动,而是贯穿整个夏天的开发者共建
文章主要介绍了在Windows系统下配置Nginx服务器的完整步骤,同时阐述了基于Hutool工具包实现的轻量级HTTP服务开发,以及通过DevEcoStudio构建的鸿蒙应用项目,展示了视频/音频播放功能实现和登录验证系统的开发。项目采用前后端分离架构,后端使用Java实现验证码生成和用户验证服务,前端通过HTML5页面实现交互界面,最终实现了包含验证码校验、用户登录、媒体播放等功能的完整应用系
摘要:仓颉语言的元编程系统提供了声明式宏、过程宏和属性宏等强大功能,支持编译时代码生成、反射和计算。通过宏系统设计,开发者可以消除样板代码、构建DSL、实现编译时优化和自动派生。文章详细解析了宏定义、编译时反射机制,并展示了ORM生成器、状态机等实战案例。最佳实践包括保持宏卫生性、控制展开大小、优先编译时计算等。相比Rust和C++,仓颉提供了更完善的编译时能力和开发工具,未来将增强类型级计算和工
本文探讨了软件性能优化中的热点代码识别与分析技术。热点代码分为CPU密集型和IO密集型,以及函数级和循环级两种类型。仓颉语言提供了采样式和插桩式两种性能剖析工具,分别适用于生产环境和开发阶段。通过一个数据处理系统的实战案例,展示了如何识别占用45%CPU时间的processItem函数和30%CPU时间的循环计算热点。这些技术为开发者提供了系统性的性能优化方法论,是构建高性能应用的关键能力。
元组在仓颉里既是方便的语法糖,也是性能友好的值类型工具:它适合短期、固定组合的数据传递与模式匹配,能显著减少样板代码并与编译器优化协同工作。但在设计 API 或长期持有数据时,应权衡可读性、可维护性与序列化兼容性,必要时用命名结构体替代。掌握何时用元组、何时用结构体,是工程师在仓颉中写出既简洁又稳健代码的关键。
本文介绍了仓颉编程语言中循环作为表达式的设计理念及其四种循环类型(for-in、while、do-while、while-let)的应用场景与语法要点。仓颉将所有控制流视为表达式,统一类型系统,增强组合能力。文章通过数值计算(二分法、蒙特卡洛π)、集合遍历(区间、元组解构、where过滤)和流式处理(while-let模式匹配)等实战案例,展示了不同循环类型的适用场景与工程实践中的优化技巧。核心优
本文深入剖析仓颉语言在字符串拼接方面的优化策略。通过编译器智能识别拼接模式转为高效实现,采用StringBuilder预分配和动态扩容策略(以1.5-2倍增长因子),结合小字符串优化(SSO)和写时复制机制,实现了O(n)级别的拼接性能。在多线程场景下保证线程安全,格式化功能与拼接深度集成。实测显示优化后性能提升60倍,内存占用减少98%,GC暂停显著降低,展示了仓颉"零成本抽象&quo
我们要从“防御式编程”( defensive programming,担心哪里会抛异常)转向**“精确错误处理”**(precise error handling)。✨仓颉的异常捕获机制,其精髓可能在于**“它没有传统意义上的异常捕获”**。它引导把“错误”视为程序执行中一种**预期内的结果**,而不是一种需要“中断”一切的“异常”事件。
垃圾回收(Garbage Collection,GC)是仓颉内存管理体系的核心组件,它在自动化内存管理便利性与性能开销之间寻求平衡。许多开发者将GC视为"黑盒",但实际上,深入理解并合理调优GC参数,往往能够将应用性能提升,并显著改善响应延迟的可预测性。仓颉的GC设计借鉴了现代垃圾回收器的最佳实践,提供了丰富的调优参数,使开发者能够针对不同应用特征进行精细化优化。仓颉采用(Generational
代码内联(Inlining)是编译器优化技术中最基础却最具影响力的一环。在仓颉编译器的优化体系中,内联策略的设计体现了对性能、代码质量和编译效率的精妙平衡。内联的核心思想是将函数调用替换为函数体本身,从而消除调用开销,但这个看似简单的操作背后,却隐藏着复杂的决策逻辑和深远的性能影响。传统的函数调用涉及参数准备、栈帧建立、跳转执行、返回值传递和栈帧销毁等多个步骤,每一步都消耗 CPU 时钟周期。对于
仓颉语言的正则表达式引擎采用NFA与DFA混合架构,智能选择最优匹配策略。文章详解其核心技术:1)编译时优化与多级缓存机制;2)原生UTF-8支持与字符边界处理;3)延迟具体化的捕获组实现;4)回溯控制与性能安全保障;5)流式匹配与并发处理能力。通过混合自动机、智能缓存和零拷贝等技术,仓颉引擎在保持功能强大的同时实现了高性能,特别适合处理大规模文本和国际化内容。文章还分享了实际性能优化经验,展示了
文章摘要:仓颉语言的内存优化需要从基础上升到架构思维,核心在于值类型优先与引用计数的合理运用。高级技巧包括自定义写时复制(COW)实现来平衡安全性与性能,架构层面规避引用循环而非事后修复,以及利用数据局部性优化内存布局提升缓存效率。这些方法在实战中显著降低内存开销并提升性能,体现了仓颉内存管理作为综合艺术的专业深度。
MVVM不是银弹,它是一种用于管理复杂度的工具。对于简单组件@Component内部管理状态(实战一)完全足够,强行使用MVVM是过度设计。**对于复杂页面:当状态、异步逻辑和业务规则开始混杂时(实战二),MVVM是保持代码清晰、可维护、可测试的最佳实践。仓颉的响应式系统为MVVM提供了强大的底层支持。作为开发者,我们的“成长”体现在能准确判断何时从轻量级实现演进到经典MVVM架构,以应对不断增长
对于非泛型函数,在同一个作用域中,参数类型完全相同的同名函数被视为重定义,将产生一个编译错误。以下几种情况要格外注意:同名函数即使返回类型不同也构成重定义。• 同名的泛型与非泛型函数永不构成重定义。• 在继承时,对于子类中的一个与父类同名且参数类型完全相同的函数,若其返回类型是父类中的版本的子类型,则构成覆盖,也不构成重定义。(这是因为子类与父类作用域不同。对于两个泛型函数,如果重命名一个函数的泛
仓颉
——仓颉
联系我们(工作时间:8:30-22:00)
400-660-0108 kefu@csdn.net