Make it available Ally, of course that sounds interesting! I'm sure a few of us have suggestions for improvements too.
On Wed, Aug 20, 2014 at 2:38 AM, Ally Ogilvie <aogil...@wizcorp.jp> wrote: > Marcel, Sorry for the late reply. > > For some games that I produce where the entire game is served to the client > (requires no .html in the application) we have a tool called "spellcaster". > Spellcaster handles internet connectivity, localisation and Cordova code > injection. It works as follows: > > One simply adds an application URL to Cordova's config.xml in <content > src=YOUR_URL_HERE> > > - Spellcaster will check for an active internet connection. If one is not > found Spellcaster will continue retrying at a set interval. > - Spellcaster downloads the content of the provided application URL and > stores to application cache (overriding any existing loader). > - Spellcaster injects Cordova script tags just after the <head> tag. > - Spellcaster loads the new *loader into the WebView > > *loader is your html to load. > > Are people still in need of such a solution? I could have this code made > public it just needs a public sanitise check. Spellcaster supports iOS and > Android. > For iOS it requires 1 line of code to be added to > didFinishLaunchingWithOptions. > For Android it requires these overrides in onCreate: > > @Override > public void onCreate(Bundle savedInstanceState) { > super.onCreate(savedInstanceState); > super.init(); > > @Override > public void init() { > Spellcaster spellcaster = new Spellcaster(); > spellcaster.init(this, Config.getStartUrl(), appView); > ... > > @Override > public void init(org.apache.cordova.CordovaWebView webView, > org.apache.cordova.CordovaWebViewClient webViewClient, > org.apache.cordova.CordovaChromeClient webChromeClient) { > super.init(webView, webViewClient, webChromeClient); > > Spellcaster spellcaster = new Spellcaster(); > spellcaster.init(this, Config.getStartUrl(), webView); > ... > > > On Sat, Aug 2, 2014 at 2:17 PM, purplecabbage <purplecabb...@gmail.com> > wrote: > > > It is great design for development, and netflix. > > > > Sent from my iPhone > > > > > On Aug 1, 2014, at 4:26 PM, Marc Weiner <mhweiner...@gmail.com> wrote: > > > > > > It's technically possible, and even (arguably) legal according to > Apple's > > > documentation, depending on the nature of the code and how it's > > implemented: > > > > > > 3.3.2 An Application may not download or install executable code. > > > Interpreted code may only be used in an Application if all scripts, > code > > > and interpreters are packaged in the Application and not downloaded. > The > > > only exception to the foregoing is scripts and code downloaded and run > by > > > Apple's built-in WebKit framework, provided that such scripts and code > do > > > not change the primary purpose of the Application by providing features > > or > > > functionality that are inconsistent with the intended and advertised > > > purpose of the Application as submitted to the App Store. > > > > > > However, I would only do so if the code is coming from a server that > you > > > control, and if you are able to control what code is getting executed. > > > Loading in 3rd party, unverified scripts into your Cordova view is a > big > > > "no-no" for security reasons, and could get your app delisted (or > > rejected). > > > > > > If anyone else has more information on the topic, I'd be interested in > > > hearing it. > > > > > > Marc > > > > > > > > >> On Fri, Aug 1, 2014 at 7:01 PM, Victor Sosa <sosah.vic...@gmail.com> > > wrote: > > >> > > >> Hi Frederico. > > >> > > >> While what you are saying about the policies stores is true, this > > applies > > >> to public stores only (as far as I can tell). For on-premise app > stores > > >> this might be false because each store owner need to set and apply the > > >> governance for the apps. It could end on horrible results due to a bad > > >> implementation. > > >> > > >> I concur with everyone, it is possible but awful design > > >> On Aug 1, 2014 4:35 PM, "Frederico Galvão" < > > >> frederico.gal...@pontoget.com.br> > > >> wrote: > > >> > > >>> I don't have the details in hand at the moment, but I remember seeing > > in > > >>> more than one application store last year policies being changed to > > >>> disallow remote code to run in an application on-demand. Such rules > > >> *could* > > >>> as well be applied to Cordova apps that load remote content > considered > > as > > >>> code (HTML isn't, but JS is). It's not only a security concern per > se, > > >> but > > >>> also an imposed limitation on the stores (which were obviously > created > > >> for > > >>> security concerns in the first place). > > >>> > > >>> Not even mentioning the issues with providing the right cordova.js > > >> version > > >>> from the remote server not really knowing where the request came > from. > > >>> However, it's good to note too that aside Phonegap Developer App, > there > > >> is > > >>> also Adobe Hydration that does the exact same thing as a side service > > to > > >>> Phonegap Build. I don't know if they've come into any of the issues > > >>> mentioned, and I haven't even heard of it being used in production. > > >>> > > >>> > > >>> 2014-08-01 17:36 GMT-03:00 purplecabbage <purplecabb...@gmail.com>: > > >>> > > >>>> I agree with all your statements Marcel. I use this approach > > frequently > > >>> in > > >>>> dev for fast turnaround. > > >>>> Ultimately App Store policies decide what can and cannot be done. > > >>>> > > >>>> Regarding security, there is nothing I can do with a remote page > that > > I > > >>>> can't already do inside my app. It's an issue of trust. > > >>>> > > >>>> > > >>>> Sent from my iPhone > > >>>> > > >>>>> On Aug 1, 2014, at 10:35 AM, Shazron <shaz...@gmail.com> wrote: > > >>>>> > > >>>>> I agree that it is not recommended, but it's possible. I delved > into > > >>>>> this question here: > > >>>>> https://github.com/shazron/phonegap-questions/issues/37 > > >>>>> > > >>>>> The PhoneGap Developer App is an example of how this is working at > > >>>>> http://app.phonegap.com but they do some proxying to get around > the > > >>>>> CORS limitations I believe. > > >>>>> > > >>>>>> On Fri, Aug 1, 2014 at 10:23 AM, Marcel Kinard < > cmarc...@gmail.com> > > >>>> wrote: > > >>>>>> I've been getting occasional questions about users trying to use > > >>>> remotely-loaded (non-local) HTML pages with Cordova (in the webview, > > >> not > > >>>> InAppBrowser), and still expecting to have access to the plugin APIs > > >>>> (camera is a popular one). My response so far is: "This is an > > >> unsupported > > >>>> configuration, because Cordova was not designed for this and the > > >>> community > > >>>> does no testing of this configuration. While it can work in some > > >>>> circumstances, it is not recommended nor supported." > > >>>>>> > > >>>>>> My definition of "unsupported" is not that it is incapable, but > that > > >>> we > > >>>> don't claim that it is supposed to work, and more importantly, we > > won't > > >>>> actively fix user-submitted defects on this topic. > > >>>>>> > > >>>>>> The main concern I have on this is same origin policy, and > matching > > >>> the > > >>>> remotely-served cordova.js with the locally-installed native Cordova > > >>>> platform to avoid version mismatch. > > >>>>>> > > >>>>>> Do you think I'm out in-the-weeds on this, or do you agree? > > >>>>>> > > >>>>>> If you agree, what would you think of a blurb in cordova-docs > > >>> somewhere > > >>>> that captures this gist? > > >>>>>> > > >>>>>> Thanks for your feedback! > > >>> > > >>> > > >>> > > >>> -- > > >>> > > >>> *Frederico Galvão* > > >>> > > >>> Diretor de Tecnologia > > >>> > > >>> PontoGet Inovação Web > > >>> > > >>> > > >>> ( +55(62) 8131-5720 > > >>> > > >>> * www.pontoget.com.br <http://www.pontoget.com/> > > >> > > > > > > -- > <http://www.wizcorp.jp/>Ally Ogilvie > Lead Developer - MobDev. | Wizcorp Inc. <http://www.wizcorp.jp/> > ------------------------------ > TECH . GAMING . OPEN-SOURCE WIZARDS+ 81 (0)3-4550-1448 | Website > <http://www.wizcorp.jp/> | Twitter <https://twitter.com/Wizcorp> | > Facebook > <http://www.facebook.com/Wizcorp> | LinkedIn > <http://www.linkedin.com/company/wizcorp> >