Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 3 additions & 3 deletions src/content/docs/code-push/ci/fastlane.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -51,10 +51,10 @@ example of this in the `patch_shorebird` lane in the

### Setup

Follow this section if you have shorebird installed on the machine that will be
running fastlane. This section assumes that you have shorebird installed on the
Follow this section if you have Shorebird installed on the machine that will be
running fastlane. This section assumes that you have Shorebird installed on the
machine that will be running the fastlane commands. If you have not already
installed shorebird, you can do so by following the
installed Shorebird, you can do so by following the
[Getting Started instructions](/getting-started).

If you are not already using fastlane with your project, navigate to your app's
Expand Down
26 changes: 13 additions & 13 deletions src/content/docs/code-push/faq.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -102,7 +102,7 @@ For more details on setting up flavors, see the

### How does Shorebird relate to Flutter?

Shorebird is a fork of Flutter that adds code push. Shorebird is not a
Shorebird is a fork of Flutter that adds Code Push. Shorebird is not a
replacement for Flutter, but rather a replacement for the Flutter engine. You
can continue to use the Flutter tooling you already know and love.

Expand Down Expand Up @@ -236,8 +236,8 @@ Shorebird to violate Play Store guidelines is in violation of the Shorebird
[Terms of Service](https://shorebird.dev/terms) and can result in termination of
your account.

Code push services are widely used in the industry (all of the large apps we're
aware of use them) and there are multiple other code push services publicly
Code Push services are widely used in the industry (all of the large apps we're
aware of use them) and there are multiple other Code Push services publicly
available (e.g. expo.dev & appcenter.ms). This is a well trodden path.

Microsoft also publishes a guide on how their React Native "codepush" library
Expand Down Expand Up @@ -265,7 +265,7 @@ advertised purpose of the Application as submitted to the App Store,
Shorebird uses a custom Dart interpreter to comply with the interpreter-only
restriction for updates on iOS. So as long as your application is not engaging
in deceptive behavior via updates (e.g. changing the purpose of the app via
update), updating via Shorebird (or any other code push solution) is standard
update), updating via Shorebird (or any other Code Push solution) is standard
industry practice and compliant with
[App Store guidelines](https://developer.apple.com/support/terms/apple-developer-program-license-agreement/#b331).

Expand Down Expand Up @@ -301,7 +301,7 @@ continue to use your existing processes to submit to the app stores.

## Use Cases & Limitations

### What can I use Shorebird code push for?
### What can I use Shorebird Code Push for?

We've seen a variety of uses, including:

Expand All @@ -313,7 +313,7 @@ Note that most app stores prohibit shipping code that changes the behavior of
the app in a significant way. Please see our
[Store Compliance section](#store-compliance) for more information.

### What can't we use Shorebird code push for?
### What can't we use Shorebird Code Push for?

Shorebird does not support changing native code (e.g. Java/Kotlin on Android or
Objective-C/Swift on iOS). The tool will warn you during an attempted patch if
Expand Down Expand Up @@ -372,28 +372,28 @@ release.

### How does this relate to Firebase Remote Config or Launch Darkly?

Code push allows adding new code / replacing code on the device. Firebase Remote
Code Push allows adding new code / replacing code on the device. Firebase Remote
Config and Launch Darkly are both configuration systems. They allow you to
change the configuration of your app without having to ship a new version. They
are not intended to replace code.

### How does this relate to Flutter Hot Reload?

Flutter's Hot reload is a development-time-only feature. Code push is for
Flutter's Hot reload is a development-time-only feature. Code Push is for
production.

Hot reload is a feature of Flutter that allows you to change code on the device
during development. It requires building the Flutter engine with a debug-mode
Dart VM which includes a just-in-time (JIT) Dart compiler.

Code push is a feature that allows you to change code on the device in
Code Push is a feature that allows you to change code on the device in
production. We will use a variety of different techniques to make this possible
depending on the platform. Current demos execute ahead-of-time compiled Dart
code and do not require a JIT Dart compiler.

### Does Shorebird support Flutter Web?

Code push isn't needed for Flutter web. When a user opens a web app it downloads
Code Push isn't needed for Flutter web. When a user opens a web app it downloads
the latest version from the server if needed.

If you have a use case for code push with Flutter web, we'd
Expand Down Expand Up @@ -505,7 +505,7 @@ Someone who has your `app_id` can fetch the latest version of your app from
Shorebird servers, but they cannot push updates to your app or access any other
aspect of your Shorebird account.

### Does code push require the internet to work?
### Does Code Push require the internet to work?

Yes. Some form of network connectivity is required to transport updates to the
devices.
Expand Down Expand Up @@ -550,10 +550,10 @@ No. Shorebird has no current plans to offer on-prem, self-host or cloud-prem
offerings. We would be happy to discuss with you any and all ways in which we
can improve our centrally hosted solution to best match your needs.

### Does code push work with large applications?
### Does Code Push work with large applications?

Yes. There is no limit on the size of the application that can be patched with
code push. As noted in
Code Push. As noted in
[Overview](/code-push/#what-types-of-changes-can-be-included-in-a-patch),
Shorebird can change any Dart code in your application no matter of size.

Expand Down
2 changes: 1 addition & 1 deletion src/content/docs/code-push/guides/flavors/ios.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -74,7 +74,7 @@ You can view your apps at

## Create a release

Now that we've created our apps on shorebird, we need to create releases (one
Now that we've created our apps on Shorebird, we need to create releases (one
for each flavor). To create a release, we'll use the `shorebird release ios`
command.

Expand Down
8 changes: 4 additions & 4 deletions src/content/docs/code-push/guides/hybrid-apps/android.mdx
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
title: Code Push for Android Hybrid Apps
description: Use code push in an hybrid app scenario with an Android app
description: Use Code Push in an hybrid app scenario with an Android app
sidebar:
label: Android
order: 25
Expand All @@ -15,7 +15,7 @@ is, your app embeds Flutter UI in non-Flutter UI).
:::note

If your app is a pure Flutter app, follow the
[standard code push guide](/code-push/initialize) instead.
[standard Code Push guide](/code-push/initialize) instead.

:::

Expand All @@ -26,7 +26,7 @@ Our Android app will be named `android_app` and our Flutter module will be named
`flutter_module`.

This guide also assumes that you have created a Shorebird account. If you have
not, please see our [code push guide](/code-push/initialize) for instructions.
not, please see our [Code Push guide](/code-push/initialize) for instructions.

The reference code for this guide is available at
https://github.com/shorebirdtech/samples/tree/main/add_to_app.
Expand Down Expand Up @@ -156,7 +156,7 @@ Flutter symbols in your app.
## Submit your app to the Play Store

We won't cover this step in detail here, but this is where you would submit your
app to the Play Store. For code push to work, it is important that you submit
app to the Play Store. For Code Push to work, it is important that you submit
_with the same `aar` generated by the release command above_.

## Verify that Shorebird is working with a patch
Expand Down
8 changes: 4 additions & 4 deletions src/content/docs/code-push/guides/hybrid-apps/ios.mdx
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
title: Code Push for iOS Hybrid Apps
description: Use code push in an hybrid app scenario with an iOS app
description: Use Code Push in an hybrid app scenario with an iOS app
sidebar:
label: iOS
order: 26
Expand All @@ -19,7 +19,7 @@ your app embeds Flutter UI in non-Flutter UI).
:::note

