Question on how Mist works and the APK that gets generated

3 posts, 1 answers
  1. Carlos
    Carlos avatar
    69 posts
    Member since:
    Jun 2011

    Posted 15 Mar 2013 Link to this post

    So when I am using Mist there is an APK that gets generated and I am able to "install" it on my device.  Is this actually "installed".  Is it a native app at this point when I scan the QR Code.  It is just a bit confusing being "installed" and I am able to make immediate changes and it just shows up on my device.
    And if I publish to the Google Play store, if I am making edits in Mist, the users of my app who downloaded form the Google Play store are not going to be seeing my changes automatically like I do when I am developing, correct?

    Just a bit confused on how all this stuff works.  Really cool product.  Side question, are you guys developing and IDE or Mist release for Windows 8 phone yet or have any idea when that will come out?
  2. Answer
    Yavor Georgiev
    Yavor Georgiev avatar
    982 posts

    Posted 16 Mar 2013 Link to this post

    Hello Carlos,

     Icenium produces hybrid apps that are based on Apache Cordova. Such apps are just like any other Android or iOS apps - they can be installed just like any other app, they have access to the same resources like GPS and camera and are subject to the same restrictions. Whenever you scan the installation QR code in Icenium, what is installed on your device is a normal Android app, just like a native one.

     What Cordova does is host your HTML, JS and CSS in a WebView with many extra JavaScript functions that provide access to parts of the device not usually accessible by JavaScript. This is implemented by native code for each platform (Java for Android and Objective-C for iOS) that interfaces with the JavaScript inside the WebView.

     In essence, a Cordova app is just the native Cordova code that runs HTML, JS and CSS that you provide.

     When you use Run On Device in Mist, Icenium generates an APK that has the Cordova code, your HTML, JS and CSS code, and our custom LiveSync code, which enables the app to be updates as soon as you change a file in Icenium without having to build and install a new APK.

     When you want to build an APK for Google Play, you use the Publish function to generate an APK without our LiveSync code which is a pure Cordova app. This means that you use Run On Device while you are developing your app so that you and your testers can use LiveSync to quickly get the latest changes to the app and, once your app is complete, you use Publish to make a production build of your app.

     You can think of Run On Device as building your app for debugging. Many IDEs insert extra code not present in the final version of the app when compiling for debugging. Run On Device is essentially Mist's build for debugging.

    Yavor Georgiev
    the Telerik team

    Share feedback and vote for features on our Feedback Portal.
    Want some Kendo UI online training - head over to Pluralsight.
  3. Carlos
    Carlos avatar
    69 posts
    Member since:
    Jun 2011

    Posted 18 Mar 2013 Link to this post


    Thank you for the complete answer.  That is exactly what I was needing to know.  I appreciate it.  

Back to Top