A framework for building your best shopping app
Flagship accelerates development of the best omnichannel commerce experiences by providing a full solution framework with routing solutions, components and integrations. In short, it enables you to focus more on innovations that matter.
Flagship helps you to:
- Build progress web apps and native 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 TypeScript, and currently supports React Native.
Flagship is comprised of a core flagship
Nx plugin and a number of ancillary
modules. These 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.
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 SFCC 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
.
Supported platforms are:
android
ios
web
In Flagship 11, we began integrating Nrwl Nx into the core of Flagship. The
existing flagship
package can still be used without Nrwl Nx, however we are
very excited about the improvements that Nx brings to the development workflow.
The flagship-nx
package includes the Flagship Nx plugin.
You can use the init
executor in this package to create an ios
and
android
file for any nx project. The webpack-nx
includes a ready-made webpack config which supports all Flagship modules.
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.