推荐开源项目:Nori - 代码驱动的界面设计
在iOS开发中,我们经常需要在Storyboard和源码之间切换以实现界面设计与逻辑控制的完美结合。然而,Nori项目带来了一种全新的方式,它允许开发者通过源代码直接设计视图层,让设计变得更为灵活且易于维护。
1、项目介绍
Nori 是一款强大的框架,它允许您定义自定义的UI组件,并在Interface Builder中预览效果。通过扩展如StyleableLabel或StyleableButton这样的类,您可以轻松地为各种视图赋予设计样式,而无需离开您的代码编辑器。Nori支持的主要视图包括View、Button、ImageView、Label、TextField以及Switch,涵盖了大部分常见的UI需求。
2、项目技术分析
Nori的核心在于其@IBDesignable特性和intrinsicStyle()方法。开发者可以创建一个继承自StyleableLabel(或其他风格化视图)的自定义类,并重写intrinsicStyle()函数,以返回希望的LabelStyle或ButtonStyle。这种方式使得样式定义完全融入到Swift代码中,既保留了代码的可读性,又提供了直观的设计体验。
例如,要创建一个大号标签,你可以这样做:
import Nori
@IBDesignable class LargeLabel: StyleableLabel {
override func intrinsicStyle() -> LabelStyle {
return LabelStyle {
$0.textColor = Color.black.color
$0.font = UIFont.systemFont(ofSize: FontSize.large.point)
}
}
}
对于按钮,操作类似:
@IBDesignable class StarButton: StyleableButton {
override func intrinsicStyle(for state: UIControlState) -> ButtonStyle {
return ButtonStyle {
$0.backgroundColor = Color.green.color
$0.cornerRadius = 10
$0.title = LabelStyle {
$0.textColor = UIColor.white
}
}
}
}
3、项目及技术应用场景
Nori非常适合那些追求代码整洁度、喜欢纯代码开发或者需要跨平台共享界面设计的开发者。这个框架可以在快速迭代的产品开发过程中节省时间,因为它消除了反复调整Storyboard的必要。同时,由于所有设计都在代码中定义,团队成员间的协作变得更加流畅,版本控制也更加友好。
此外,对于自动化测试和持续集成环境,Nori提供了一个一致且可预测的接口,便于构建和维护UI测试。
4、项目特点
- 代码驱动: 所有界面设计都在代码中完成,提高了代码的可读性和可维护性。
- 实时预览: 在Interface Builder中,您的自定义视图会实时更新,方便调整和优化。
- 广泛支持: 支持多种常见视图,满足大部分界面设计需求。
- 高度定制: 通过简单的函数调用来实现复杂的视图样式。
- MIT许可证: 开源且免费,允许商业用途,具有良好的社区支持。
总的来说,Nori是一个创新的工具,它将改变我们对iOS应用界面设计的理解。无论是小型项目还是大型企业级应用,Nori都能帮助您提高开发效率,打造一流的用户体验。现在就加入Nori的世界,感受代码设计的魅力吧!
AutoGLM-Phone-9BAutoGLM-Phone-9B是基于AutoGLM构建的移动智能助手框架,依托多模态感知理解手机屏幕并执行自动化操作。Jinja00
Kimi-K2-ThinkingKimi K2 Thinking 是最新、性能最强的开源思维模型。从 Kimi K2 开始,我们将其打造为能够逐步推理并动态调用工具的思维智能体。通过显著提升多步推理深度,并在 200–300 次连续调用中保持稳定的工具使用能力,它在 Humanity's Last Exam (HLE)、BrowseComp 等基准测试中树立了新的技术标杆。同时,K2 Thinking 是原生 INT4 量化模型,具备 256k 上下文窗口,实现了推理延迟和 GPU 内存占用的无损降低。Python00
GLM-4.6V-FP8GLM-4.6V-FP8是GLM-V系列开源模型,支持128K上下文窗口,融合原生多模态函数调用能力,实现从视觉感知到执行的闭环。具备文档理解、图文生成、前端重构等功能,适用于云集群与本地部署,在同类参数规模中视觉理解性能领先。Jinja00
HunyuanOCRHunyuanOCR 是基于混元原生多模态架构打造的领先端到端 OCR 专家级视觉语言模型。它采用仅 10 亿参数的轻量化设计,在业界多项基准测试中取得了当前最佳性能。该模型不仅精通复杂多语言文档解析,还在文本检测与识别、开放域信息抽取、视频字幕提取及图片翻译等实际应用场景中表现卓越。00
GLM-ASR-Nano-2512GLM-ASR-Nano-2512 是一款稳健的开源语音识别模型,参数规模为 15 亿。该模型专为应对真实场景的复杂性而设计,在保持紧凑体量的同时,多项基准测试表现优于 OpenAI Whisper V3。Python00
GLM-TTSGLM-TTS 是一款基于大语言模型的高质量文本转语音(TTS)合成系统,支持零样本语音克隆和流式推理。该系统采用两阶段架构,结合了用于语音 token 生成的大语言模型(LLM)和用于波形合成的流匹配(Flow Matching)模型。 通过引入多奖励强化学习框架,GLM-TTS 显著提升了合成语音的表现力,相比传统 TTS 系统实现了更自然的情感控制。Python00
Spark-Formalizer-X1-7BSpark-Formalizer 是由科大讯飞团队开发的专用大型语言模型,专注于数学自动形式化任务。该模型擅长将自然语言数学问题转化为精确的 Lean4 形式化语句,在形式化语句生成方面达到了业界领先水平。Python00