Giter VIP home page Giter VIP logo

Comments (10)

PiTiLeZarD avatar PiTiLeZarD commented on May 23, 2024 1

200Mb sounds like a lot and you're right. My files are 20Mb and they're not assets, they're part of the code :/ I dont know if that changes anything?

from expo-cli.

terribleben avatar terribleben commented on May 23, 2024

Hey, thanks for the well written question. I've pinged a couple people on the team who might have ideas about this.

from expo-cli.

nikki93 avatar nikki93 commented on May 23, 2024

I think the remote API approach may be the best one here given that it'll be in your control. You could also address other things -- like whether you need all the data upfront and whether your client and server can communicate through time to transmit only required chunks as needed. One quick thing you could try is splitting up the single file and using multiple assets -- I've had assets work for 200mb total of images for example where each file was about 3-8mb.

from expo-cli.

ide avatar ide commented on May 23, 2024

+1 to the remote API. This way when you publish a new update to your app, people don't need to redownload all the data as well.

from expo-cli.

PiTiLeZarD avatar PiTiLeZarD commented on May 23, 2024

I prefer having all the data in the app as it's cheaper for me ;) and most importantly it's less breaking points. Trying to keep the complexity down.

I seem to have found the limit but I'm not sure. I can load all the data if I divide it in files of maximum 2Mb and then import it all back one structure. In this case, if 2Mb is the limit, the complexity is just in the script that creates the database and I'm fine with this.

So there's something to look into, what do you think? I dont know if your time is worth checking that issue since not many of us end up in this situation but at least you know there's something going on there.

Thanks for coming back to me on this one.

from expo-cli.

ide avatar ide commented on May 23, 2024

A 200MB over-the-air update will likely lead to unreliable and potentially costly (ex: data plans) updates for your users. To strike a balance, we (Expo) might need to put a cap of ~10MB on OTA updates and leave bundled assets in standalone apps have no cap -- this seems respectful to users who can see the total app size in the App Store / Google Play and switch to Wi-Fi if they need to.

from expo-cli.

thurber avatar thurber commented on May 23, 2024

I found I was able to get around this issue in expo v24 by adding a line in my .babelrc like "ignore": [ "*.json" ]. But this workaround is no longer effective in expo v25. Seems like it's probably an issue with the way expo interacts with the metro bundler, but hard to tell. See facebook/metro#123 or facebook/metro#111 for instance.

from expo-cli.

HikingDev avatar HikingDev commented on May 23, 2024

Any news on this? The issue with large files has been around for quite some time and
even with bable v7 (where ignore is supposed to work again) does not work for me.

from expo-cli.

brentvatne avatar brentvatne commented on May 23, 2024

cc @fson

from expo-cli.

EvanBacon avatar EvanBacon commented on May 23, 2024

This is an upstream Metro bundler issue. Nothing we can do in expo-cli.

from expo-cli.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.