If your app is a pure Flutter app, follow the
[standard code push guide](/code-push/initialize) instead.
[standard Code Push guide](/code-push/initialize) instead.

:::

Expand All @@ -31,7 +31,7 @@ iOS app will be named `IosCodePushDemo` and our Flutter module will be named

This guide also assumes that you have created a Shorebird account. If you have
not created a Shorebird account, please see our
[code push guide](/code-push/initialize) for instructions.
[Code Push guide](/code-push/initialize) for instructions.

The reference code for this guide is available at
https://github.com/shorebirdtech/samples/tree/main/add_to_app.
Expand Down Expand Up @@ -156,7 +156,7 @@ and you should see debug logs from Shorebird.
## Submit your app to the App Store

We won't cover this step in detail here, but this is where you would submit your
app to the App Store. For code push to work, it is important that you submit
app to the App Store. For Code Push to work, it is important that you submit
_with the same `xcframework` generated by the release command above_.

You can skip this step if you just want to see Code Push working in an app.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ Our percentage-based rollout system will have the following three parts:

## Add Shorebird to your app

If you haven't already, run shorebird init in your Flutter project to add
If you haven't already, run Shorebird init in your Flutter project to add
Shorebird to your app.

# Add the shorebird_code_push package
Expand Down Expand Up @@ -157,7 +157,7 @@ And update the rollout percentage in Firebase:
alt="Cloud Firestore showing 1.0.0+1 at 50% rollout"
/>

Press the update button, and our shorebird preview output shows the following
Press the update button, and our Shorebird preview output shows the following
(formatted for readability):

