After browsing the forums for a little bit, my understanding is that mobile launcher is not in place just yet. But, running a quick test on my home network, it appears that this is possible:
run the SAFE Launcher on one machine in my local home network
modify “localhost” in MaidSafe’s DEMO App to point to the IP address of the machine running the SAFE Launcher (in safe_api_factory.js)
run the modified DEMO App successfully from another machine, one that is not running the Launcher
It sounds like it would be possible to start developing “demo” mobile
apps today with that setup. Of course apps would only work on the WiFi
network at your home, but for “demo” apps perhaps that’s OK for now.
I’m considering porting MaidSafe’s DEMO app to Android and iOS using either
Xamarin, ReactNative, or Ionic2. I haven’t decided yet which one to
use, although I’m leaning towards Xamarin at this point. Is there a
preference from MaidSafe on one versus the other?
Any other thoughts or concerns about pointing mobile apps to a Launcher running on another machine?
I’m learning some ReactJS and NativeScript to also do some dummy mobile app for safenet. I also thought about Ionic but I was told that NativeScript is better, but I honestly don’t know, I’m just gonna give it a try to ActiveJS.
I’ve developed an Ionic app before and it’s certainly a nice option for mobile, although I am not a fan of Angular or Angular2.
The more I think about this, ReactNative could be a nice fit for SAFE mobile apps - it would feel very familiar to devs with ReactJS/Redux background and porting Electron apps could potentially be more straightforward.
What you are describing (facing the network through a launcher over the network) is for sure possible today on mobile, yes. Though you can expect every mobile phone or embedded/IoT device (think of google’s chromecast) to have a sparing parter in the network to proxy to SAFE. Neither can you be sure to have that running on the phone itself (due to limitations of background services provided across app boundaries). That is clearly not the way forward.
We are investigating right now how we could change the launcher and app access to the network to provide for these and other use cases. That will very likely mean that the way they interact with the network will different from the current HTTP-Rest approach.
So, while you can for sure do what you are talking about, the question would be: what do you want to Demo? If you want to demo the technical feasability of doing HTTP-Rest, then there is little point as we’ll probably drop that for the mobile/embedded use case all together. If you want to proof that it is possible to build nice apps for mobile, which can (generally) interface with SAFE, then by all means: go for it!
I know this is a bit OT, but I think we need to consider convergent apps in this equation. If we are unlikely to be doing HTTP/REST on mobile, we should really be considering what other options can work on all platforms. I suspect mobile, tablet and desktop will continue to move closer together over time and headless/embedded apps may well run over all platforms with little modification. We should really aim for a unified interface where possible, to enable easy cross platform development.
Thanks for providing some vision and direction where mobile is heading! I’m already familiar with Cordova and React/Redux, not so much with the cross-builder. I’ll take a look at what it’s all about and experiment with it on mobile.