# App types

> Compare Shoplazza public apps and private apps: where each is distributed, its lifecycle, and whether to integrate as an embedded or a standalone app.

## Prerequisites

You've completed [Register partner](/docs/app/getting-started/create-public-app/register-partner) and have a Partner account.

Apps are a vital part of the Shoplazza ecosystem and can be divided into two main categories: **Public Apps** and **Private Apps**.

## Public Apps

Public apps are listed on the **[Shoplazza App Store](https://appstore.shoplazza.com/)**, allowing merchants to easily discover, install, and utilize them to enhance their stores.

## Public App Lifecycle

The lifecycle of a public app includes the following phases:

![](https://cnres.appracle.com/046e6c1c3b74d70115c7b49ca943dc4e.png)

1. **Creation Phase**

* Developers create the app on the partner platform and build its corresponding software services.

2. **Audit Phase**

* Developers submit the app for audit on the [partner platform](https://partners.shoplazza.com/).
* The Shoplazza operations team reviews and processes the app within **7 working days**.

3. **Listing Status**

* After passing the audit, the app is listed on the [App Store](https://appstore.shoplazza.com/), making it discoverable to merchants.
* Merchants can browse, install, and use the app to add features to their stores.

4. **Merchant Uninstalls the App**

* Merchants can uninstall the app at any time if they no longer require its services.
* Uninstalling does not affect the app’s listing status in the [App Store](https://appstore.shoplazza.com/).

5. **Delisting Status**

* If the app service quality does not meet expectations or the developer wants to delist the app, they can apply by email. 
* Once delisted, the app becomes invisible in the App Store and cannot be installed or used by merchants.

## How Public Apps Integrate with Shoplazza Stores

### Embedded Apps Method {#embedded-apps-method}

The embedded method places your entire app within the Shoplazza store framework (inside an iframe), and your app may need to adapt to Shoplazza's interface display. If you need to use some common components or UI styles of Shoplazza's front end, you may need the [APP\_Bridge](/docs/app/developer-tools/app-bridge/) component library.\
Embedded integration is a recommended approach that provides a better experience for merchants, but it demands higher development capabilities for the app. The overall effect is as shown in the following figure:

![](https://cnres.appracle.com/1394ceab680768d5b0e67be5ddee1aa0.png)

If you integrate using an embedded approach into the Shoplazza framework, you may need to customize some page components or UI effects under the ShopCraft framework. At this point, you might need to use [APP\_bridge](/docs/app/developer-tools/app-bridge/). You can think of it as a front-end JavaScript component library for ShopCraft, which allows you to use some common component functionalities and styles of ShopCraft, such as hiding the "Log Out" button. As shown in the following figure:

![](https://cnres.appracle.com/93ed66d0dd4fa20cc037218eb6d0721a.png)

:::note
Ready to build one? Follow [Develop an embedded app](/docs/app/getting-started/create-public-app/embed-in-admin).
:::

### Standalone Apps Method

The standalone app method uses the app's own domain name to open the app, and the entire display of the app is a complete independent web page. Therefore, the display effect of this app does not need to adapt to the Shoplazza store interface effect, and the degree of freedom is high.\
As shown in the following figure:

![](https://cnres.appracle.com/ae029d31bc40c6b83b256381ffd3ddf1.png)

# Private Apps

[Private apps](/docs/app/getting-started/create-private-app) are unique to a store and do not appear on the [App Store](https://appstore.shoplazza.com/).

## Private App Lifecycle

Since[ private apps ](/docs/app/getting-started/create-private-app)only serve a specific store, there is no listing on the [App Store](https://appstore.shoplazza.com/), nor is there an installation or uninstallation process. The software service status is also maintained by the store itself.

![](https://cnres.appracle.com/994fd6238f8e0cf65a209c8806d58c41.png)

1. **Creation Phase**

* The merchant creates an application in the store's back-end and prepares the corresponding software service for the application.

2. **Merchant Deletes the Application**

* If the merchant no longer requires the application, they can delete it. 
* The application will become unavailable, and any access tokens associated with the application will be invalidated.

# Comparison of Differences Between the Two

The detailed differences are as follows:

  
    
      
        Type of app
      

      
        Creation
      

      
        Status Differences
      

      
        Authorization
      

      
        Installation
      

      
        Approval required
      
    
  

  
    
      
        Public App
      

      
        [Created in the Partner Center](https://partners.shoplazza.com/)
      

      
        There is a variety of statuses available.
      

      
        OAuth
      

      
        Installed on multiple Shoplazza stores
      

      
        Yes, distribuilt to App store
      
    

    
      
        Private App
      

      
        [Created in the Shoplazza Store admin](https://www.shoplazza.com/)
      

      
        There are only two states: creation and deletion.
      

      
        Access Token
      

      
        No installation needed,It serves only the store that created the application
      

      
        no icons,\
        no detailed descriptions,\
        no need to be published
      
    
  

## Next steps

Building a public app (the path this guide follows)? Continue to [Create app](/docs/app/getting-started/create-public-app/create-app). Building a private or payment app instead? See [Create a private app](/docs/app/getting-started/create-private-app) or [Create a payment app](/docs/app/getting-started/create-payment-app/).
