I believe it's time for Liveview to receive some love. It isn't uncommon to see people complaining on TiSlack about connection losses between mobile and liveview server, unclear errors, how to activate liveview, conflicting ports, and the list goes on.
With that in mind, I want to propose a few improvements to Liveview that I believe would save Titanium developers hundreds of hours:
- The ability to start a Liveview Server without having to trigger an app build. Think opening an app's project folder and simply calling liveview start. This way, if you have an app that's been already built with the --liveview flag you just need to open it (without even having to connect a cable!) and resume your work. I'd love if Liveview was a persistent service that never closed unless I wanted it to. React Native's Metro Bundler does a really good job at this - it runs off of a standalone terminal window and remains alive until you ctrl+c or close it.
- 100% Uncoupling between Liveview and everything else. Liveview should stay active regardless of App State, Simulator State, Device State, Crashes, and so on. Ideally development builds should contain all the required logic to check if a Liveview server is up and running in the local network and connect to it, otherwise properly display a red-screen error.
- [iOS] As of SDK 8.X Liveview sometimes closes itself after an app crash, requiring a complete app build to be restarted.
- [Android] As of SDK 8.X Liveview stops printing OS-level logs upon an app crash, and the only way to see them again is by opening a new terminal window and doing a adb logcat | grep "TiAPI".
- Look into making Liveview always-on for development builds, and instead allow a --disable-liveview flag to be passed as a build parameter. Truth is, 98% of the time you will need Liveview while you're working on a new functionality (maybe that's a biased opinion, but only Axway has access to the actual number of people who currently write down --liveview on their build commands. I'll leave that to you)
I can elaborate more on the items above if needed, but I already think the list above is a huge wall of text. Let me know if any of the points are unclear.