{"id":1197,"date":"2017-04-03T16:38:57","date_gmt":"2017-04-03T14:38:57","guid":{"rendered":"https:\/\/blog.thecodecampus.de\/?p=1197"},"modified":"2023-12-20T20:26:29","modified_gmt":"2023-12-20T19:26:29","slug":"javascript-running-wearable-yes-native","status":"publish","type":"post","link":"https:\/\/www.thecodecampus.de\/blog\/javascript-running-wearable-yes-native\/","title":{"rendered":"JavaScript Running On A Wearable? Yes, And Its Native."},"content":{"rendered":"<p>A while ago some folks asked me, if it&#8217;s possible to use <a href=\"https:\/\/www.nativescript.org\/\" target=\"_blank\" rel=\"noopener\">NativeScript<\/a> and <a href=\"https:\/\/angular.io\/\" target=\"_blank\" rel=\"noopener\">Angular<\/a> with Android Wear.<\/p>\n<p><strong>tl:dr;<\/strong> It&#8217;s possible, easy to setup in 5 steps and\u00a0with FlexBox in NativeScript you can even handle small screens.<\/p>\n<blockquote><p>NativeScript is a framework to build truly native apps for iOS and Android based on JavaScript. Furthermore\u00a0it plays nice\u00a0together with TypeScript and the famous Angular framework.<\/p><\/blockquote>\n<p>I\u00a0show you, how you can setup a simple app for Android Wear in 5 Steps and implement a little clock app using native gestures and animations. You can see the final result\u00a0here:<\/p>\n<p><a href=\"https:\/\/blog.thecodecampus.de\/wp-content\/uploads\/2017\/04\/AndroidWearClock.gif\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-1211\" style=\"width: 200px;\" src=\"https:\/\/blog.thecodecampus.de\/wp-content\/uploads\/2017\/04\/AndroidWearClock.gif\" alt=\"Animation of the final App\" width=\"200\" height=\"200\" \/><\/a><\/p>\n<h2>Setup NativeScript with Angular for Android Wear: (2 Steps)<\/h2>\n<p>I hope you already installed NativeScript and the Android SDK on your machine. If not you can follow the <a href=\"https:\/\/docs.nativescript.org\/setup\/\" target=\"_blank\" rel=\"noopener\">instructions from NativeScript<\/a>.<\/p>\n<p>Now create a new NativeScript Angular project via:<\/p>\n<pre class=\"lang:sh decode:true\">#&gt; tns create --ng AndroidWatch<\/pre>\n<p>Afterwards open\u00a0app\/App_Resources\/AndroidManifest.xml with your favorite IDE and add\/edit it as follows:<\/p>\n<div>\n<pre class=\"lang:xhtml decode:true\">&lt;!-- add this line --&gt;\r\n&lt;uses-feature\u00a0android:name=\"android.hardware.type.watch\"\u00a0\/&gt;\r\n\r\n&lt;!-- edit android:theme --&gt;\r\n&lt;application\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0android:name=\"com.tns.NativeScriptApplication\"\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0android:allowBackup=\"true\"\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0android:icon=\"@drawable\/icon\"\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0android:label=\"@string\/app_name\"\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0android:theme=\"@android:style\/Theme.DeviceDefault\"&gt;<\/pre>\n<\/div>\n<p>Done!<\/p>\n<h2>Run Project: (3 Steps)<\/h2>\n<p>First we need a Android Wear emulator, you can create one via CLI or in Android Studio (,aybe you need to download the Android Wear images first). I&#8217;m going to use the CLI:<\/p>\n<pre class=\"lang:sh decode:true\">#&gt; android avd<\/pre>\n<p>You can find a sample configuration <a href=\"https:\/\/blog.thecodecampus.de\/wp-content\/uploads\/2017\/03\/AVD-Setup.png\" target=\"_blank\" rel=\"noopener\">here<\/a>.<\/p>\n<p>Now we start the emulator from inside Android AVD (&#8220;Start &#8230;&#8221;) or via CLI. The reason is, NativeScript looks for an already opened emulator and deploys the app there.<\/p>\n<pre class=\"lang:sh decode:true \">#&gt; emulator @{AVD Name}<\/pre>\n<p>Next just start NativeScript via the Visual Studio Code Plugin or another CLI:<\/p>\n<pre class=\"lang:sh decode:true\">#&gt; tns run android<\/pre>\n<p>It should deploy the standard NativeScript, Angular App on your Android Wear emulator and look like <a href=\"https:\/\/blog.thecodecampus.de\/wp-content\/uploads\/2017\/03\/AndroidWatchNsDemoApp.png\" target=\"_blank\" rel=\"noopener\">this<\/a>. Now you have your first Android Wear app build with\u00a0NativeScript. Congratulations!<\/p>\n<p>&nbsp;<\/p>\n<h2>Simple World Clock:<\/h2>\n<p>To proof the functionality, I build a little app showing the actual time in NYC, Berlin and Tokyo. I&#8217;ll be using\u00a0<a href=\"https:\/\/momentjs.com\/timezone\/\" target=\"_blank\" rel=\"noopener\">Moment Timezone<\/a> to get the time for each location.<\/p>\n<p>You can find the final version of the clock at\u00a0<a href=\"https:\/\/github.com\/fvonberg\/nativescript-androidwear\" target=\"_blank\" rel=\"noopener\">GitHub<\/a>.<\/p>\n<h3>Layout:<\/h3>\n<p>The layout is based on FlexBox so, it can handle the various screen sizes and rotations best. There is only one screen and it should show the city name and the actual time at that location.<\/p>\n<pre class=\"lang:xhtml decode:true\">&lt;FlexboxLayout flexDirection=\"column\"&gt;\r\n    &lt;FlexboxLayout flexDirection=\"row\" justifyContent=\"center\"&gt;\r\n        &lt;Label text=\"Berlin\" class=\"h3\"&gt;&lt;\/Label&gt;\r\n    &lt;\/FlexboxLayout&gt;\r\n    &lt;FlexboxLayout flexDirection=\"row\" justifyContent=\"center\"&gt;\r\n        &lt;Label text=\"12\" class=\"h1 time\"&gt;&lt;\/Label&gt;\r\n        &lt;Label text=\":\" class=\"h1 time\"&gt;&lt;\/Label&gt;\r\n        &lt;Label text=\"42\" class=\"h1 time\"&gt;&lt;\/Label&gt;\r\n        &lt;Label text=\"15\"&gt;&lt;\/Label&gt;\r\n    &lt;\/FlexboxLayout&gt;\r\n&lt;\/FlexboxLayout&gt;<\/pre>\n<p>In the final app this container is packed into another FlexBox layout, so we can add arrows to switch between the cities and add gesture control.<\/p>\n<h3>Gestures:<\/h3>\n<p>We want to use a swipe up and down gesture to switch between the locations, this is quite easy. Just add a swipe attribute to the layout:<\/p>\n<pre class=\"lang:xhtml decode:true\">&lt;FlexboxLayout flexDirection=\"column\" \r\n               justifyContent=\"space-between\" \r\n               (swipe)=\"onSwipe($event)\"&gt;&lt;\/FlexboxLayout&gt;<\/pre>\n<p>This calls the &#8220;onSwipe()&#8221; Method in our Angular Component and handles the swipe events:<\/p>\n<pre class=\"lang:js decode:true\">onSwipe(args: SwipeGestureEventData) {\r\n    switch (args.direction) {\r\n      case SwipeDirection.up:\r\n          this.nextTimeZone()\r\n          break;\r\n      \/\/ ... more cases\r\n    }\r\n  }<\/pre>\n<p>While this works very well on a normal Android emulator, \u00a0there may be some issues on Android Wear.<\/p>\n<h3>Animations:<\/h3>\n<p>In NativeScript you can animate elements either from JavaScript\/ TypeScript or trough\u00a0CSS regular animations. It also should be possible to use Angular Animations, but\u00a0for\u00a0simplicity&#8217;s sake I&#8217;m going to use plain CSS animations. The example uses animations via an elementRef and the NativeScript Animation API. You have to add a reference in your template, so you can access the element via code:<\/p>\n<pre class=\"lang:xhtml decode:true\">&lt;FlexboxLayout flexDirection=\"column\" #timeContainer&gt;<\/pre>\n<p>In your component just add a reference and animate the element on a tap or swipe.<\/p>\n<pre class=\"lang:js decode:true\">@ViewChild(\"timeContainer\") container: ElementRef;\r\n\r\nnextTimeZone() {\r\n    let container = &lt;View&gt;this.container.nativeElement;\r\n    let promise = container.animate({\r\n      translate: { x: 0, y: -200},\r\n      duration: 300\r\n    });\r\n    promise.then(() =&gt; {\r\n      \/\/ do sth. after the animation\r\n    })\r\n  }<\/pre>\n<p>Now you have your first own App running on a Wearable and using the basic functionalities of NativeScript.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>A while ago some folks asked me, if it&#8217;s possible to use NativeScript and Angular with Android Wear. tl:dr; It&#8217;s possible, easy to setup in 5 steps and\u00a0with FlexBox in NativeScript you can even handle small screens. NativeScript is a framework to build truly native apps for iOS and Android based on JavaScript. Furthermore\u00a0it plays [&#8230;]<br \/><a class=\"meta-big\" href=\"https:\/\/www.thecodecampus.de\/blog\/javascript-running-wearable-yes-native\/\"> READ MORE<\/a><\/p>\n","protected":false},"author":29,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[73,93,63,60],"tags":[],"class_list":["post-1197","post","type-post","status-publish","format-standard","hentry","category-angular","category-conferences","category-nativescript","category-typescript"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.6 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>JavaScript Running On A Wearable? Yes, And Its Native. - Web Development Blog<\/title>\n<meta name=\"description\" content=\"Elevate wearables with native JavaScript! Experience seamless performance and unleash the full potential of your device. Run with innovation!\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.thecodecampus.de\/blog\/javascript-running-wearable-yes-native\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"JavaScript Running On A Wearable? Yes, And Its Native. - Web Development Blog\" \/>\n<meta property=\"og:description\" content=\"Elevate wearables with native JavaScript! Experience seamless performance and unleash the full potential of your device. Run with innovation!\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.thecodecampus.de\/blog\/javascript-running-wearable-yes-native\/\" \/>\n<meta property=\"og:site_name\" content=\"Web Development tips and tricks - theCodeCampus Blog\" \/>\n<meta property=\"article:published_time\" content=\"2017-04-03T14:38:57+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2023-12-20T19:26:29+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/blog.thecodecampus.de\/wp-content\/uploads\/2017\/04\/AndroidWearClock.gif\" \/>\n<meta name=\"author\" content=\"theCodeCampus\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"theCodeCampus\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"3 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.thecodecampus.de\\\/blog\\\/javascript-running-wearable-yes-native\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.thecodecampus.de\\\/blog\\\/javascript-running-wearable-yes-native\\\/\"},\"author\":{\"name\":\"theCodeCampus\",\"@id\":\"https:\\\/\\\/www.thecodecampus.de\\\/blog\\\/#\\\/schema\\\/person\\\/276bbda2f8da73154f22fb652201cfbc\"},\"headline\":\"JavaScript Running On A Wearable? Yes, And Its Native.\",\"datePublished\":\"2017-04-03T14:38:57+00:00\",\"dateModified\":\"2023-12-20T19:26:29+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.thecodecampus.de\\\/blog\\\/javascript-running-wearable-yes-native\\\/\"},\"wordCount\":550,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/www.thecodecampus.de\\\/blog\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/www.thecodecampus.de\\\/blog\\\/javascript-running-wearable-yes-native\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/blog.thecodecampus.de\\\/wp-content\\\/uploads\\\/2017\\\/04\\\/AndroidWearClock.gif\",\"articleSection\":[\"Angular\",\"Conferences\",\"NativeScript\",\"TypeScript\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/www.thecodecampus.de\\\/blog\\\/javascript-running-wearable-yes-native\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.thecodecampus.de\\\/blog\\\/javascript-running-wearable-yes-native\\\/\",\"url\":\"https:\\\/\\\/www.thecodecampus.de\\\/blog\\\/javascript-running-wearable-yes-native\\\/\",\"name\":\"JavaScript Running On A Wearable? Yes, And Its Native. - Web Development Blog\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.thecodecampus.de\\\/blog\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.thecodecampus.de\\\/blog\\\/javascript-running-wearable-yes-native\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.thecodecampus.de\\\/blog\\\/javascript-running-wearable-yes-native\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/blog.thecodecampus.de\\\/wp-content\\\/uploads\\\/2017\\\/04\\\/AndroidWearClock.gif\",\"datePublished\":\"2017-04-03T14:38:57+00:00\",\"dateModified\":\"2023-12-20T19:26:29+00:00\",\"description\":\"Elevate wearables with native JavaScript! Experience seamless performance and unleash the full potential of your device. Run with innovation!\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.thecodecampus.de\\\/blog\\\/javascript-running-wearable-yes-native\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.thecodecampus.de\\\/blog\\\/javascript-running-wearable-yes-native\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.thecodecampus.de\\\/blog\\\/javascript-running-wearable-yes-native\\\/#primaryimage\",\"url\":\"https:\\\/\\\/blog.thecodecampus.de\\\/wp-content\\\/uploads\\\/2017\\\/04\\\/AndroidWearClock.gif\",\"contentUrl\":\"https:\\\/\\\/blog.thecodecampus.de\\\/wp-content\\\/uploads\\\/2017\\\/04\\\/AndroidWearClock.gif\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.thecodecampus.de\\\/blog\\\/javascript-running-wearable-yes-native\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.thecodecampus.de\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"JavaScript Running On A Wearable? Yes, And Its Native.\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.thecodecampus.de\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/www.thecodecampus.de\\\/blog\\\/\",\"name\":\"Web Development tips and tricks - theCodeCampus Blog\",\"description\":\"Tips, tricks, and experiences about developing web and mobile applications with Angular, TypeScript, and Testing.\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.thecodecampus.de\\\/blog\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.thecodecampus.de\\\/blog\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/www.thecodecampus.de\\\/blog\\\/#organization\",\"name\":\"theCodeCampus\",\"url\":\"https:\\\/\\\/www.thecodecampus.de\\\/blog\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.thecodecampus.de\\\/blog\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/www.thecodecampus.de\\\/blog\\\/wp-content\\\/uploads\\\/2024\\\/01\\\/TCC-Logo-Bildmarke-quadratisch.jpg\",\"contentUrl\":\"https:\\\/\\\/www.thecodecampus.de\\\/blog\\\/wp-content\\\/uploads\\\/2024\\\/01\\\/TCC-Logo-Bildmarke-quadratisch.jpg\",\"width\":156,\"height\":156,\"caption\":\"theCodeCampus\"},\"image\":{\"@id\":\"https:\\\/\\\/www.thecodecampus.de\\\/blog\\\/#\\\/schema\\\/logo\\\/image\\\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/www.thecodecampus.de\\\/blog\\\/#\\\/schema\\\/person\\\/276bbda2f8da73154f22fb652201cfbc\",\"name\":\"theCodeCampus\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.thecodecampus.de\\\/blog\\\/wp-content\\\/uploads\\\/2024\\\/01\\\/TCC-Logo-Bildmarke-quadratisch-96x96.jpg\",\"url\":\"https:\\\/\\\/www.thecodecampus.de\\\/blog\\\/wp-content\\\/uploads\\\/2024\\\/01\\\/TCC-Logo-Bildmarke-quadratisch-96x96.jpg\",\"contentUrl\":\"https:\\\/\\\/www.thecodecampus.de\\\/blog\\\/wp-content\\\/uploads\\\/2024\\\/01\\\/TCC-Logo-Bildmarke-quadratisch-96x96.jpg\",\"caption\":\"theCodeCampus\"},\"description\":\"Our knowledge is not simply gained through reading - it is trained, tested and constantly being expanded. Because first and foremost, we are all developers at W11K. The know-how that we acquire here as developers, consultants and information architects flows immediately into our training courses and articles for theCodeCampus.\",\"sameAs\":[\"https:\\\/\\\/www.linkedin.com\\\/showcase\\\/thecodecampus\\\/\"],\"url\":\"https:\\\/\\\/www.thecodecampus.de\\\/blog\\\/author\\\/admin\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"JavaScript Running On A Wearable? Yes, And Its Native. - Web Development Blog","description":"Elevate wearables with native JavaScript! Experience seamless performance and unleash the full potential of your device. Run with innovation!","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.thecodecampus.de\/blog\/javascript-running-wearable-yes-native\/","og_locale":"en_US","og_type":"article","og_title":"JavaScript Running On A Wearable? Yes, And Its Native. - Web Development Blog","og_description":"Elevate wearables with native JavaScript! Experience seamless performance and unleash the full potential of your device. Run with innovation!","og_url":"https:\/\/www.thecodecampus.de\/blog\/javascript-running-wearable-yes-native\/","og_site_name":"Web Development tips and tricks - theCodeCampus Blog","article_published_time":"2017-04-03T14:38:57+00:00","article_modified_time":"2023-12-20T19:26:29+00:00","og_image":[{"url":"https:\/\/blog.thecodecampus.de\/wp-content\/uploads\/2017\/04\/AndroidWearClock.gif","type":"","width":"","height":""}],"author":"theCodeCampus","twitter_card":"summary_large_image","twitter_misc":{"Written by":"theCodeCampus","Est. reading time":"3 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.thecodecampus.de\/blog\/javascript-running-wearable-yes-native\/#article","isPartOf":{"@id":"https:\/\/www.thecodecampus.de\/blog\/javascript-running-wearable-yes-native\/"},"author":{"name":"theCodeCampus","@id":"https:\/\/www.thecodecampus.de\/blog\/#\/schema\/person\/276bbda2f8da73154f22fb652201cfbc"},"headline":"JavaScript Running On A Wearable? Yes, And Its Native.","datePublished":"2017-04-03T14:38:57+00:00","dateModified":"2023-12-20T19:26:29+00:00","mainEntityOfPage":{"@id":"https:\/\/www.thecodecampus.de\/blog\/javascript-running-wearable-yes-native\/"},"wordCount":550,"commentCount":0,"publisher":{"@id":"https:\/\/www.thecodecampus.de\/blog\/#organization"},"image":{"@id":"https:\/\/www.thecodecampus.de\/blog\/javascript-running-wearable-yes-native\/#primaryimage"},"thumbnailUrl":"https:\/\/blog.thecodecampus.de\/wp-content\/uploads\/2017\/04\/AndroidWearClock.gif","articleSection":["Angular","Conferences","NativeScript","TypeScript"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.thecodecampus.de\/blog\/javascript-running-wearable-yes-native\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.thecodecampus.de\/blog\/javascript-running-wearable-yes-native\/","url":"https:\/\/www.thecodecampus.de\/blog\/javascript-running-wearable-yes-native\/","name":"JavaScript Running On A Wearable? Yes, And Its Native. - Web Development Blog","isPartOf":{"@id":"https:\/\/www.thecodecampus.de\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.thecodecampus.de\/blog\/javascript-running-wearable-yes-native\/#primaryimage"},"image":{"@id":"https:\/\/www.thecodecampus.de\/blog\/javascript-running-wearable-yes-native\/#primaryimage"},"thumbnailUrl":"https:\/\/blog.thecodecampus.de\/wp-content\/uploads\/2017\/04\/AndroidWearClock.gif","datePublished":"2017-04-03T14:38:57+00:00","dateModified":"2023-12-20T19:26:29+00:00","description":"Elevate wearables with native JavaScript! Experience seamless performance and unleash the full potential of your device. Run with innovation!","breadcrumb":{"@id":"https:\/\/www.thecodecampus.de\/blog\/javascript-running-wearable-yes-native\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.thecodecampus.de\/blog\/javascript-running-wearable-yes-native\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.thecodecampus.de\/blog\/javascript-running-wearable-yes-native\/#primaryimage","url":"https:\/\/blog.thecodecampus.de\/wp-content\/uploads\/2017\/04\/AndroidWearClock.gif","contentUrl":"https:\/\/blog.thecodecampus.de\/wp-content\/uploads\/2017\/04\/AndroidWearClock.gif"},{"@type":"BreadcrumbList","@id":"https:\/\/www.thecodecampus.de\/blog\/javascript-running-wearable-yes-native\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.thecodecampus.de\/blog\/"},{"@type":"ListItem","position":2,"name":"JavaScript Running On A Wearable? Yes, And Its Native."}]},{"@type":"WebSite","@id":"https:\/\/www.thecodecampus.de\/blog\/#website","url":"https:\/\/www.thecodecampus.de\/blog\/","name":"Web Development tips and tricks - theCodeCampus Blog","description":"Tips, tricks, and experiences about developing web and mobile applications with Angular, TypeScript, and Testing.","publisher":{"@id":"https:\/\/www.thecodecampus.de\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.thecodecampus.de\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.thecodecampus.de\/blog\/#organization","name":"theCodeCampus","url":"https:\/\/www.thecodecampus.de\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.thecodecampus.de\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/www.thecodecampus.de\/blog\/wp-content\/uploads\/2024\/01\/TCC-Logo-Bildmarke-quadratisch.jpg","contentUrl":"https:\/\/www.thecodecampus.de\/blog\/wp-content\/uploads\/2024\/01\/TCC-Logo-Bildmarke-quadratisch.jpg","width":156,"height":156,"caption":"theCodeCampus"},"image":{"@id":"https:\/\/www.thecodecampus.de\/blog\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/www.thecodecampus.de\/blog\/#\/schema\/person\/276bbda2f8da73154f22fb652201cfbc","name":"theCodeCampus","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.thecodecampus.de\/blog\/wp-content\/uploads\/2024\/01\/TCC-Logo-Bildmarke-quadratisch-96x96.jpg","url":"https:\/\/www.thecodecampus.de\/blog\/wp-content\/uploads\/2024\/01\/TCC-Logo-Bildmarke-quadratisch-96x96.jpg","contentUrl":"https:\/\/www.thecodecampus.de\/blog\/wp-content\/uploads\/2024\/01\/TCC-Logo-Bildmarke-quadratisch-96x96.jpg","caption":"theCodeCampus"},"description":"Our knowledge is not simply gained through reading - it is trained, tested and constantly being expanded. Because first and foremost, we are all developers at W11K. The know-how that we acquire here as developers, consultants and information architects flows immediately into our training courses and articles for theCodeCampus.","sameAs":["https:\/\/www.linkedin.com\/showcase\/thecodecampus\/"],"url":"https:\/\/www.thecodecampus.de\/blog\/author\/admin\/"}]}},"_links":{"self":[{"href":"https:\/\/www.thecodecampus.de\/blog\/wp-json\/wp\/v2\/posts\/1197","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.thecodecampus.de\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.thecodecampus.de\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.thecodecampus.de\/blog\/wp-json\/wp\/v2\/users\/29"}],"replies":[{"embeddable":true,"href":"https:\/\/www.thecodecampus.de\/blog\/wp-json\/wp\/v2\/comments?post=1197"}],"version-history":[{"count":30,"href":"https:\/\/www.thecodecampus.de\/blog\/wp-json\/wp\/v2\/posts\/1197\/revisions"}],"predecessor-version":[{"id":2730,"href":"https:\/\/www.thecodecampus.de\/blog\/wp-json\/wp\/v2\/posts\/1197\/revisions\/2730"}],"wp:attachment":[{"href":"https:\/\/www.thecodecampus.de\/blog\/wp-json\/wp\/v2\/media?parent=1197"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.thecodecampus.de\/blog\/wp-json\/wp\/v2\/categories?post=1197"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.thecodecampus.de\/blog\/wp-json\/wp\/v2\/tags?post=1197"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}