From e562229dd4a7bb41cccf97463e3b860281047348 Mon Sep 17 00:00:00 2001 From: Frank Calise Date: Tue, 29 Oct 2024 17:46:03 -0400 Subject: [PATCH] docs: remove references to Expo Go since no longer an option (#2810 by @frankcalise) [skip ci] --- docs/boilerplate/Boilerplate.md | 4 ++-- docs/boilerplate/android.md | 2 +- docs/boilerplate/ios.md | 2 +- docs/expo/CNG.md | 2 +- docs/expo/DIY.md | 8 ++++---- docs/expo/Expo-Go.md | 13 ------------- docs/expo/Expo-and-Ignite.md | 19 +++---------------- 7 files changed, 12 insertions(+), 38 deletions(-) delete mode 100644 docs/expo/Expo-Go.md diff --git a/docs/boilerplate/Boilerplate.md b/docs/boilerplate/Boilerplate.md index 1bfbf78bd..69c46801e 100644 --- a/docs/boilerplate/Boilerplate.md +++ b/docs/boilerplate/Boilerplate.md @@ -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. diff --git a/docs/boilerplate/android.md b/docs/boilerplate/android.md index dbe677401..a8d7e5ecf 100644 --- a/docs/boilerplate/android.md +++ b/docs/boilerplate/android.md @@ -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. diff --git a/docs/boilerplate/ios.md b/docs/boilerplate/ios.md index 51cafb456..5eb5160e5 100644 --- a/docs/boilerplate/ios.md +++ b/docs/boilerplate/ios.md @@ -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. diff --git a/docs/expo/CNG.md b/docs/expo/CNG.md index 0deda05db..6030ed1b6 100644 --- a/docs/expo/CNG.md +++ b/docs/expo/CNG.md @@ -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 diff --git a/docs/expo/DIY.md b/docs/expo/DIY.md index 07502f0c1..2e7967c09 100644 --- a/docs/expo/DIY.md +++ b/docs/expo/DIY.md @@ -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. diff --git a/docs/expo/Expo-Go.md b/docs/expo/Expo-Go.md deleted file mode 100644 index 3e4a20964..000000000 --- a/docs/expo/Expo-Go.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -sidebar_position: 20 ---- - -# Expo Go - -When your app is simple and you don't need custom native platform code integrations, Expo Go is the easiest possible way to build a React Native / Ignite app. Ignite works great on Expo Go. - -Expo Go is essentially a preconfigured native project that you can run on your phone and load locally hosted React Native projects into. It's easy to get started and there's very little setup required. - -When you go to deploy to the App Store / Play Store, EAS (Expo Application Services) allows you to build your app in the cloud. No Xcode/Android Studio required! - -However, if you want to use custom native code, you'll need to use Expo's [Continuous Native Generation](./CNG.md) workflow or [do it yourself](./DIY.md). diff --git a/docs/expo/Expo-and-Ignite.md b/docs/expo/Expo-and-Ignite.md index 79afac23e..bb50a395f 100644 --- a/docs/expo/Expo-and-Ignite.md +++ b/docs/expo/Expo-and-Ignite.md @@ -19,17 +19,14 @@ 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 ``` @@ -37,13 +34,3 @@ 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.