A tool for building your best shopping app
- How It Works
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.
How It Works
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.
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 sends analytics using
fsengage talks to the network using
Flagship's foundation is comprised of:
||reusable, cross-platform frontend components|
||product catalog, search, order and user account management, and reviews|
||analytics, content management, and A/B testing|
||networking and caching|
||baseline types used by other Flagship packages|
Supported platforms are:
native(both iOS and Android)
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.
||The name of the environment to build. Defaults to
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.
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
User Interface Packages
- 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