Skip to content

Commit

Permalink
docs: remove references to Expo Go since no longer an option (#2810 by
Browse files Browse the repository at this point in the history
…@frankcalise)

[skip ci]
  • Loading branch information
frankcalise authored Oct 29, 2024
1 parent fd0a418 commit e562229
Show file tree
Hide file tree
Showing 7 changed files with 12 additions and 38 deletions.
4 changes: 2 additions & 2 deletions docs/boilerplate/Boilerplate.md
Original file line number Diff line number Diff line change
Expand Up @@ -107,13 +107,13 @@ The main entry point for your app!

**[.maestro](./maestro.md)** - Maestro e2e tests

**[android](./android.md)** - Native Android / Android Studio project files for DIY workflows (non-Expo)
**[android](./android.md)** - Native Android / Android Studio project files for manual workflows

**[assets](./assets.md)** - icons and images

**[ignite](./ignite.md)** - all things Ignite, including generator templates.

**[ios](./ios.md)** - Native iOS / Xcode project files for DIY workflows (non-Expo)
**[ios](./ios.md)** - Native iOS / Xcode project files for manual workflows

**[plugins](./plugins/Plugins.md)** - any custom Expo Config Plugins to be applied during the prebuild process when generating the native code for the project.

Expand Down
2 changes: 1 addition & 1 deletion docs/boilerplate/android.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ sidebar_position: 5

# `android`

If you choose the `DIY` option when spinning up a new app (or you run `yarn prebuild:clean`) you'll get an `android` (and probably [`ios`](./ios.md)) folder in your project root. This folder contains your native Android / Android Studio project, which has been pre-configured to work with React Native.
If you choose the `manual` workflow option when spinning up a new app (or you run `yarn prebuild:clean`) you'll get an `android` (and probably [`ios`](./ios.md)) folder in your project root. This folder contains your native Android / Android Studio project, which has been pre-configured to work with React Native.

We generally recommend using the [Expo CNG (continuous native generation)](../expo/CNG.md) workflow, but if you need to customize your native code manually, you can do so here.

Expand Down
2 changes: 1 addition & 1 deletion docs/boilerplate/ios.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ sidebar_position: 30

# `ios` folder

If you choose the `DIY` option when spinning up a new app (or you run `yarn prebuild:clean`) you'll get an `ios` (and probably [`android`](./android.md)) folder in your project root. This folder contains your native iOS / Xcode project, which has been pre-configured to work with React Native.
If you choose the `manual` workflow option when spinning up a new app (or you run `yarn prebuild:clean`) you'll get an `ios` (and probably [`android`](./android.md)) folder in your project root. This folder contains your native iOS / Xcode project, which has been pre-configured to work with React Native.

We generally recommend using the [Expo CNG (continuous native generation)](../expo/CNG.md) workflow, but if you need to customize your native code manually, you can do so here.

Expand Down
2 changes: 1 addition & 1 deletion docs/expo/CNG.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ sidebar_position: 30

When you want native platform code integrations, we recommend using the Expo CNG workflow with Ignite. This is one of the options when you spin up a new Ignite app.

CNG (and Expo Prebuild) works well for almost any app. It's a great middle ground between Expo Go and the "do it yourself" (DIY) workflow.
CNG (and Expo Prebuild) works well for almost any app. It's a great middle ground between Expo Go and the "do it yourself" (manual) workflow.

1. You don't have to work with Gradle and CocoaPods directly
2. Upgrades are much, much easier, since you're not working around your native code customizations
Expand Down
8 changes: 4 additions & 4 deletions docs/expo/DIY.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,14 +2,14 @@
sidebar_position: 40
---

# DIY Workflow
# Manual Workflow

If you don't want to use [Expo Go](./Expo-Go.md) or [Expo CNG](./CNG.md), you can use the "do it yourself" (DIY) workflow. This is one of the options when you spin up a new Ignite app.
If you don't want to use [Expo CNG](./CNG.md), you can manage the native code yourself via the manual workflow (`--workflow manual`). This is one of the options when you spin up a new Ignite app.

