编程语言理论

传奇开心果编程9 天前
flutter·移动开发·跨平台·dart·编程语言理论·编程框架·声明式ui
【Flutter踩坑排雷】第3课:const 误用坑|const 错误使用引发 UI 异常与性能损耗第2课中 ! 的故障是“爆炸式”的:堆栈清晰、签名明确、崩溃立即发生。const 的故障则几乎是它的反面——代码编译通过,静态分析没有报错,App 正常运行,只是某些东西“不动了” 。没有异常,没有红屏,甚至没有警告。这种安静本身,就是排查难度的主要来源。
传奇开心果编程9 天前
kotlin·移动开发·跨平台·cmp·编程语言理论·编程框架·声明式ui
Compose Multiplatform 共享边界实战:架构契约、互操作同步与可回退设计摘要:CMP 1.8.0 稳定版解决了“能不能用于生产”的准入门槛,但没有回答“共享多深、边界在哪、性能怎么验收、回退是否真实可用”。本文围绕三个工程问题展开:共享边界画在哪里、互操作层的同步契约是否被正确实现、性能问题出现时能否归因到正确的阶段。 边界层面给出 commonMain 的硬性判定标准(原样编译到 iOS 与 wasmJs 零修改通过)、StateHolder + StateFlow 的状态契约,以及 SharedKernel 边界层“定义契约而非胶水”的作用;互操作层面把 AndroidV
传奇开心果编程10 天前
android·移动开发·1024程序员节·jetpack compose·编程语言理论·编程框架·声明式ui
【Jetpack Compose娓娓道来】第26课:Repository模式与数据层设计——数据的唯一入口第30课我们把业务逻辑从UI层抽到了ViewModel,ViewModel成了“大脑”。但大脑要做决策,得先有信息。信息从哪来?
传奇开心果编程10 天前
kotlin·移动开发·跨平台·cmp·编程语言理论·编程框架·声明式ui
从替代到粒度:Compose Multiplatform 的决策模式重构已开启跨平台新时代摘要:2025 年 5 月,Compose Multiplatform 的 iOS 支持进入稳定版。JetBrains 的发布说明里有一个容易被忽略的表述:它不要求团队在“全共享”与“全原生”之间二选一,而是允许一次一个屏幕、一个功能地接入。多数评论将其归入“跨平台 UI 又多了一个选项”的叙事,但这个表述的实际含义更深:它把跨平台的衡量单位从“框架”换成了“粒度”。衡量单位一变,决策模式就跟着变;决策模式一变,一个新时代就真正开始了。
传奇开心果编程11 天前
开发语言·rust·结构体·编程语言理论·结构体方法·编程通用语言
【Rust入门练中学】第6课:结构体与方法目录目标:掌握 struct 定义与实例化、impl 块、方法、self 的三种形式、关联函数,理解结构体内存布局、方法解析机制、所有权与结构体的配合,以及实际项目中的常见模式。
传奇开心果编程11 天前
android·kotlin·移动开发·jetpack compose·编程语言理论·编程框架·声明式ui
【Jetpack Compose娓娓道来】 第25课:ViewModel就是UI界面的大脑这是一个用户列表页面,网络请求、状态管理、错误处理全写在可组合函数里:这段代码能跑,但它有一个致命缺陷:屏幕一旋转,所有状态归零,数据重新加载。
传奇开心果编程12 天前
开发语言·rust·引用·编程语言理论·通用编程语言·借用
【Rust入门练中学】第5课:引用与借用目标:深入理解 &T、&mut T、借用规则背后的设计哲学,掌握悬垂引用、NLL、切片 &str 与 &[T],并能用借用思维重构代码。
传奇开心果编程12 天前
kotlin·移动开发·跨平台·编程语言理论·开发范式·编程框架·声明式ui
【Compose Multiplatform跨端声明式UI实用技术】第20课:CMP跨平台经典示例深度解析前十九课系统覆盖了CMP从环境搭建到部署发布的完整技术栈。本课作为系列的收官之作,将以JetBrains官方示例和社区标杆项目为样本,逐层拆解CMP在真实项目中的架构决策、平台互操作策略与工程化实践。本课内容基于CMP 1.12.1与Kotlin 2.3.20。
传奇开心果编程12 天前
开发语言·rust·错误处理·编程语言理论·通用编程语言
【Rust入门练中学】第8课:错误处理目标:掌握 panic!、Result<T, E>、? 运算符、常用辅助方法、自定义错误类型,理解两类错误的边界、? 的自动转换机制,以及实际项目中的错误处理策略。
传奇开心果编程12 天前
开发语言·rust·编程语言理论·集合类型·通用编程语言
【Rust入门练中学】第9课:集合类型目标:掌握 Vec<T>、String、HashMap<K, V> 的常用操作,理解它们的内存布局、所有权行为、性能特征,以及迭代器入门。
传奇开心果编程13 天前
性能优化·移动开发·跨平台·编程语言理论·开发范式·编程框架·声明式ui
【Compose Multiplatform跨端声明式UI实用技术】第17课:性能优化与基准测试第16课完成了架构设计的学习。本课深入CMP性能优化的核心实践:Compose三阶段渲染管线的优化切入点、重组优化策略(@Stable/@Immutable、key()、derivedStateOf、延迟读取)、Lazy布局的性能陷阱、iOS端Metal着色器编译停顿的预编译策略、纹理图集抖动修复、Kotlin/Native GC调优、基准测试工具链,以及find_degradation脚本与LazyGridImageView基准对比。本课内容基于CMP 1.12.1与Kotlin 2.3.20。 文末附
传奇开心果编程17 天前
移动开发·编程语言理论·开发范式·编程框架·声明式ui·cmp导航·navigation 3
【Compose Multiplatform跨端声明式UI实用技术】第10课:CMP 导航——Navigation 3 实战第9课完成了跨平台 ViewModel 与状态架构的学习。本课将深入 CMP 导航体系的核心——Navigation 3。Navigation 3 不是 Navigation 2 的增量更新,而是一次彻底的重设计:返回栈从库内部状态变为开发者直接持有的 SnapshotStateList,导航操作简化为对列表的增删,自适应多窗格布局成为一等公民。本课将覆盖设计哲学、从 Navigation 2 的迁移路径、基础导航模式、深层链接、跨平台返回手势处理、自适应多窗格布局,以及与 ViewModel 的集成。本
传奇开心果编程18 天前
移动开发·列表·编程语言理论·开发范式·编程框架·声明式ui·惰性布局
【Compose Multiplatform跨端声明式UI实用技术】第7课:列表与惰性布局第6课完成了组件与设计系统的学习。本课进入 CMP 列表与惰性布局的核心:LazyColumn、LazyRow、LazyVerticalGrid 的基本用法,key() 的正确使用与列表性能优化,列表项的重组控制与 @Stable/@Immutable 标注,列表状态管理与分页加载模式,以及 iOS 端惰性布局的滚动性能改进。本课内容基于 CMP 1.12.1。 文末附有15道配套习题与本课知识点总结。
传奇开心果编程19 天前
移动开发·编程语言理论·开发范式·编程框架·声明式ui·常用组件·material 3 设计系统
【Compose Multiplatform跨端声明式UI实用技术】第6课:常用组件与 Material 3 设计系统第5课完成了布局系统的学习。本课进入 UI 组件与设计系统的核心:Text、Button、Card、Icon、Image 等常用组件的使用,Material 3 主题体系(colorScheme、typography、shapes、motionScheme)的配置,动态主题与自定义设计 Token 的实现,以及组件状态(enabled、loading、error)的统一处理模式。本课内容基于 CMP 1.12.1 与 Material 3 1.5.0-alpha22。 文末附有15道配套习题与本课知识点总
传奇开心果编程19 天前
移动开发·编程语言理论·热重载·开发范式·编程框架·声明式ui·效率工具链
【Compose Multiplatform跨端声明式UI实用技术】第3课:Compose Hot Reload 与开发效率工具链第2课完成了项目搭建。本课将深入 CMP 开发效率的核心工具链:Compose Hot Reload 的完整工作流、统一 @Preview 注解在 commonMain 中的使用技巧、MCP 服务器与 AI 编码助手的集成方式,以及语义树调试等效率工具。本课内容基于 CMP 1.12.1。 文末附有15道配套习题与本课知识点总结。
传奇开心果编程20 天前
移动开发·编程语言理论·开发范式·编程框架·函数式思维·声明式ui·声明式ui思维
【Compose Multiplatform跨端声明式UI实用技术】第4课:Composable 函数与声明式 UI 思维前三课完成了环境搭建、项目创建和工具链配置。从本课开始,正式进入 UI 基础与核心组件模块。本课将深入 Composable 函数的本质、声明式与命令式的思维差异、Composable 函数的命名规范与设计原则,以及可组合项的组合与嵌套策略。本课内容基于 CMP 1.12.1。
传奇开心果编程20 天前
移动开发·编程语言理论·开发范式·编程框架·声明式ui·跨平台声明式ui·逻辑共享与ui共享
【Compose Multiplatform跨端声明式UI实用技术】第1课:CMP 全景解读——为什么选择声明式跨平台UI本课是系列课程的开篇。我们将从技术本质、范式演进、平台矩阵和实战决策四个维度,建立对 CMP 的完整认知框架。本课内容基于 CMP 1.12.1。 文末附有15道配套习题与本课知识点总结。
传奇开心果编程1 个月前
移动开发·表单·编程语言理论·开发范式·编程框架·声明式ui·用户输入
【React Native娓娓道来】第7课 表单与用户输入:TextInput、表单校验与键盘处理前六课的应用大多是"展示型"的:显示文本、渲染列表、页面跳转。数据要么写死,要么从服务器拉。但真实应用离不开"用户输入"。登录要填账号密码,注册要填手机号邮箱,发布动态要写文字,搜索要输入关键词。没有输入,App 就只是一个单向的信息展示板。
传奇开心果编程1 个月前
移动开发·动画·手势·编程语言理论·开发范式·编程框架·声明式ui
【React Native娓娓道来】第9课 动画与手势:Animated、Reanimated 与 Pressable 进阶前八课的界面大多是静态的。点按钮,内容瞬间切换;打开页面,元素直接出现。能用,但不够自然。真实的应用需要动画来传达信息:按钮按下时的轻微缩放,让用户知道"我点到了";列表项删除时的淡出,让用户知道"这项没了";页面切换时的滑动,让用户知道"我从哪里来,要到哪里去"。
传奇开心果编程1 个月前
移动开发·编程语言理论·开发范式·编程框架·声明式ui
【声明式UI开发实用技术学与练】第2课 状态建模:把界面拆成可预测的数据适用技术栈:React、Vue、SwiftUI、Flutter、Jetpack Compose。以 React 为主要教学语言,思维跨框架通用。