Skip to content

Commit

Permalink
fix: Improve wording for iOS getting started (facebook#3334)
Browse files Browse the repository at this point in the history
  • Loading branch information
Riccardo authored Sep 21, 2022
1 parent b5f5b5a commit 91ce6bc
Show file tree
Hide file tree
Showing 3 changed files with 13 additions and 5 deletions.
10 changes: 7 additions & 3 deletions docs/_getting-started-macos-ios.md
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,8 @@ If you have already installed Node on your system, make sure it is Node 14 or ne

### Ruby

[Ruby](https://www.ruby-lang.org/en/) is a general-purpose programming language. React Native uses in some scripts related to the iOS dependency management. As every programming language, there are different versions of Ruby that have been developed during the years.

React Native uses a `.ruby-version` file to make sure that your version of Ruby is aligned with what is needed. Currently, macOS 12.5.1 is shipped with Ruby 2.6.8, which is **not** what is required by React Native. Our suggestion is to install a Ruby version manager and to install the proper version of Ruby in your system.

Some common Ruby version manager are:
Expand All @@ -38,9 +40,11 @@ ruby --version

React Native uses [this version](https://github.com/facebook/react-native/blob/main/template/_ruby-version) of Ruby. You can also find which version your specific project needs in the `.ruby-version` file at root of your RN project.

### Bundler
### Ruby's Bundler

Ruby uses the concept of **gems** to handle its own dependencies. You can think of a gem as a package in NPM, a formula in Homebrew or a single pod in Cocoapods.

[Bundler](https://bundler.io/) is a Ruby gem that helps managing the Ruby dependencies of your project. We need Ruby to install Cocoapods and using Bundler will make sure that all the dependencies are aligned and that the project works properly.
Ruby's [Bundler](https://bundler.io/) is a Ruby gem that helps managing the Ruby dependencies of your project. We need Ruby to install Cocoapods and using Bundler will make sure that all the dependencies are aligned and that the project works properly.

If you want to learn more about why we need this tool, you can read [this article](https://bundler.io/guides/rationale.html#bundlers-purpose-and-rationale).

Expand All @@ -62,7 +66,7 @@ To install a simulator, open <strong>Xcode > Preferences...</strong> and select

#### CocoaPods

[CocoaPods](https://cocoapods.org/) is built with Ruby and it will be installable with the default Ruby available on macOS.
[CocoaPods](https://cocoapods.org/) is one of the dependency management system available for iOS. It is built with Ruby and you can install it using the version of Ruby you configured with in the previous steps.

For more information, please visit [CocoaPods Getting Started guide](https://guides.cocoapods.org/using/getting-started.html).

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,11 +24,13 @@ Creating a backward compatible Fabric Native Component lets your users continue
1. Uniform the JavaScript API so that your user code won't need changes.

:::info

For the sake of this guide we're going to use the following **terminology**:

- **Legacy Native Components** - To refer to Components which are running on the old React Native architecture.
- **Fabric Native Components** - To refer to Components which have been adapted to work well with the New Native Renderer, Fabric. For brevity you might find them referred as **Fabric Components**.
:::

:::

<BetaTS />

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,11 +24,13 @@ Creating a backward compatible TurboModule lets your users continue to leverage
1. Uniform the JavaScript API so that your user code won't need changes.

:::info

For the sake of this guide we're going to use the following **terminology**:

- **Legacy Native Modules** - To refer to Modules which are running on the old React Native architecture.
- **Turbo Native Modules** - To refer to Modules which have been adapted to work well with the New Native Module System. For brevity you might find them referred as **Turbo Modules**.
:::

:::

<BetaTS />

Expand Down

0 comments on commit 91ce6bc

Please sign in to comment.