Overview and Structure
For a quick overview of Texture’s components, please see the Getting Started Guide.
At its core, Texture doesn’t depend on any non-system frameworks or libraries. Functionalities such as image downloading and caching, video, map and photo assets supports are considered add-ons and extensible by end-users. By default Texture includes first-class support for image downloading and caching by integrating PINRemoteImage as well as default implementations for other functionalities mentioned above.
Here are the main directories within the repository:
- Source: All source code of the framework resides here
- Base: Helper and utility files used throughout the framework.
- Debug: Files used for debugging functionalities.
- Details: Implementaion details of the framework.
- Layout: Files related to the layout system, including layout-premitive types, layout specs and utility files for Yoga and IGListKit support.
- Private: Framework-private files that are not exposed to end users, including implementation details, private data structures and helpers.
- TextKit: All files related to TextKit that are used by ASTextNode.
- tvOS: tvOS support.
- All other files in the Source directory: Main files, including important components such as nodes (e.g ASDisplayNode, ASButtonNode, ASImageNode, ASCollectionNode and ASTableNode), ASNavigationController, etc.
- Tests: The framework’s test suite, including unit, integration and snapshot test cases.
- docs: Texture documentation that powers texturegroup.org.
- examples: Sample projects which demonstrate how to use various features of the framework.
- examples-extra: More sample projects.
- All other files in the root directory: Build, CI, git, CocoaPods and Carthage configuration files.
To learn more about main classes and components within the framework, please read other documents under “Development” category.