{"id":73,"date":"2015-06-02T01:28:41","date_gmt":"2015-06-02T01:28:41","guid":{"rendered":"http:\/\/fluentreports.com\/blog\/?p=73"},"modified":"2015-06-02T22:29:50","modified_gmt":"2015-06-02T22:29:50","slug":"nativescript-real-time-development-on-android","status":"publish","type":"post","link":"http:\/\/fluentreports.com\/blog\/?p=73","title":{"rendered":"NativeScript - Real time development on Android"},"content":{"rendered":"<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone\" src=\"http:\/\/c2.staticflickr.com\/6\/5106\/5738474150_2eacc7bb7d.jpg\" alt=\"\" width=\"500\" height=\"334\" \/><br \/>\nPhoto (CCA): https:\/\/www.flickr.com\/photos\/sleepyjeanie\/5738474150<\/p>\n<p>Now if you haven't guessed recently I've really taken to NativeScript.\u00a0\u00a0 It is awesome tool set for development applications for your mobile phone.<\/p>\n<p>However, one of its failings compared to some of the other tools is the speed of iteration.\u00a0\u00a0\u00a0\u00a0 On my machine; when I want to test a change;\u00a0 I switch to a command prompt (or hit a hotkey) which then compiles the app and deploys it. \u00a0 \u00a0 This whole process is between 20-30 seconds each time on my beefy machine.\u00a0 If I made any code mistakes; then I watch it crash on the emulator, have to fix it and then wait another 20-30 seconds while it re-compiles &amp; deploys it again.\u00a0\u00a0\u00a0 Another, slow issue testing area is if the screen I'm changing is a little ways into the application then I have to re-navigate back to the screen and test my changes each time I redeploy the app.\u00a0\u00a0\u00a0 So all in all, it is a slow iteration cycle.<\/p>\n<p>Well, I decided to do something about it; and so if you watch my youtube video, <a href=\"https:\/\/youtu.be\/cCiyJZexSOQ\">Real Time NativeScript Development <\/a>, you will see how simply including the \"nativescript-updater\" the screen\/code updates on the emulator INSTANTLY.\u00a0\u00a0\u00a0 And this works for any screen I'm on, no matter how far I have navigated into the program.<\/p>\n<p>In addition the watcher utility will also run any changed JS or XML through a linter before transferring it to the Emulator.\u00a0 This allows me to keep the majority of my stupidity from even getting to the device in the first case which will end up in a crashed callstack.<\/p>\n<p>You can still intermix the normal NativeScript deploys for any reason we want.\u00a0\u00a0 This project has been released at <a href=\"http:\/\/www.github.com\/nathanaela\/nativescript-livesync\">http:\/\/www.github.com\/nathanaela\/nativescript-livesync<\/a>\/ and is completely trivial to include into your project.<\/p>\n<p>I'm waiting on a pull request that I added in the Android-runtime (<a href=\"https:\/\/github.com\/NativeScript\/android-runtime\/pull\/92\">https:\/\/github.com\/NativeScript\/android-runtime\/pull\/92<\/a>) -- until it is accepted; the neat magic only partially work.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Photo (CCA): https:\/\/www.flickr.com\/photos\/sleepyjeanie\/5738474150 Now if you haven't guessed recently I've really taken to NativeScript.\u00a0\u00a0 It is awesome tool set for development applications for your mobile phone. However, one of its failings compared to some of the other tools is the speed of iteration.\u00a0\u00a0\u00a0\u00a0 On my machine; when I want to test a change;\u00a0 I switch&hellip; <a class=\"more-link\" href=\"http:\/\/fluentreports.com\/blog\/?p=73\">Continue reading <span class=\"screen-reader-text\">NativeScript - Real time development on Android<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_crdt_document":"","footnotes":""},"categories":[3,15,7],"tags":[],"class_list":["post-73","post","type-post","status-publish","format-standard","hentry","category-javascript","category-nativescript","category-performance","entry"],"_links":{"self":[{"href":"http:\/\/fluentreports.com\/blog\/index.php?rest_route=\/wp\/v2\/posts\/73","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/fluentreports.com\/blog\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/fluentreports.com\/blog\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/fluentreports.com\/blog\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/fluentreports.com\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=73"}],"version-history":[{"count":3,"href":"http:\/\/fluentreports.com\/blog\/index.php?rest_route=\/wp\/v2\/posts\/73\/revisions"}],"predecessor-version":[{"id":76,"href":"http:\/\/fluentreports.com\/blog\/index.php?rest_route=\/wp\/v2\/posts\/73\/revisions\/76"}],"wp:attachment":[{"href":"http:\/\/fluentreports.com\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=73"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/fluentreports.com\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=73"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/fluentreports.com\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=73"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}