Primeros pasos
Requisitos, checkout hermano, dependencias, raíz de composición y la checklist de Super App.
Versión de la documentación: supercore main · paquetes 1.0.0
RequisitosEnlace a esta sección: Requisitos
Todos los paquetes requieren Dart SDK ^3.12.2 y Flutter >=3.27.0. Los paquetes no están publicados en pub.dev; los productos dependen de ellos por ruta.
Checkout hermanoEnlace a esta sección: Checkout hermano
Clona supercore junto al repositorio de tu producto para que se resuelvan las dependencias de ruta.
HANTURAI/
supercore/
supergarage/ # consumer reference
superhospital/ # enterprise reference
superhealth/ superfinance/ superhome/ supertravel/ supersports/ …Añadir dependenciasEnlace a esta sección: Añadir dependencias
Producto consumer
dependencies:
after_core:
path: ../supercore/packages/after_core
after_consumer:
path: ../supercore/packages/after_consumer
after_design_system:
path: ../supercore/packages/after_design_systemProducto enterprise
dependencies:
after_core:
path: ../supercore/packages/after_core
after_enterprise:
path: ../supercore/packages/after_enterprise
after_design_system:
path: ../supercore/packages/after_design_systemRaíz de composiciónEnlace a esta sección: Raíz de composición
Cada producto registra su manifiesto y devuelve los overrides estándar desde una única raíz de composición, y luego añade encima sus adaptadores.
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}',
);
}
}Fuente supercore/templates/super_app_consumer/after_framework.dart (se abre en una pestaña nueva)
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(),
),
];
}Fuente supercore/templates/super_app_enterprise/after_framework.dart (se abre en una pestaña nueva)
Checklist de Super AppEnlace a esta sección: Checklist de Super App
Obligatorio
- Depender de after_core y after_design_system desde supercore
- AppPlatformManifest único: appId, packageName, provider de widgets, app group de iOS
- Raíz de composición en lib/app/platform/after_framework.dart
- Definir PlatformConfig.current antes de runApp
- Auth, analítica, push y derechos detrás de puertos de After
- Política HTTPS de Dio con requireHttps: true
- Tema a partir de AfterThemeData
- Funcionalidades verticales solo en lib/features/
- Smoke test: el manifiesto y los overrides no están vacíos
- CI: formato, análisis, tests
Recomendado
- Flavors de tienda: play, dev, huawei
- assets/l10n y un catálogo de cadenas
- Matriz de derechos asignada a AfterUserPlan y AfterPlanFeature
- URL de privacidad y términos en el hub legal de Overstein