Daily News #2026-06-29

  • .NET 11 预览版更新:C# 新特性与 Blazor 体验全面升级
  • SwiftUI iOS 27:在非 List 布局中实现流畅的拖拽重排

📥 Tech News

.NET 11 预览版更新:C# 新特性与 Blazor 体验全面升级

来源:InfoQ 推荐

发布时间:2026-06-27 11:00:00 背景/问题:微软持续迭代其技术生态,近期发布了 .NET 11 的第五个预览版。该版本致力于通过优化运行时、SDK 和各类应用框架,为开发者提供更高效的开发体验和更现代化的语言特性。

核心观点/方案:本次更新亮点频出。C# 语言引入了 closed class 和联合类型等预览特性,增强了模式匹配的编译器校验与类型安全;SDK 侧大幅改进了基于 File 的轻量级应用开发体验,并内置了 MCP 服务器模板;Blazor 在前端表单验证(支持客户端即时校验和异步规则)和静态渲染页面上实现了质的飞跃;此外,.NET MAUI 获得了数十个可靠性补丁,Entity Framework Core 也增加了对同步执行异步查询的警告机制。

结论/价值:该版本对一线 .NET 开发者极具技术参考价值,尤其是热衷于尝试前沿 C# 语法和 Blazor 优化的工程师。虽然部分特性仍处于预览阶段,但其展现出的提效工具链和安全防范机制(如 SDK 漏洞警告)值得提前关注,以便更好地规划后续的架构升级与技术平滑迁移。

💾 Daily Dev

SwiftUI iOS 27:在非 List 布局中实现流畅的拖拽重排

来源:iOS Development News - Telegram Channel

发布时间:2026-06-27 15:37:37 背景/问题:在 iOS 27 之前,SwiftUI 仅在 List 容器中原生支持流畅的拖拽重排。开发者若想在 LazyVGridLazyVStack 或自定义布局中实现相同体验,必须编写复杂的拖拽状态跟踪与数据源同步逻辑。

核心观点/方案:iOS 27 引入了 .reorderable().reorderContainer(for:) 两个修饰符来解耦重排职责。前者标记 ForEach 中的元素可参与拖拽,后者让父容器管理拖拽交互。值得注意的是,SwiftUI 不再直接修改底层数据,而是通过返回 ReorderDifference 对象告知元素的移动轨迹,将数据持久化的控制权完全交还给开发者。

结论/价值:该新 API 极大降低了在复杂自定义布局中实现原生级别拖拽重排的门槛,其将视图交互与数据状态分离的架构设计尤为优雅。非常适合 iOS 移动端开发者跟进学习。不过,该方案目前尚不能完全替代 List(缺乏滑动操作等特性),更适合专注于卡片看板、仪表盘等纯重排需求的界面开发。