Skip to content

Commit

Permalink
[Dev doc] Add overview and explain repository structure (#1562)
Browse files Browse the repository at this point in the history
  • Loading branch information
nguyenhuy committed Jun 27, 2019
1 parent 45df8d7 commit d4c0d74
Showing 1 changed file with 24 additions and 2 deletions.
26 changes: 24 additions & 2 deletions docs/_docs/development/overview.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,29 @@
---
title: Overview
title: Overview and Structure
layout: docs
permalink: /development/overview.html
---

<p>👷👷‍♀️Under construction…</p>
# Framework dependencies:

At its [core](https://github.com/TextureGroup/Texture/blob/master/Texture.podspec#L18), 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](https://github.com/TextureGroup/Texture/blob/master/Texture.podspec#L90) Texture includes first-class support for image downloading and caching by integrating [PINRemoteImage](https://github.com/TextureGroup/Texture/blob/master/Texture.podspec#L41) as well as default implementations for other functionalities mentioned above.

# Repository structure

Here are the main directories within the repository:
- [Source](https://github.com/TextureGroup/Texture/tree/master/Source): All source code of the framework resides here
- [Base](https://github.com/TextureGroup/Texture/tree/master/Source/Base): Helper and utility files used throughout the framework.
- [Debug](https://github.com/TextureGroup/Texture/tree/master/Source/Debug): Files used for debugging functionalities.
- [Details](https://github.com/TextureGroup/Texture/tree/master/Source/Details): Implementaion details of the framework.
- [Layout](https://github.com/TextureGroup/Texture/tree/master/Source/Layout): Files related to the layout system, including layout-premitive types, layout specs and utility files for Yoga and IGListKit support.
- [Private](https://github.com/TextureGroup/Texture/tree/master/Source/Private): Framework-private files that are not exposed to end users, including implementation details, private data structures and helpers.
- [TextKit](https://github.com/TextureGroup/Texture/tree/master/Source/TextKit): All files related to TextKit that are used by ASTextNode.
- [tvOS](https://github.com/TextureGroup/Texture/tree/master/Source/tvOS): tvOS support.
- All other files in the [Source](https://github.com/TextureGroup/Texture/tree/master/Source) directory: Main files, including important components such as nodes (e.g ASDisplayNode, ASButtonNode, ASImageNode, ASCollectionNode and ASTableNode), ASNavigationController, etc.
- [Tests](https://github.com/TextureGroup/Texture/tree/master/Tests): The framework's test suite, including unit, integration and snapshot test cases.
- [docs](https://github.com/TextureGroup/Texture/tree/master/docs): Texture documentation that powers [texturegroup.org](https://texturegroup.org/).
- [examples](https://github.com/TextureGroup/Texture/tree/master/examples): Sample projects which demonstrate how to use various features of the framework.
- [examples-extra](https://github.com/TextureGroup/Texture/tree/master/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.

0 comments on commit d4c0d74

Please sign in to comment.