```
Expand Down
4 changes: 2 additions & 2 deletions src/content/docs/code-push/guides/stores/app-store.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ import appStoreConnectProcessing from '~/assets/app_store_connect_processing.png
import appStoreConnectAddBuild from '~/assets/app_store_connect_add_build.png';
import appStoreConnectReviewIssues from '~/assets/app_store_connect_review_issues.png';

This guide walks through releasing a code push app to the Apple App Store and
This guide walks through releasing a Code Push app to the Apple App Store and
applying a patch to that release.

The app we will be releasing in this guide is Shorebird Clock, our demo code
Expand All @@ -33,7 +33,7 @@ To follow along with this guide, you will need the following:

1. An existing Shorebird app. If you don't have one, you can create one by
following the
[code push quickstart](https://docs.shorebird.dev/getting-started/) guide.
[Code Push quickstart](https://docs.shorebird.dev/getting-started/) guide.
1. Access to hardware running macOS. This is required to build iOS apps.
1. A valid Apple Developer account. This is required to release iOS apps.
1. An app in [App Store Connect](https://appstoreconnect.apple.com/). See the
Expand Down
6 changes: 3 additions & 3 deletions src/content/docs/code-push/guides/stores/play-store.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -11,18 +11,18 @@ import playStoreCreateRelease from '~/assets/play_store_create_release.png';
import playStoreUploadedBundle from '~/assets/play_store_uploaded_bundle.png';
import playStoreInReview from '~/assets/play_store_in_review.png';

This guide walks through releasing a code push app to the Google Play Store and
This guide walks through releasing a Code Push app to the Google Play Store and
applying a patch to that release.

The app we will be releasing in this guide is
[`Time Shift`](https://play.google.com/store/apps/details?id=dev.shorebird.u_shorebird_clock),
our demo code push app. ([source](https://github.com/shorebirdtech/time_shift/))
our demo Code Push app. ([source](https://github.com/shorebirdtech/time_shift/))

## Prerequisites

This guide assumes that you have an existing Shorebird app. If you don't have
one, you can create one by following the
[code push quickstart](https://docs.shorebird.dev/getting-started/) guide.
[Code Push quickstart](https://docs.shorebird.dev/getting-started/) guide.

## Creating a release

Expand Down
4 changes: 2 additions & 2 deletions src/content/docs/code-push/index.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -91,7 +91,7 @@ Shorebird. Feel free to skip it now and come back later if you need.

### Code Push

Code push, also referred to as "over-the-air updates" (OTA), is a cloud service
Code Push, also referred to as "over-the-air updates" (OTA), is a cloud service
enabling Flutter developers to deploy updates to their apps in production.
Shorebird works on Android, iOS, macOS, Linux and Windows.

Expand Down Expand Up @@ -146,7 +146,7 @@ Applications that use build flavors will have a unique `app_id` for each flavor.
#### Release

A release is a specific version of an [application](#application), identified by
a version and build number (e.g., `1.0.0+1`). Although code push works for apps
a version and build number (e.g., `1.0.0+1`). Although Code Push works for apps
distributed outside of the App Store and Play Store, a release most often
corresponds with a specific version of your app that is published to the App
Store or Play Store.
Expand Down
6 changes: 3 additions & 3 deletions src/content/docs/code-push/initialize.mdx
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
title: Initialize Shorebird
description: Learn how to add code push to an existing Flutter project.
description: Learn how to add Code Push to an existing Flutter project.
sidebar:
label: Initialize
order: 3
Expand Down Expand Up @@ -147,7 +147,7 @@ check for updates and trigger them at a time of your choosing. See

:::note

Shorebird code push requires the internet permission to be added to your
Shorebird Code Push requires the internet permission to be added to your
`AndroidManifest.xml` file (located in
`android/app/src/main/AndroidManifest.xml`). This is required for the app to be
able to communicate with the Shorebird servers to download patches.
Expand All @@ -168,7 +168,7 @@ able to communicate with the Shorebird servers to download patches.
If you already have a `shorebird.yaml` and would like to re-initialize your
project, use `shorebird init --force`. This will overwrite your existing
`shorebird.yaml` and create a new app/app_id. Existing apps will not be affected
by re-initializing shorebird.
by re-initializing Shorebird.

:::

Expand Down
2 changes: 1 addition & 1 deletion src/content/docs/code-push/system-architecture.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -229,7 +229,7 @@ servers.

### Flutter Modifications

Code push requires technical changes to the underlying Flutter engine. To make
Code Push requires technical changes to the underlying Flutter engine. To make
those changes required forking Flutter.

We had to fork 4 Flutter and Dart repositories to make Shorebird work:
Expand Down
2 changes: 1 addition & 1 deletion src/content/docs/code-push/uninstall.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ Otherwise, we hope you'll consider trying Shorebird again in the future.

## Uninstalling Shorebird

Building with `shorebird release` will include Shorebird code push in your app.
Building with `shorebird release` will include Shorebird Code Push in your app.
Building with `flutter build --release` will not include Shorebird in your app.
At any time you can simply drop back to `flutter build` and things will work as
they did before.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -270,7 +270,7 @@ paths forward:
**Start Your First Flutter Project**: Download the
[Flutter SDK](https://docs.flutter.dev/get-started/install) and follow the
[Shorebird Quick Start](https://docs.shorebird.dev/getting-started/) to create a
new project with code push capabilities built in. The `shorebird create` command
new project with Code Push capabilities built in. The `shorebird create` command
scaffolds a Flutter app with Shorebird already integrated.

**Set Up Your Development Workflow**: Establish a robust development process by
Expand All @@ -288,7 +288,7 @@ pipeline using
Whether you're using GitHub Actions,
[Codemagic](https://docs.shorebird.dev/code-push/ci/codemagic/), or
[Fastlane](https://docs.shorebird.dev/code-push/ci/fastlane/), you can integrate
code push into your existing workflows.
Code Push into your existing workflows.

**Prepare for Production Release**: Before launching to the app stores, review
the platform-specific guidelines for
Expand Down
8 changes: 4 additions & 4 deletions src/content/docs/flutter-concepts/flutter-for-beginners.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ import flutterBeginnersUpdatedApp from '~/assets/flutter_beginners_updated_app.j
The traditional Flutter development workflow has a significant gap: you build an
app, ship it to the app stores, and then wait days or weeks for approval
whenever you need to push a fix. Shorebird eliminates this friction by enabling
over-the-air (OTA) [code push updates](https://docs.shorebird.dev/code-push/)
over-the-air (OTA) [Code Push updates](https://docs.shorebird.dev/code-push/)
for Flutter apps.

With the `shorebird create` command, you can now scaffold production-ready
Expand Down Expand Up @@ -43,7 +43,7 @@ iwr -UseBasicParsing 'https://raw.githubusercontent.com/shorebirdtech/install/ma

These commands download Shorebird to `~/.shorebird/bin`, including a modified
[Flutter engine](https://github.com/shorebirdtech/flutter/tree/shorebird/dev/engine)
that enables code push capabilities. This modified Flutter lives inside
that enables Code Push capabilities. This modified Flutter lives inside
Shorebird's cache and won't interfere with your existing Flutter installation.
You continue using your normal
[Flutter SDK](https://docs.flutter.dev/get-started/install) for development.
Expand Down Expand Up @@ -242,7 +242,7 @@ to `main()` or `initState()`, use hot restart (press `R`), which restarts the
app from scratch while still being faster than a full rebuild.

Hot reload only works in debug mode. Release builds compile Dart to native code
and don't support this feature, which is precisely why Shorebird's code push
and don't support this feature, which is precisely why Shorebird's Code Push
capability is so valuable for production apps.

## Step 4: Making your First Change
Expand Down Expand Up @@ -406,7 +406,7 @@ The combination of Shorebird's OTA infrastructure with Flutter's widget
composition model and hot reload creates a development experience optimized for
rapid iteration at every stage, from first prototype to production maintenance.
For any Flutter project that will eventually ship to real users, building in
code push capability from day one is simply the pragmatic choice.
Code Push capability from day one is simply the pragmatic choice.

## Next Steps

Expand Down
6 changes: 3 additions & 3 deletions src/content/docs/flutter-concepts/flutter-sdk-deep-dive.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -342,7 +342,7 @@ analyzer:
We recommend running `flutter analyze` before commits and `dart fix --apply` to
automatically resolve deprecated API usage. For deeper analysis,
[DCM (Dart Code Metrics)](https://dcm.dev/) provides complexity metrics and
unused code detection. Also, use shorebird for testing and deploying patches
unused code detection. Also, use Shorebird for testing and deploying patches
quickly to your released app.

State management in 2025-2026 favors _[Riverpod 3](https://riverpod.dev/)_ for
Expand All @@ -367,7 +367,7 @@ The three-tree rendering architecture and platform embedder design enable true
cross-platform code sharing without sacrificing native integration.

The most significant evolution for production Flutter teams is
[Shorebird's code push capability](https://docs.shorebird.dev/code-push/). By
[Shorebird's Code Push capability](https://docs.shorebird.dev/code-push/). By
building a custom interpreter and novel per-function linker,
[Shorebird solves the immutability problem](https://docs.shorebird.dev/code-push/system-architecture/)
while maintaining app store compliance, enabling bug fixes in hours rather than
Expand All @@ -380,7 +380,7 @@ while retaining the ability to respond quickly to production issues.
Once you understand Flutter's architecture and update strategies, consider these
resources to implement production-ready workflows:

**Set up code push for your app**: Start with the
**Set up Code Push for your app**: Start with the
[Shorebird Quick Start Guide](https://docs.shorebird.dev/getting-started/) to
enable over-the-air updates in your Flutter application. The guide covers
installation, initialization, and creating your first release in under 15
Expand Down
Loading
Loading