Hey guys,
First off, I love fuse and think you guys are doing a great job on an almost impossible mission. We’re really close to our first release.
I’m just sharing my current experience with local preview to help improve it:
-
When I start a vanilla project to test a feature or UI design, the start up time and “auto-detect-save/refying refresh rate” with local preview is fast and the experience is awesome.
-
I had the same experience when I first begun my project but as time went along and the project started to grow, I noticed that the start up time of the preview was taking longer and when making several “micro changes” to code, the refying would take longer as well; it almost feels as if its refying every time I hit save. Nature of our project:
-
We have a navigator in our mainview.ux and if I comment out 99% of pages it doesn’t make a diff to preview performance. If I remove the files from the project as well, then the preview gets super fast.
-
Some of our pages make API calls.
-
We have not localized language yet.
-
Rough stats: 40 pages, 110 components (some simple, some complex), 6+ fuse modules that require native to test & 2 external projects/foreign code
-
The local preview can become unresponsive sometimes even if I do a “single save”, meaning not making a change and hitting save while the preview is busy refying from the initial save.
-
I’m usually forced to force quit when it “hangs” for awhile but once I do this, starting the preview up again will be a pain; I don’t know why but it takes even longer after an “app reboot/crash” to preview. I typically check my activity monitor and force quit all fuse processes before “re-previewing” else it takes even longer to start. Rebooting macOS and starting preview works but not a viable workflow. At this stage, its actually faster to save changes and export to native device; android export is faster in this regard as it doesn’t require android studio to run whereas iOS requires XCode to run the app on your device. Have to use native to test some of the fuse features used.
Some ideas:
- Would be great if the preview could detect when I’ve stopped hitting save then fire one refy event.
So if I hit save 3 times within 2 seconds, it should only refy once after 2 seconds, instead of refying 3 times. - You could have a toggle button that when its on, will act as usual (great for when project is small) but when its off, will require me to manually refresh/rebuild/restart. Probably best to have it on by default. (this will help greatly when the project is big and slow)
Specs: macOS Sierra 10.12.6, Fuse 1.6.1, 2.7Ghz Core i5, 12GB Ram