NativeScript / NativeScript/android
[FR] Customize metadata generation to avoid adding unnecessary unused JS wrappers
Personne n'a encore pris cette issue.
- Langage dominant
- C++
- Étoiles
- 563
- Forks
- 144
- Merge moyen
- 10 h 46 min
- PR mergées (30 j)
- 14
Description
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
Guide de contribution
Ouvrir le guide de contribution
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
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.
Évaluation
- Stack technique
- android, javascript
- Domaine
- build-system, mobile-dev
- Type d'issue
- Fonctionnalité
- Difficulté
- 5/5
- Temps estimé
- Plus d'une semaine
- Activité
- À l'abandon
- Clarté
- À clarifier
- Accessibilité débutants
- 25/100