[FR] Customize metadata generation to avoid adding unnecessary unused JS wrappers

Ouverte
#1,485 6 commentaires 5 réactions 0 personnes assignées Voir sur GitHub

Personne n'a encore pris cette issue.

Évaluation

Difficulté
5/5
Temps estimé
Plus d'une semaine
Accessibilité débutants
25/100
Type d'issue
Fonctionnalité
Clarté
À clarifier
Activité
À l'abandon
Stack technique
android, javascript

Piste de recherche

Aucun fichier Android, test ou point d’entrée n’est nommé. Commencez par l’issue #5220 de NativeScript CLI liée et par l’issue #1209 correspondante du runtime iOS, puis déterminez comment la génération des métadonnées Android devrait utiliser les listes fusionnées de dépendances de l’application et des plugins. La réalisation doit inclure un moyen opt-in de limiter les entités exposées ainsi qu’un moyen de préserver le comportement existant qui consiste à tout inclure.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Description

feature optimization

Is your feature request related to a problem? Please describe.
Currently, the whole Android SDK and all native libraries used in a {N} app are included in the metadata binary files. In order to reduce app size and improve startup performance, we should allow app/plugin developers to specify which entities (e.g. Java packages) need to actually be accessible from JavaScript.

Additional context
Things to consider:

  • This will be a breaking change because every plugin and every app which directly call into native code will need to start stating their native dependencies
  • Multiple such dependency lists coming from all plugins and the app should be merged. Maybe some changes in the CLI will be necessary as well.
  • There should be a way to allow everything to be included (like it's been before this feature)

An idea for UI which helps generate these lists from @shirakaba: Polyfill.io shows one user interface by which one could generate a package by specifying only the libraries that one needs. Maybe something like this could be applied to the NativeScript runtimes: https://polyfill.io/v3/url-builder/

Corresponding feature request in iOS runtime is: https://github.com/NativeScript/ios-runtime/issues/1209

Implemented in {N} CLI with: https://github.com/NativeScript/nativescript-cli/issues/5220

Langage dominant
C++
Étoiles
563
Forks
144
Merge moyen
10 h 46 min
PR mergées (30 j)
14

Guide de contribution

Ouvrir le guide de contribution

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Autres issues de NativeScript/android

Toutes les issues de NativeScript/android

Issues similaires

Plus d'issues C++

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.