A React-inspired view framework for iOS.
Clone or download
kfirapps and facebook-github-bot Save tree node identifier in the scope handle instead of a tree node
Summary:
- Extract the tree node types from `CKTreeNodeProtocol.h` to `CKTreeNodeTypes.h`
- Save `CKTreeNodeIdentifier` in the scope handle instead of a `CKTreeNode`
- The reason is that the scope handle can be from few generations before and this point the tree node can be nil, but it still has representation in the tree

Reviewed By: fabiomassimo

Differential Revision: D13119155

fbshipit-source-id: 827f9acf156e7869ea561a7a221465318d3d848e
Latest commit 5a3bcb3 Nov 20, 2018
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
Carthage/Checkouts Updating to Carthage tagged commits Aug 2, 2017
ComponentKit.xcodeproj Save tree node identifier in the scope handle instead of a tree node Nov 19, 2018
ComponentKit Save tree node identifier in the scope handle instead of a tree node Nov 19, 2018
ComponentKitApplicationTests Fix snapshot tests on iOS 12 Sep 26, 2018
ComponentKitApplicationTestsHost Xcode recommended project updates Oct 4, 2015
ComponentKitTestHelpers Register components/controllers in the scope root after reuse Nov 5, 2018
ComponentKitTests Save tree node identifier in the scope handle instead of a tree node Nov 19, 2018
ComponentSnapshotTestCase Update version of snapshot tests library Oct 2, 2018
ComponentTextKit Add analyticsListener param to mountInContext method Nov 16, 2018
ComponentTextKitApplicationTests Fix snapshot tests on iOS 12 Sep 26, 2018
Examples Add Test spec to CKCodeGen Sample app Nov 6, 2018
.gitignore Add Carthage Checkouts to hgignore Sep 27, 2017
.gitmodules Synchronizing internal repository with external repo. Aug 2, 2017
.travis.yml Travis failing build (#921) Nov 5, 2018
CONTRIBUTING.md Switch from CocoaPods to Carthage for development Apr 19, 2016
Cartfile.private Update version of snapshot tests library Oct 2, 2018
Cartfile.resolved Update version of snapshot tests library Oct 2, 2018
ComponentKit.podspec update podspec version Sep 19, 2018
LICENSE Initial commit Mar 25, 2015
PATENTS Update Patent Grant Apr 10, 2015
README.md Draft new open source release Sep 18, 2018
build.sh Fix snapshot tests on iOS 12 Sep 26, 2018

README.md

ComponentKit

Build Status

ComponentKit is a view framework for iOS that is heavily inspired by React. It takes a functional, declarative approach to building UI. It was built to power Facebook's News Feed and is now used throughout the Facebook iOS app.

Quick start

ComponentKit is available to install via Carthage. To get started add the following to your Cartfile:

github "facebook/ComponentKit" ~> 0.24

Opening the Xcode projects

ComponentKit has a few dependencies that need to be installed via Carthage. Before you open any of the Xcode projects in this repo, make sure you run:

carthage checkout

If Carthage isn't installed, you easily install it via Homebrew:

brew install carthage

If you can't use Homebrew, Carthage provides other installation methods.

To get started with the example app:

open Examples/WildeGuess/WildeGuess.xcodeproj

Build and run the WildeGuess target to try it out!

If you're interested in viewing only the ComponentKit source code in Xcode:

open ComponentKit.xcodeproj

Learn more

Contributing

See the CONTRIBUTING file for how to help out.

License

ComponentKit is BSD-licensed. We also provide an additional patent grant.

The files in the /Examples directory are licensed under a separate license as specified in each file; documentation is licensed CC-BY-4.0.