:::tip
Implementation detail that you probably didn't need to know: it's still a "CNG" workflow under the hood, but we generate the native ios and android folders for you -- and then you never run CNG again. Instead, you customize those native projects directly yourself. Hence, "DIY".
Implementation detail that you probably didn't need to know: it's still a "CNG" workflow under the hood, but we generate the native ios and android folders for you -- and then you never run CNG again. Instead, you customize those native projects directly yourself. Hence, the manual part (formerly "DIY").
:::

## Why would I want to use the DIY workflow?
## Why would I want to use the manual workflow?

We generally don't recommend it. It's mostly available for developers who are not interested in using Expo CNG / Prebuild and would rather maintain their own native code directly.
13 changes: 0 additions & 13 deletions docs/expo/Expo-Go.md

This file was deleted.

19 changes: 3 additions & 16 deletions docs/expo/Expo-and-Ignite.md
Original file line number Diff line number Diff line change
Expand Up @@ -19,31 +19,18 @@ If you're not familiar with [Expo](https://expo.dev), it's an open-source platfo

In previous versions of Ignite (versions 6 and 7), you could pass in a `--expo` flag to make the resulting generated app "Expo-ready". In version 8 (code-named "Maverick") we made the boilerplate "Expo-ready" by default -- but without locking you into using Expo Go or Expo's services if you don't want to.

Now in version 9 (code-named "Exp[ress]o") we let Expo drive the native template initially. If you want to take over the native template and maintain all native code yourself, you are free to do so! However, if you want to opt-in to [Continuous Native Generation](https://docs.expo.dev/workflow/continuous-native-generation/) you can modify/extend the native template via Expo's [Config Plugins](https://docs.expo.dev/guides/config-plugins/). The Ignite template includes a Config Plugin that adds in a bug fix for `expo-splash-screen` when on Android 12.
In version 9 (code-named "Exp[ress]o") we let Expo drive the native template initially. If you want to take over the native template and maintain all native code yourself, you are free to do so! However, if you want to opt-in to [Continuous Native Generation](https://docs.expo.dev/workflow/continuous-native-generation/) you can modify/extend the native template via Expo's [Config Plugins](https://docs.expo.dev/guides/config-plugins/). The Ignite template includes a Config Plugin that adds in a bug fix for `expo-splash-screen` when on Android 12.

Now in version 10 (or Ignite X), we no longer support the option for the Expo Go during setup. This is due to Expo's recommendation for building and distributing production applications. You can read more [here](https://docs.expo.dev/develop/tools/#expo-go). This allowed for us to bring in some better dependencies to the boilerplate, which would not have been supported under Expo's ecosystem (such as `react-native-mmkv`). You can of course convert your Ignite project back to being [Expo Go compatible](https://ignitecookbook.com/docs/recipes/SwitchBetweenExpoGoCNG).

```
# Spin up a new app
npx ignite-cli new PizzaApp
cd PizzaApp
# Expo Go
yarn start
# Expo Prebuild and DIY
yarn ios
yarn android
```

### How it works

Ignite comes with the lightweight `expo` package pre-installed and configured, which enables use of any of Expo's great third-party libraries, such as `expo-device`, `expo-font`, `expo-splash-screen`, and others -- even if you aren't running it in Expo Go or a "managed app".

We've very carefully and intentionally made sure we choose packages that won't conflict with one or the other of the Expo CLI and/or the React Native CLI. It's not just our work -- huge kudos goes to the Expo team for making their packages work with vanilla RN CLI!

## Should I use Expo CLI or vanilla CLI with my new app?

As a general rule of thumb, it's not a bad idea to start with Expo CLI. You'll avoid having to compile the native dependencies of your app by using the Expo Go app and can focus on building your screens.

Where you generally will need to start considering diverging from standard Expo is when you need custom native functionality. Note that you can do a lot of custom native code with Expo's new [Config Plugins](https://docs.expo.dev/guides/config-plugins/) feature, too, so even native code is no longer much of a barrier.

If you still would rather not use Expo Go / CLI, then Ignite is already ready for you -- no "ejecting" necessary. Expo refers to this as the "bare workflow." Just run `yarn ios` / `yarn android` and it'll build using the React Native CLI.

0 comments on commit e562229

Please sign in to comment.