登录社区云,与社区用户共同成长
邀请您加入社区
E-Brufen Dev,AtomGit Flutter 鸿蒙客户端核心开发者。专注于 Flutter + HarmonyOS 技术栈的探索与实践。开源项目E-Brufen维护者。
Dart Isolate 是无共享内存的并发模型,通过消息传递通信,天然避免了数据竞争和死锁;提供最灵活的控制,适合需要持续通信的长生命周期 Worker;(Dart 2.19+)是单次计算任务的最简方案,自动处理创建/通信/销毁;compute是 Flutter 的便捷封装,适用于简单的单输入单输出计算;序列化开销是 Isolate 的主要代价——只有当计算耗时远超传输耗时(通常 > 50ms)
本文从UI设计角度分析了ImportantDays项目的视觉设计语言,主要包括色彩体系、排版规范、卡片设计等核心元素。项目采用简约现代风格,具有柔和色调、圆角设计、卡片布局等特点。色彩体系以珊瑚红(#FF6B6B)为主题色,并建立了完整的文字和背景色阶。排版系统定义了12级字体大小和3种粗细,间距采用4-32vp的递进体系。圆角设计遵循元素大小比例原则,阴影系统保持轻量自然。卡片设计包含列表页、日
在 HarmonyOS NEXT 正式商用的背景下,ArkTS 作为鸿蒙生态的官方应用开发语言,正在从传统的命令式 UI 开发范式向声明式 UI 范式全面迁移。ArkUI 框架以组件化、声明式、状态驱动为核心特征,要求开发者以"描述 UI 应该是什么样"而非"一步步操作 UI 怎么变"的思维方式构建界面。
在 HarmonyOS NEXT 正式商用的背景下,ArkTS 作为鸿蒙生态的官方应用开发语言,正在从传统的命令式 UI 开发范式向声明式 UI 范式全面迁移。ArkUI 框架以组件化、声明式、状态驱动为核心特征,要求开发者以"描述 UI 应该是什么样"而非"一步步操作 UI 怎么变"的思维方式构建界面。本文以一个名为"智能账单"的三标签页记账应用为切入点,逐层拆解其数据模型设计、@Builder
HarmonyOS NEXT系统配置访问指南 @ohos.settings模块为开发者提供了访问HarmonyOS设备系统配置的能力,支持读取设备设置、监听配置变更以及跳转系统设置页面。该模块通过命名空间组织上百个设置键,涵盖显示、通用、日期时间等8个维度,所有读取操作均无需权限。核心功能包括: 读取配置:通过getValue()/getValueSync()同步/异步获取设置项 监听变更:使用r
如何在Flutter中嵌入鸿蒙原生UI组件 本文探讨在Flutter应用中集成鸿蒙原生UI组件的技术方案。当遇到需要深度系统集成或追求原生体验的场景(如日期选择器、地图、WebView等),纯Flutter方案可能表现欠佳。文章通过决策表分析适用场景,介绍PlatformView的两种实现模式(Texture Layer和Virtual Display),并以DatePicker和MapView为
国产 AI 智能体国产开源智能体个人AI助手OpenOcta桌面实操。
这篇文章介绍了一个解决"今天吃什么"难题的App,核心功能是通过转盘随机选择美食。App采用单页四Tab架构(转盘、管理、历史、设置),数据模型包括美食项和选择记录。转盘动画使用setTimeout实现,通过逐渐增加间隔时间模拟减速效果,最终随机停止。文章详细解析了动画参数、三种视觉状态以及随机性保证机制,强调视觉随机与实际选择分离的设计优势。按钮状态根据条件变化,确保良好用户体验。整体方案简洁高
在HarmonyOS应用开发中,悬浮工具球是一个极具代表性的实战案例——它涉及子窗口管理、手势拖拽、状态管理V2、AppStorage全局通信等多个核心模块,是检验开发者ArkTS功底的绝佳场景。然而,在实际开发过程中,许多看似"理所当然"的写法,却会在编译期或运行期引发各种隐蔽问题。这些问题往往难以通过简单的代码阅读发现,需要深入理解ArkTS框架的设计哲学才能规避。本文将通过一个完整的悬浮工具
本文基于 Jetpack Compose 与 Compose Multiplatform(CMP)生产实践,结合、智能重组与 KMP 共享边界,拆解跨端全栈中多端 UI 不一致与卡顿的根因,并给出可落地的代码与避坑范式。
状态改了,页面却没动。这类问题刚开始会让人怀疑 ArkUI 的刷新机制,其实大多数时候不是框架没刷新,而是代码没有给 UI 一次清楚的状态变化。尤其是数组和对象,最容易踩坑:你改了对象里面的字段,但页面真正观察的是外层引用;你改了数组某一项,但没有把新数组赋回@State。排查状态问题时,先找 UI 读了什么,再看事件到底改了什么。比较稳的做法是分三步走:先把结构和职责立住,再把真实业务接进去,最
一个典型场景正在很多公司内部悄悄上演:某个团队给自己的AI Agent配了一个"Reader"角色,因为初始需求只是让它查询文档。几周后,工作流扩展了——Agent需要修复发现的问题,于是权限升级到了"Writer"再升级到了"Editor"。没有人专门做这个决定,只是每次遇到权限不足就往上加一层。半年后回头看,这个Agent已经拥有了比最初预期大得多的权限范围。 Microsoft安全团队在7月
本文深入探讨了KMP(Kotlin Multiplatform)与CMP(Compose Multiplatform)的关系及实践方案。KMP提供跨平台代码共享能力,CMP则在此基础上实现UI共享。文章指出: KMP可独立使用,不必强制采用CMP 页面共享需分三类处理:易迁移的普通页面、需改造的平台相关页面、不建议迁移的强平台页面 推荐架构分层:sharedLogic(业务逻辑)、sharedUI
在HarmonyOS的Stage模型中,是窗口管理的核心接口。它充当窗口管理器的角色,负责创建主窗口、子窗口,以及管理窗口的生命周期。无论是加载主页面、获取主窗口进行属性设置,还是创建弹窗、悬浮球等子窗口,都需要通过WindowStage接口来完成。本文将对WindowStage接口的每个方法进行详细解析,并提供可直接运行的实战示例。WindowStage是HarmonyOS窗口开发的基石。掌握其
在HarmonyOS应用开发中,窗口(Window)是用户与应用交互的第一入口。无论是应用的主界面展示、弹窗提示、悬浮工具球,还是沉浸式全屏体验,都离不开窗口模块的支撑。主窗口和窗口有什么区别?什么时候用子窗口?全屏布局和沉浸式开发到底怎么配置?安全区域(状态栏、导航条)怎么避让?窗口生命周期如何与应用生命周期关联?本文基于HarmonyOS官方文档,结合实战开发经验,系统梳理窗口开发的核心概念、
在// 全局 Builder:直接返回一个组件实例@BuilderHomePage();// 全局 Builder:封装核心功能图标@BuilderColumn() {// 路由跳转逻辑// ...});// 全局 Builder:封装课程练习卡片@BuilderColumn() {Row() {// ...// ...@Builder装饰器是 ArkTS 声明式 UI 开发的核心工具之一。组件内
/ 在 EntryAbility 或页面初始化时注册})// 在组件中使用Text('品牌文案')系统符号优先:通用功能优先使用 SymbolGlyph,减少资源包体积。符号语义化:选择与含义匹配的符号,避免误导用户。例如"删除"用垃圾桶符号而非叉号。渲染模式按需选择:单色用于导航栏,多色保留图标原始设计,调色板模式用于品牌定制。字体大小规范:定义统一的字体层级(如 12/14/16/18/20/
始终提供稳定的 key:使用数据库 ID 作为 key,绝不使用索引。条件渲染 vs visibility:结构差异大时用if/else,切换需要保留状态时用visibility。避免复杂条件表达式build()中的条件逻辑应简洁明了,复杂逻辑提取到计算属性。大数据量用 LazyForEach:超过 100 条数据时,优先考虑懒加载方案。三元运算符仅用于属性值:不要试图在build()中用三元表达
本文介绍了基于Flutter开发的鸿蒙分布式设备协同UI界面实现方案。该应用通过StatefulWidget管理设备连接状态,使用Switch组件控制连接开关,GestureDetector实现设备卡片交互,Wrap组件构建自适应设备列表。核心功能包括:1)分布式连接状态展示区,显示设备连接数量;2)可视化设备列表,展示手机/平板/手表等设备在线状态;3)跨设备操作面板,支持投屏、文件共享等协同功
本文介绍了鸿蒙应用开发中DevEco Studio预览器(Previewer)的使用技巧,包括@Preview装饰器的基础使用与参数配置、多设备同步预览实现方法、交互式预览功能以及常见问题处理方案。文章重点讲解了如何在开发中高效利用预览器验证UI效果,包括与@Entry装饰器的共存策略、mock数据测试方法以及不同设备参数的配置技巧,同时提供了预览失败时的排查指南。通过合理使用预览器,开发者可以显
统计页面通过三个可视化区块(概览卡片、月历活跃图、心情分布图)直观展示用户数据。概览卡片采用2×2网格布局,用不同颜色区分胶囊状态;月历视图通过日期网格的颜色深浅反映每日记录数量;心情分布图使用水平进度条对比情绪频率。设计上注重色彩语义(如绿色代表完成)和视觉层次(主色突出重要信息),并采用Flex布局和动态计算(如归一化进度条宽度)实现响应式展示。这些组件将数字转化为图形,帮助用户快速感知记录习
AI测试培训市场分析:随着AI技术在软件测试领域的应用日益深入,目前市面上的AI测试培训主要分为四类:AI辅助测试(提升传统测试效率)、AI产品测试(评测大模型/RAG/Agent等AI系统)、AI测试开发(构建测试智能体和评测平台)以及认证培训。主流培训机构如霍格沃兹测试开发学社、黑马程序员等分别侧重系统化能力培养、就业转型和专项技能提升。选择课程需重点关注AI内容占比(是否独立模块)、技术更新
本文全面解析了HarmonyOS窗口管理模块@ohos.window的核心功能与使用方法。该模块采用三层架构设计,开发者可通过getLastWindow()获取窗口实例,进而操作窗口属性和状态。文章详细介绍了四大核心API:获取窗口实例、读取窗口属性、调节亮度、设置屏幕方向及事件监听机制,并提供了完整示例代码实现窗口管理工具,包含属性展示、亮度调节、方向控制和事件日志功能。所有代码基于Harmon
Cursor负责开发落地,Claude提效日常编码,AI设计工具则补上了产品界面这块短板。关键还是看怎么搭配使用,让单兵作战也能打出小团队的效果。对于独立开发者来说,与其担心AI会不会替代自己,不如想想怎么把这些工具组合好,把一个人的产出放大到一个团队的水平。
本文介绍了鸿蒙应用开发中的 HiLog 日志系统核心用法,包括其架构设计、五级日志输出机制、isLoggable 预检功能等关键特性。通过对比 Android Logcat 和 iOS NSLog/os_log,突出了 HiLog 在领域隔离和隐私保护方面的独特设计。文章还提供了一个可交互的"HiLog 日志诊断实验室"示例,演示了如何在实际开发中应用 domain 配置、tag 命名、日志级别选
Kotlin Multiplatform (KMP) 为Android开发者提供了一种优雅的跨平台解决方案,它专注于共享核心业务逻辑而非UI,让开发者继续使用原生技术栈。文章指出KMP的优势:1) 零学习曲线,沿用Kotlin生态;2) 保持原生UI性能;3) 显著提升代码复用率(70-90%)。详细解析了KMP项目的分层架构,包括表现层、桥梁层、领域层和数据层的设计要点,并提供了五步实践指南:从
HarmonyOS NEXT 的 ArkTS 语言在 TypeScript 基础上引入了更严格的静态类型检查规则,目的是提升代码的可维护性和运行时安全性。许多从 TypeScript 或其他语言转向 ArkTS 的开发者,在初期经常会遇到一系列"看似矛盾"的编译错误。本文基于一个设备信息卡片应用的真实开发过程,系统梳理了四类高频编译错误的原因、修复方法和预防措施。每一类错误都配有错误代码与正确代码
本文介绍了鸿蒙应用开发中的三态UI设计模式,包括Loading、Error和Normal三种状态的处理方法。文章首先阐述了状态机的设计思路,通过@State变量管理加载状态,并展示了状态流转逻辑。随后详细讲解了三种状态的实现方式:使用LoadingProgress组件构建加载动画、通过@Builder创建错误提示界面(包含重试功能)、以及正常内容展示的实现。文章还提供了骨架屏的实现示例作为加载状态
本文介绍了在HarmonyOS NEXT中实现番茄钟计时器UI的关键步骤:1)设计状态变量管理计时、暂停、休息等状态;2)实现待办任务选择功能,包括当前任务显示和弹窗选择器;3)构建计时器核心UI,使用Progress组件创建圆形进度条并显示剩余时间;4)通过setInterval实现倒计时逻辑,包含开始、暂停和重置功能。文章配有完整代码片段和界面示意图,展示了番茄钟工作/休息状态切换、任务统计等
Builder装饰器可用于组件内部,定义仅在该组件内使用的 UI 构建函数。MoneyTrack 中的使用内联@Builder@BuilderRow() {// 月份选择器、成员选择器、视图切换、分享按钮@Builder@BuilderColumn() {Text('选择成员')每个@Builder方法管理一个独立的 UI 区域,使得build()方法的结构清晰易懂,各区域逻辑互不干扰。@Buil
【摘要】中兴通讯专家王翔宇将在TID质量竞争大会分享《测试智能体范式探索》,探讨AI如何重构软件测试全流程。议题聚焦"语义驱动开发+AI"新范式,提出从需求到报告的闭环自动化方案,覆盖7大关键技术,解决当前智能体测试存在的流程割裂、维护困难等痛点。分享将展示实际应用中故障发现率提升、人力成本降低等成效,并展望AI自进化等未来方向,为测试开发、质量工程团队提供智能化转型参考。购票
ui
——ui
联系我们(工作时间:8:30-22:00)
400-660-0108 kefu@csdn.net