首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏向治洪

    Facebook iOS UI 工具ComponentKit简介

    ComponentKit 简介 ComponentKit 使用功能性和声明性(declarative)的方法来进行创建界面,和以往不同的是,ComponentKit 使用单向数据流的形式从 不可变的模型 News Feed 移植到 ComponentKit ComponentKit 极大地提升了 News Feed 的 UI 响应速度和稳定性,也让整个软件的内部编码更容易理解。 引入了 ComponentKit 之后,我们能够维护更少的代码,有更少的 bug 需要修复,有更大的测试覆盖率:我们现在可以有更多的时间做羞羞的事情了 ComponentKit 已经在生产环境的 News 很希望你也能在你的开发环境中使用 ComponentKit,然后给我们反馈。 我们重新定义了如何在 iOS 上开发界面,希望你也能用 ComponentKit 开发出更优雅的 App。 快速入门 ComponentKit 已经在 CocoaPods 中可用了,只需要在 Podfile 添加如下代码即可: pod 'ComponentKit', '~> 0.9' pod try ComponentKit

    2.1K80发布于 2018-02-06
  • 来自专栏QQ空间开发团队的专栏

    ComponentKit框架解析之一—初识CK

    一、简介 ComponentKit是基于React思想的一个iOS原生UI开发框架。它通过函数式和声明的方式构建UI。目前用于Facebook的News Feed模块。 由上述设计思想,引出ComponentKit 三大特点 描述性 如上面例子,相对传统的构建UI(手工创建,设置属性,计算布局)。 这里虽然每次新建或者更新都会重建Component树,但是ComponentKit会计算新旧Component的差异,最小化更新UI。 如下图,5个Component只生成4个UI元素 ComponentKit内部还会对已有的UI进行复用。 ComponentKit 需要写 ObjC++,Swift 不支持 ObjC++ ,和Swift混编比较麻烦。 文章来自:QQ空间开发团队

    3.8K10发布于 2017-11-17
  • 来自专栏WeTest质量开放平台团队的专栏

    Pluto - iOS 上一个高性能的排版渲染引擎

    基于这样的需求,我们重新盘点了市面上比较成熟的排版渲染引擎 ComponentKit,新的开发框架比如 React Native,甚至参考 Android 的排版系统。 针对这个场景,对比分析现有主流的界面开发库,分别是 Xcode 自带的 Storyboard/Xib,Facebook 主导的开源组件 ReactNative、ComponentKit,以及本文的 Pluto ● ComponentKit 跟 Pluto 其实很类似,区别最大的地方在于 Component 不支持 JSON/XML 这种静态表达样式的功能,以及事件动态绑定的功能。 我们有思考过在 ComponentKit 的基础上增加 JSON 表达样式的功能。但是 ComponentKit 直接使用了原生视图,并没有一个中间的虚拟视图层,所以性能上也是问题。改造成本太高。

    2.6K60发布于 2018-03-15
  • 来自专栏WeTest质量开放平台团队的专栏

    Pluto - iOS 上一个高性能的排版渲染引擎

    基于这样的需求,我们重新盘点了市面上比较成熟的排版渲染引擎 ComponentKit,新的开发框架比如 React Native,甚至参考 Android 的排版系统。 针对这个场景,对比分析现有主流的界面开发库,分别是 Xcode 自带的 Storyboard/Xib,Facebook 主导的开源组件 ReactNative、ComponentKit,以及本文的 Pluto ● ComponentKit 跟 Pluto 其实很类似,区别最大的地方在于 Component 不支持 JSON/XML 这种静态表达样式的功能,以及事件动态绑定的功能。 我们有思考过在 ComponentKit 的基础上增加 JSON 表达样式的功能。但是  ComponentKit 直接使用了原生视图,并没有一个中间的虚拟视图层,所以性能上也是问题。改造成本太高。

    1.7K30编辑于 2023-05-04
  • 来自专栏腾讯Bugly的专栏

    《Pluto - iOS 上一个高性能的排版渲染引擎》

    基于这样的需求,我们重新盘点了市面上比较成熟的排版渲染引擎 ComponentKit,新的开发框架比如 React Native,甚至参考 Android 的排版系统。 针对这个场景,对比分析现有主流的界面开发库,分别是 Xcode 自带的 Storyboard/Xib,Facebook 主导的开源组件 ReactNative、ComponentKit,以及本文的 Pluto ComponentKit 跟 Pluto 其实很类似,区别最大的地方在于 Component 不支持 JSON/XML 这种静态表达样式的功能,以及事件动态绑定的功能。 我们有思考过在 ComponentKit 的基础上增加 JSON 表达样式的功能。但是 ComponentKit 直接使用了原生视图,并没有一个中间的虚拟视图层,所以性能上也是问题。改造成本太高。

    1.6K70发布于 2018-04-27
  • 来自专栏深度学习与python

    脸书iOS应用程序的十年历程

    脸书工程师随后实现了 ComponentKit,这是一个受 React 启发的声明性框架,用于定义 UI。 ComponentKit 使用了不可变数据,这简化了代码的推理,并提供了比以前实现高 50% 的性能。ComponentKit 在脸书上取得了巨大的成功,它仍然是创建 iOS UI 的默认选择。

    1K20编辑于 2023-03-29
  • 来自专栏黯羽轻扬

    React Native 从诞生到现在

    在 2015 年完成了 iOS 版(ComponentKit),并在 2017 年推出了 Android 版(Litho)。 Native 0.59:发布 0.59,支持 React Hooks,升级 Android JSC,核心模块精简计划持续进行 Mobile Innovation with React Native, ComponentKit , and Litho:分享 Facebook 的移动技术栈(React Native + ComponentKit 和 Litho) Meet Hermes, a new JavaScript Engine

    1.6K20发布于 2019-12-02
  • 来自专栏iOS小生活

    Yoga

    库的开发者可以集成Yoga进布局系统,例如FB已经将Yoga集成进ReactNative、Litho、ComponentKit,阿里的Weex也是使用Yoga来实现Flexbox布局的。

    2.2K20发布于 2019-08-12
  • 来自专栏用户6296428的专栏

    声明式 UIKit 在有赞美业的实践

    比如:ComponentKit,Yoga,AsynDisplayKit等,都是基于布局的设计。他们都有一个很明显的特点,就是都使用了 C++ 进行的算法编写。 同时上述开源库中,只有 ComponentKit 实现了声明式设计,OC 中繁琐的中括号和声明式多级的缩进结合起来,代码的可读性也大打折扣。

    1.9K30发布于 2020-08-24
  • 来自专栏iOS小生活

    Flexbox布局杂谈

    除了React Native、Weex外,Yoga还为很多其他的开源框架提供支持,比如Litho、ComponentKit等。

    2.7K30发布于 2019-08-12
  • 来自专栏iOS开发日记

    你不知道的Mac屏幕显示图像

    如果你不想手动调整 frame 等属性,你可以用一些工具方法替代(比如常见的 left/right/top/bottom/width/height 快捷属性),或者使用 ComponentKit、AsyncDisplayKit

    2.7K70发布于 2018-04-30
  • 来自专栏iOS面试

    iOS 面试策略之系统框架-UIScrollView及其子类

    Facebook 推出的 ComponentKit 就是很好的解决方案。 第二个问题。可以用 GCD 多线程操作将复杂的计算放到后端线程,并进行缓存。

    3.8K21发布于 2021-05-14
  • 来自专栏iOS面试

    iOS 面试策略之系统框架-UIKit

    成熟的解决方案有 Facebook 的 ComponentKit,Pinterest 的 Texture(前身是 ASDK ),以及 LinkdedIn 的 LayoutKit。

    2.1K20发布于 2021-05-13
  • 来自专栏朱慕之的博客

    iOS 优化界面流畅的技巧

    如果你不想手动调整 frame 等属性,你可以用一些工具方法替代(比如常见的 left/right/top/bottom/width/height 快捷属性),或者使用 ComponentKit、AsyncDisplayKit

    1.9K10发布于 2018-08-02
  • 来自专栏日常技术分享

    iOS 性能优化

    如果你不想手动调整 frame 等属性,你可以用一些工具方法替代(比如常见的 left/right/top/bottom/width/height 快捷属性),或者使用 ComponentKit、AsyncDisplayKit

    3.3K20发布于 2020-06-29
  • 来自专栏零域Blog

    AsyncDisplayKit 2.0 教程:入门「译」

    免责声明:ASDK不兼容 Interface Builder和AutoLayout,因此,您将不会在本教程中使用它们,虽然ASDK完全支持Swift(除了ComponentKit),许多开发者仍在使用

    3.2K20编辑于 2022-03-24
  • 来自专栏Guangdong Qi

    iOS开发常用之网络

    LeeGo.swift - 带来更声明式的,可配置的和易复用的UI开发方式,让UI开发变得像玩乐高积木一样简单直观,某种程度上取代ComponentKit

    31.6K10发布于 2018-12-18
  • 来自专栏IMWeb前端团队

    聊聊移动端跨平台开发的各种技术

    在做 React Native 方案的同时,其实 Facebook 还在做一个 Objective-C++ 上类似 React 的框架 ComponentKit,以下是它的代码示例: @implementation

    2K21发布于 2019-12-03
  • 来自专栏IMWeb前端团队

    聊聊移动端跨平台开发的各种技术

    在做 React Native 方案的同时,其实 Facebook 还在做一个 Objective-C++ 上类似 React 的框架 ComponentKit,以下是它的代码示例: @implementation

    2.9K50发布于 2017-12-29
  • 来自专栏Timhbw博客

    iOS面试中被面试官问到的问题答案(一)

    如果你不想手动调整 frame 等属性,你可以用一些工具方法替代(比如常见的 left/right/top/bottom/width/height 快捷属性),或者使用 ComponentKit、AsyncDisplayKit

    2K80发布于 2018-05-03
领券