A tool for building your best shopping app
Flagship accelerates development of the best omnichannel commerce experiences by providing a library of pre-built components and integrations. That way, you can focus more on innovations that matter.
Flagship helps you to:
- Build sites and apps in a singular codebase using components based on proven best practices
- Connect commerce APIs automatically using our API adapters
- Manage personalized engagement campaigns using the tools you already use or ours
It's written in React Native and developed by Branding Brand.
Flagship is comprised of a core flagship
package and a number of ancillary modules which work
together to help you build an ecommerce experience.
You can use modules independently β with or without the flagship
core package. For example,
fsproductindex
displays a product index which you can use as a screen
or embed as part of a larger screen. See packages for an exhaustive list of modules.
Flagship core manages the boilerplate Android, iOS, and web code, similar in concept to
Expo. For a more detailed exploration of the features of Flagship, see the
flagship
package.
Modules are built using a shared stack of foundation packages which provide a unified interface for networking, analytics, commerce integrations, components, and more across each of our supported platforms. Higher-level modules do not need to implement platform-specific code.
Foundation packages provide a normalization over their integrations. For example,
fscommerce
provides a single interface to query both
Demandware and Shopify. The higher-level
fsproductindex
module doesn't need to know what the data source is to
display a grid of products.
These foundation packages are built on top of one another. For example,
fscomponents
has props that inherit from
fscommerce
; fscommerce
sends analytics using
fsengage
; and fsengage
talks to the network using
fsnetwork
.
Flagship's foundation is comprised of:
Name | Responsibility |
---|---|
fscomponents |
reusable, cross-platform frontend components |
fscommerce |
product catalog, search, order and user account management, and reviews |
fsengage |
analytics, content management, and A/B testing |
fsnetwork |
networking and caching |
fsfoundation |
baseline types used by other Flagship packages |
Supported platforms are:
android
ios
native
(both iOS and Android)web
If you encounter issues while using Flagship, please check out our Troubleshooting guide where you might find the answer to your problem. If you encounter something that is not listed there, try searching for the issue in GitHub.
We want your feedback! Please open a new issue to report a bug or request a new feature.
Need more help? Contact us.
flagship init [platform] [options]
Copies and configures the native project for the given platform. If you don't specify a platform, all platforms will be initialized. See Platforms.
Option | Alias | Description |
---|---|---|
--env |
-e |
The name of the environment to build. Defaults to prod . See Environments |
flagship clean [platform]
Removes build and installation artifacts for the given platform. If you don't specify a platform, build artifacts for all platforms will be removed. See Platforms.
flagship env
Generates the environment index file. Use this if you've added a new environment since the last time
you ran flagship init
. See Environments.
- flagship: a toolchain for Android, iOS, and web apps
- fsapp: a management utility for react-native-navigation
- fsweb: a bootstrap package to run Flagship on the web
- fsfoundation: baseline types used by other Flagship packages
- fsi18n: internationalization and localizaiton
- fsnetwork: networking and caching
- fsengage: analytics, content management, and A/B testing
- fscommerce: product catalog, search, order and user account management, and reviews
- fsbazaarvoice: Bazaarvoice reviews provider
- fspowerreviews: PowerReviews reviews provider
- fsturnto: TurnTo reviews provider
- fsbrandcmsproductcatalog: BrandCMS product catalog provider
- fssalesforce: Salesforce Commerce Cloud product catalog provider
- fsshopify: Shopify product catalog provider
- fsups: UPS address validation provider
- fscomponents: reusable, cross-platform frontend components
- fscart: components for a cart
- fscategory: components for a category index
- fscheckout: a state machine for managing checkout flow
- fslocator: a configurable point of interest locator
- fsproductdetail: components for product detail pages
- fsproductindex: components for a product index
- fscodestyle: a coding style used throughout Flagship
- fscontinuousdeployment: tools for continous deployment with Travis and CodePush
- fstestproject: a test project built using Flagship
- pirateship: an example app built using Flagship