Aller au contenu principal

Installable Apps

Ouvrir dans ChatGPT
24.21
Java API

L'annotation @AppProfile dans webforJ vous permet de rendre votre application installable sur les plateformes supportées. Les applications web installables s'intègrent parfaitement au système d'exploitation de l'appareil. Lorsqu'elles sont installées, elles apparaissent sur l'écran d'accueil ou le menu des applications, similaire aux applications natives. Pour y parvenir, certaines métadonnées telles que le nom, la description et les icônes doivent être fournies. Ces détails aident le système d'exploitation à identifier et à afficher l'application.

Exigence d'origine sécurisée

Pour qu'une application soit installable, elle doit être servie depuis une origine sécurisée, comme https. Cette exigence garantit que l'application respecte les normes de sécurité nécessaires à l'installation. Cependant, cette règle ne s'applique pas lorsque l'application est servie localement à partir de localhost pendant le développement.

Pour plus de détails sur les contextes sécurisés et leur importance, consultez la documentation MDN sur les Contextes Sécurisés.

Annotation @AppProfile

L'annotation @AppProfile est appliquée à la classe principale de l'application et nécessite une configuration minimale. Au minimum, vous devez fournir :

  • name : Le nom complet de l'application.
  • shortName : Une version concise du nom à utiliser dans des contextes à espace limité.

Des propriétés optionnelles supplémentaires permettent de personnaliser l'apparence et le comportement de l'application.

Lorsque l'annotation @AppProfile est présente, webforJ :

  • Configure automatiquement les balises méta nécessaires.
  • Génère un Manifest d'Application Web.
  • Serre les ressources associées telles que les icônes et captures d'écran.

Exemple : Application de @AppProfile

@AppProfile(
name = "Banque Zyntric",
shortName = "ZBank",
description = "La Banque Zyntric est une application bancaire simple construite avec webforJ",
screenshots = {
@AppProfile.Screenshot(
src = "ws://img/screenshots/s1.jpg",
sizes = "1080x1920"
)
}
)
public class Application extends App {
}

Propriétés @AppProfile

Le tableau suivant répertorie toutes les propriétés prises en charge par l'annotation @AppProfile :

PropriétéTypeDescriptionValeur par Défaut
nameStringLe nom complet de l'application, affiché dans les menus d'applications et les boîtes de dialogue d'installation.Obligatoire
shortNameStringUne version courte du nom, utilisée dans des contextes avec espace limité. Ne doit pas dépasser 12 caractères.Obligatoire
descriptionStringUne brève description de l'application, affichée lors de l'installation et dans les paramètres de l'application.""
themeColorStringLa couleur du thème pour l'application, appliquée à l'interface du navigateur lorsque l'application est lancée."#ffffff"
backgroundColorStringLa couleur de fond initiale de l'application pendant le chargement."#f8fafc"
startUrlStringL'URL à ouvrir lorsque l'application est lancée."."
displayDisplay EnumLe mode d'affichage de l'application (e.g., FULLSCREEN, STANDALONE, BROWSER).STANDALONE
orientationOrientation EnumL'orientation par défaut de l'application (e.g., PORTRAIT, LANDSCAPE, NATURAL).NATURAL
iconsIcon[]Un tableau d'icônes représentant l'application à différentes résolutions.[]
defaultIconDefaultIconSpécifie une icône par défaut pour l'application. Génère automatiquement des chemins d'icônes dans plusieurs tailles si configuré.icons://icon.png
screenshotsScreenshot[]Un tableau de captures d'écran pour l'application, utilisé dans les boîtes de dialogue d'installation.[]
categoriesString[]Catégories pour classer l'application (e.g., Finance, Shopping).[]

Propriétés @AppProfile.Icon

Les icônes définissent la représentation visuelle de votre application dans les menus et les écrans d'accueil. L'annotation @AppProfile.Icon prend en charge les propriétés suivantes :

PropriétéTypeDescriptionValeur par Défaut
srcStringLe chemin vers l'icône. Cela peut être une URL absolue ou un chemin ws://.Obligatoire
sizesStringUne chaîne qui spécifie une ou plusieurs tailles de l'image au format LargeurxHauteur (e.g., 512x512).Obligatoire
typeStringLe type MIME de l'icône (e.g., image/png, image/jpeg). S'il n'est pas fourni, il sera détecté""
purposeStringLe but de l'icône (e.g., any, maskable, monochrome).""

Exemple

@AppProfile.Icon(
src = "ws://icons/icon-512x512.png",
sizes = "512x512",
type = "image/png"
)

Propriétés @AppProfile.DefaultIcon

L'annotation DefaultIcon simplifie la configuration des icônes d'application en générant plusieurs variantes de taille à partir d'une icône de base. Ceci est particulièrement utile pour garantir la compatibilité avec des appareils ayant des résolutions variées.

PropriétéTypeDescriptionValeur par Défaut
valueStringLe chemin vers le fichier d'icône de base. Cela peut être une URL absolue ou un chemin ws://.Obligatoire
sizesint[]Un tableau de tailles à générer, spécifié en entiers (e.g., {144, 192, 512}).{144, 192, 512}
Exigences Relatives aux Fichiers d'Icônes

Cette configuration ne génère pas automatiquement les fichiers d'icônes réels pour l'application. Au lieu de cela, elle utilise l'annotation @AppProfile.DefaultIcon pour générer les entrées correspondantes @AppProfile.Icon pour chaque taille spécifiée.

Si vous utilisez le protocole du serveur web

  • Vous devez fournir un fichier d'icône de base icon.png dans le dossier static/icons.
  • Vous êtes censé inclure des variations supplémentaires nommées icon-144x144.png, icon-192x192.png et icon-512x512.png.
  • Ces tailles spécifiques garantissent la compatibilité avec différents appareils et résolutions.

Si vous utilisez le protocole des icônes

  • Vous êtes censé fournir un fichier d'icône de base icon.png dans le dossier /icons.
  • Le point de terminaison icons fournit dynamiquement différentes tailles d'icônes à la demande lorsqu'elles sont demandées.

Propriétés @AppProfile.Screenshot

Les captures d'écran fournissent un aperçu de l'application dans les boîtes de dialogue d'installation ou les boutiques d'applications. L'annotation @AppProfile.Screenshot prend en charge les propriétés suivantes :

PropriétéTypeDescriptionValeur par Défaut
srcStringLe chemin vers la capture d'écran. Cela peut être une URL absolue ou un chemin ws://.Obligatoire
sizesStringUne chaîne qui spécifie une ou plusieurs tailles de l'image au format LargeurxHauteur (e.g., 1080x1920).Obligatoire
typeStringLe type MIME de la capture d'écran (e.g., image/png, image/jpeg). S'il n'est pas fourni, il sera détecté""
labelStringUne étiquette descriptive pour la capture d'écran.""
formFactorStringLe facteur de forme de la capture d'écran (e.g., narrow, wide).""
platformStringLa plateforme pour laquelle la capture d'écran est destiné(e) (e.g., ios, android).""

Exemple

@AppProfile.Screenshot(
src = "ws://img/screenshots/s1.jpg",
sizes = "1080x1920"
)