Primeiros passos
Requisitos, checkout lado a lado, dependências, raiz de composição e o checklist de Super App.
Versão da documentação: supercore main · pacotes 1.0.0
RequisitosLink para esta seção: Requisitos
Todo pacote tem como alvo o Dart SDK ^3.12.2 e o Flutter >=3.27.0. Os pacotes não são publicados no pub.dev; os produtos dependem deles por caminho.
Checkout lado a ladoLink para esta seção: Checkout lado a lado
Clone o supercore ao lado do repositório do seu produto para que as dependências de caminho sejam resolvidas.
HANTURAI/
supercore/
supergarage/ # consumer reference
superhospital/ # enterprise reference
superhealth/ superfinance/ superhome/ supertravel/ supersports/ …Adicionar dependênciasLink para esta seção: Adicionar dependências
Produto consumer
dependencies:
after_core:
path: ../supercore/packages/after_core
after_consumer:
path: ../supercore/packages/after_consumer
after_design_system:
path: ../supercore/packages/after_design_systemProduto enterprise
dependencies:
after_core:
path: ../supercore/packages/after_core
after_enterprise:
path: ../supercore/packages/after_enterprise
after_design_system:
path: ../supercore/packages/after_design_systemRaiz de composiçãoLink para esta seção: Raiz de composição
Cada produto registra seu manifesto e retorna os overrides padrão a partir de uma única raiz de composição, depois adiciona seus adaptadores por cima.
class SuperAppConsumerFramework {
SuperAppConsumerFramework._();
static Future<List<Override>> ensureConfigured() async {
PlatformConfig.current = superAppConsumerManifest;
final prefs = await SharedPreferences.getInstance();
return AfterStandardOverrides.create(
preferences: prefs,
userAgent:
'${superAppConsumerManifest.appName}/${superAppConsumerManifest.appId}',
);
}
}Fonte supercore/templates/super_app_consumer/after_framework.dart (abre em uma nova aba)
static Future<List<Override>> ensureConfigured({
EnterpriseRepository? enterpriseRepository,
}) async {
PlatformConfig.current = superAppEnterpriseManifest;
final prefs = await SharedPreferences.getInstance();
return [
...AfterStandardOverrides.create(
preferences: prefs,
userAgent: '${superAppEnterpriseManifest.appName}/'
'${superAppEnterpriseManifest.appId}',
),
enterpriseRepositoryProvider.overrideWithValue(
enterpriseRepository ?? MockEnterpriseRepository(),
),
];
}Fonte supercore/templates/super_app_enterprise/after_framework.dart (abre em uma nova aba)
Checklist de Super AppLink para esta seção: Checklist de Super App
Obrigatório
- Depender de after_core e after_design_system do supercore
- AppPlatformManifest único: appId, packageName, provider de widget, app group do iOS
- Raiz de composição em lib/app/platform/after_framework.dart
- Definir PlatformConfig.current antes de runApp
- Auth, analytics, push e direitos atrás de ports After
- Política HTTPS do Dio com requireHttps: true
- Tema a partir de AfterThemeData
- Features verticais apenas em lib/features/
- Smoke test: manifesto e overrides não vazios
- CI: formatação, análise, testes
Recomendado
- Flavors de loja: play, dev, huawei
- assets/l10n e um catálogo de strings
- Matriz de direitos mapeada para AfterUserPlan e AfterPlanFeature
- URLs de privacidade e termos no hub jurídico da Overstein