La taille de l'APK natif de React pour un exemple Hello World est d'environ 20 millions ( dans les versions récentes < / a>) en raison de la prise en charge de différentes architectures matérielles (ARMv7, ARMv8, X86, etc.) alors que la taille de Flutter APK pour la même application est d'environ 7M.
Quelle est la raison de la différence de taille? Flutter prend-il en charge toutes les architectures matérielles?
4 Réponses :
RN utilise JavaScriptCore open source, qui est le moteur par défaut de Safari. Les applications RN iOS et Android n'ont pas la même taille. Pour iOS, RN utilise JavaScriptCore fourni par la plate-forme iOS, et pour Android RN, JavaScriptCore avec l'application, ce qui augmente la taille de l'application. La taille de Flutter et RN Hello World diffère en raison de JavaScriptCore .
Ma question n'est pas de savoir pourquoi la taille de la version exportée est différente sous iOS et Android.
C'est ce que j'ai dit ici La raison pour laquelle Flutter et RN Hello World diffèrent en taille est à cause de JavaScriptCore
pour Android RN associe JavaScriptCore à l'application, ce qui augmente la taille de l'application
La réponse de Junius est donc correcte mais je ne pense pas qu'elle couvre la raison. Ainsi Flutter se compile en code 100% natif , où RN utilise une combinaison de code natif et de JavaScript communiquant à travers un pont.
C'est pourquoi Flutter n'a pas besoin d'ajouter le noyau JavaScript ainsi, la taille est plus petite. Mais de toute façon, à mesure que votre application se développe, la partie JS aura toujours la même taille.
Visitez les URL mentionnées ci-dessous et elles pourraient peut-être vous aider concernant ce que vous recherchez.
https://nevercode.io/blog/ flutter-vs-react-native-a-developer-perspective /
https://android.jlelse.eu/comparing-apk-sizes-a0eb37bb36f
sinon, cela donnera toujours plus d'informations aux autres sur la différence entre Flutter et les autres, et si l'on doit choisir Flutter plutôt que toute autre technologie de développement d'applications hybrides.
Avant-hier, j'ai publié une application Flutter dans laquelle il y a aussi des images. Cependant, l'application possède des bibliothèques qui ne sont pas petites comme Firebase et j'ai réussi à la faire passer à 2,3 Mo. Au lieu de cela, j'ai une autre application Flutter que j'ai publiée et pèse 8,5 Mo. Voulez-vous connaître la seule différence? L'Api Min part de 21, tandis que celui qui pèse 8,5 de 16. C'est un gros avantage car 2,3 sont très peu nombreux. Ce n'est qu'en mode débogage que la taille est très grande, alors ne vous inquiétez pas, car lorsque vous compressez l'application Flutter dans appBundle par exemple sur le Play Store, sa taille est très petite.
qu'entendez-vous par
"architecture matérielle"?@pskink Je pense que ARMv7, ARMv8, X86 .etc voulait-il mentionner.
@pskink oui, je veux dire quelque chose comme ARMv7 ...