{"id":659,"date":"2015-12-18T10:10:42","date_gmt":"2015-12-18T09:10:42","guid":{"rendered":"http:\/\/blog.thecodecampus.de\/?p=659"},"modified":"2023-12-20T20:27:25","modified_gmt":"2023-12-20T19:27:25","slug":"building-cross-platform-mobile-apps-with-nativescript","status":"publish","type":"post","link":"https:\/\/www.thecodecampus.de\/blog\/building-cross-platform-mobile-apps-with-nativescript\/","title":{"rendered":"Building Cross-Platform Mobile Apps with Nativescript"},"content":{"rendered":"<p>You need an app for Android, iOs and Windows Phone, but don\u2019t want to write the code in three different languages? And the app should look as native as possible? Then Nativescript could be a solution. Why? Because it does not only look like a native app, it is native!<\/p>\n<h2>Why NativeScript?<\/h2>\n<p>NativeScript is a framework by Telerik, which allows you to develop apps for Android 4.2 and iOS 7.1. using Java-Script or Type-Script. NativeScript provides different modules, which allow you to implement many native UI-elements or access the camera of the operating system. You can layout your application using <a href=\"https:\/\/docs.nativescript.org\/guide\/styling\" target=\"_blank\" rel=\"noopener noreferrer\">CSS properties<\/a>. \u00a0The NativeScript-runtime translates your code, additional XML-files and your CSS-properties to an Android or iOS App. A NativeScript XML-file is translated to the following code:<\/p>\n<pre class=\"lang:default decode:true\">Nativescript     &lt;Label  style=\"background-color: green;\" text=\"Test\"\/&gt;\r\nAndroid-XML:     &lt;TextView android:background=\"@color\/green\" \/&gt;\r\nSwift:           UILabel.backgroundColor = UIColor.greenColor()<\/pre>\n<h2>Getting Started<\/h2>\n<p>If you want to develop an iOS app with NativeScript, you\u2019ve got two options. Either you work on OSX and have installed X-Code developer tools or you can write your application online with the commercial Telerik editor.<br \/>\nDeveloping an Android app with NativeScript is really easy and works on each OS. After installing the Android SDK, ADB and NativeScript CLI you can start the app on an emulator or directly on your device. The command\u00a0<span class=\"lang:default decode:true crayon-inline \">tns livesync android &#8211;watch<\/span> will synchronize your changes live to the running app and makes developing an app much more comfortable.<\/p>\n<p><strong>Hint:\u00a0<\/strong><\/p>\n<p style=\"padding-left: 30px;\"><em><strong><span style=\"font-weight: 400;\">The NativeScript documentation says, that there is no way to see console.log in your terminal when you use livesync and you have to use the slower command\u00a0<\/span><\/strong><\/em><strong><span style=\"font-weight: 400;\"><span class=\"lang:default decode:true crayon-inline\">tns run android<\/span><\/span><\/strong><em><strong><span style=\"font-weight: 400;\">\u00a0to see these logs. That\u2019s not quite correct:<\/span><\/strong><\/em><\/p>\n<p style=\"padding-left: 30px;\"><em><span style=\"font-weight: 400;\">The google android device monitor is a stand-alone tool that provides a graphical user interface for several Android application debugging and analysis tools. \u00a0With the LogCat too<br \/>\nl you can filter the logs of your device. So all you have to do is create a new filter in LogCat with the name of your application.<\/span><span style=\"font-weight: 400;\"><br \/>\n<\/span><span style=\"font-weight: 400;\">With this tool you can still use the fast livesync and <\/span><\/em><span style=\"font-weight: 400;\"><em>simultaneously see the logs of your app in LogCat.<\/em><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-large wp-image-661\" src=\"https:\/\/blog.thecodecampus.de\/wp-content\/uploads\/2015\/12\/logcat-1024x607.png\" alt=\"logcat\" width=\"1024\" height=\"607\" srcset=\"https:\/\/www.thecodecampus.de\/blog\/wp-content\/uploads\/2015\/12\/logcat-1024x607.png 1024w, https:\/\/www.thecodecampus.de\/blog\/wp-content\/uploads\/2015\/12\/logcat-300x178.png 300w, https:\/\/www.thecodecampus.de\/blog\/wp-content\/uploads\/2015\/12\/logcat.png 1190w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/span><\/p>\n<h2>How does it work?<\/h2>\n<p><span style=\"font-weight: 400;\">As I already mentioned a NativeScript application consists of Javascript\/Typescript, XML-Files and CSS. But, how do they work together? The following example shows the XML of a simple app view.<\/span><\/p>\n<pre class=\"lang:xhtml decode:true \">&lt;Page loaded=\"pageLoaded\"&gt;\r\n    &lt;StackLayout orientation=\"horizontal\" cssClass=\"main\"&gt;\r\n        &lt;Label tap=\"{{ tapEvent }}\" text=\"{{ textSource }}\" \/&gt;\r\n        &lt;Progress value=\"\" \/&gt;\r\n    &lt;\/StackLayout&gt;\r\n&lt;\/Page&gt;\r\n<\/pre>\n<p><span style=\"font-weight: 400;\">The XML code looks quite similar to the HTML in Angular projects. You can add events to the different XML-tags, you can bind data to your view with <span class=\"lang:default decode:true crayon-inline \">{{ data }}<\/span>\u00a0 and you can add your CSS-properties using cssClass.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Being familiar with Angular you might assume that data could be bound to a view using the <span class=\"lang:default decode:true crayon-inline \">$scope<\/span>\u00a0 variable. But in NativeScript you have to use built-in classes called \u201cObservable\u201d to bind your data in two ways.\u00a0<\/span><span style=\"font-weight: 400;\">To detect changes of a single item in an Array you have to use the \u201cObservableArray\u201d Class.<\/span><\/p>\n<pre class=\"lang:js decode:true\">var observableModule = require(\"data\/observable\");\r\nvar source = new observableModule.Observable();\r\nsource.textSource = \"Text set via twoWay binding\";\r\n<\/pre>\n<h2>Restrictions<\/h2>\n<p>Creating a modern looking app is very difficult. There are simply not enough NativeScript modules and CSS properties.<br \/>\nThe two Screenshots on the left show a NativeScript Example I found on their website. They show a cool looking Android app, with many native elements like a sidebar, tabview and more. The two screenshots on the right show this app in its current version. But it turned out that the real app looks completely different. It has no sidebar, no transparent animation of the actionbar, the color of the status bar should be in the same color as the actionbar and so on.<a href=\"https:\/\/blog.thecodecampus.de\/wp-content\/uploads\/2015\/12\/screenshots.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-large wp-image-660\" src=\"https:\/\/blog.thecodecampus.de\/wp-content\/uploads\/2015\/12\/screenshots-1024x455.png\" alt=\"screenshots\" width=\"1024\" height=\"455\" srcset=\"https:\/\/www.thecodecampus.de\/blog\/wp-content\/uploads\/2015\/12\/screenshots-1024x455.png 1024w, https:\/\/www.thecodecampus.de\/blog\/wp-content\/uploads\/2015\/12\/screenshots-300x133.png 300w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/a><\/p>\n<p><span style=\"font-weight: 400;\">Another example: In my test application I tried to use the NativeScript <a href=\"https:\/\/docs.nativescript.org\/ui\/tab-view\" target=\"_blank\" rel=\"noopener noreferrer\">tab-view<\/a> but it works only in one special setting. So I analyzed the code of the task app above and saw they didn\u2019t get it to work, too. Instead they used the native segmented bar which doesn\u2019t support swiping between views.<\/span><\/p>\n<h2>NativeScript: a good idea with a lot of work to do<\/h2>\n<p><span style=\"font-weight: 400;\">NativeScript is in the very beginning of development and at the moment, there very little \u00a0modules to create apps with a modern look and feel. Apart from this, the NativeScript documentation isn\u2019t always helpful because many parts are still in progress. <\/span><span style=\"font-weight: 400;\"><br \/>\n<\/span><span style=\"font-weight: 400;\">Nevertheless I think NativeScript could be a good solution for simple apps and it could work great in combination with Angular 2. When Telerik adds some more modules to NativeScript it could become a very useful cross-platform framework.<\/span><\/p>\n","protected":false},"excerpt":{"rendered":"<p>You need an app for Android, iOs and Windows Phone, but don\u2019t want to write the code in three different languages? And the app should look as native as possible? Then Nativescript could be a solution. Why? Because it does not only look like a native app, it is native! Why NativeScript? NativeScript is a [&#8230;]<br \/><a class=\"meta-big\" href=\"https:\/\/www.thecodecampus.de\/blog\/building-cross-platform-mobile-apps-with-nativescript\/\"> 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":[2,63,60],"tags":[61,81,80],"class_list":["post-659","post","type-post","status-publish","format-standard","hentry","category-javascript","category-nativescript","category-typescript","tag-javascript","tag-mobile","tag-nativescript"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.6 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Building NativeScript application - TheCodeCampus<\/title>\n<meta name=\"description\" content=\"Opt for NativeScript\u2014it&#039;s not just native-looking but truly native! Benefit from Telerik&#039;s robust framework for efficient app development.\" \/>\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\/building-cross-platform-mobile-apps-with-nativescript\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Building NativeScript application - TheCodeCampus\" \/>\n<meta property=\"og:description\" content=\"Opt for NativeScript\u2014it&#039;s not just native-looking but truly native! Benefit from Telerik&#039;s robust framework for efficient app development.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.thecodecampus.de\/blog\/building-cross-platform-mobile-apps-with-nativescript\/\" \/>\n<meta property=\"og:site_name\" content=\"Web Development tips and tricks - theCodeCampus Blog\" \/>\n<meta property=\"article:published_time\" content=\"2015-12-18T09:10:42+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2023-12-20T19:27:25+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/blog.thecodecampus.de\/wp-content\/uploads\/2015\/12\/logcat-1024x607.png\" \/>\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=\"4 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.thecodecampus.de\\\/blog\\\/building-cross-platform-mobile-apps-with-nativescript\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.thecodecampus.de\\\/blog\\\/building-cross-platform-mobile-apps-with-nativescript\\\/\"},\"author\":{\"name\":\"theCodeCampus\",\"@id\":\"https:\\\/\\\/www.thecodecampus.de\\\/blog\\\/#\\\/schema\\\/person\\\/276bbda2f8da73154f22fb652201cfbc\"},\"headline\":\"Building Cross-Platform Mobile Apps with Nativescript\",\"datePublished\":\"2015-12-18T09:10:42+00:00\",\"dateModified\":\"2023-12-20T19:27:25+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.thecodecampus.de\\\/blog\\\/building-cross-platform-mobile-apps-with-nativescript\\\/\"},\"wordCount\":721,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/www.thecodecampus.de\\\/blog\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/www.thecodecampus.de\\\/blog\\\/building-cross-platform-mobile-apps-with-nativescript\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/blog.thecodecampus.de\\\/wp-content\\\/uploads\\\/2015\\\/12\\\/logcat-1024x607.png\",\"keywords\":[\"JavaScript\",\"Mobile\",\"NativeScript\"],\"articleSection\":[\"JavaScript\",\"NativeScript\",\"TypeScript\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/www.thecodecampus.de\\\/blog\\\/building-cross-platform-mobile-apps-with-nativescript\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.thecodecampus.de\\\/blog\\\/building-cross-platform-mobile-apps-with-nativescript\\\/\",\"url\":\"https:\\\/\\\/www.thecodecampus.de\\\/blog\\\/building-cross-platform-mobile-apps-with-nativescript\\\/\",\"name\":\"Building NativeScript application - TheCodeCampus\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.thecodecampus.de\\\/blog\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.thecodecampus.de\\\/blog\\\/building-cross-platform-mobile-apps-with-nativescript\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.thecodecampus.de\\\/blog\\\/building-cross-platform-mobile-apps-with-nativescript\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/blog.thecodecampus.de\\\/wp-content\\\/uploads\\\/2015\\\/12\\\/logcat-1024x607.png\",\"datePublished\":\"2015-12-18T09:10:42+00:00\",\"dateModified\":\"2023-12-20T19:27:25+00:00\",\"description\":\"Opt for NativeScript\u2014it's not just native-looking but truly native! Benefit from Telerik's robust framework for efficient app development.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.thecodecampus.de\\\/blog\\\/building-cross-platform-mobile-apps-with-nativescript\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.thecodecampus.de\\\/blog\\\/building-cross-platform-mobile-apps-with-nativescript\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.thecodecampus.de\\\/blog\\\/building-cross-platform-mobile-apps-with-nativescript\\\/#primaryimage\",\"url\":\"https:\\\/\\\/blog.thecodecampus.de\\\/wp-content\\\/uploads\\\/2015\\\/12\\\/logcat-1024x607.png\",\"contentUrl\":\"https:\\\/\\\/blog.thecodecampus.de\\\/wp-content\\\/uploads\\\/2015\\\/12\\\/logcat-1024x607.png\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.thecodecampus.de\\\/blog\\\/building-cross-platform-mobile-apps-with-nativescript\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.thecodecampus.de\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Building Cross-Platform Mobile Apps with Nativescript\"}]},{\"@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":"Building NativeScript application - TheCodeCampus","description":"Opt for NativeScript\u2014it's not just native-looking but truly native! Benefit from Telerik's robust framework for efficient app development.","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\/building-cross-platform-mobile-apps-with-nativescript\/","og_locale":"en_US","og_type":"article","og_title":"Building NativeScript application - TheCodeCampus","og_description":"Opt for NativeScript\u2014it's not just native-looking but truly native! Benefit from Telerik's robust framework for efficient app development.","og_url":"https:\/\/www.thecodecampus.de\/blog\/building-cross-platform-mobile-apps-with-nativescript\/","og_site_name":"Web Development tips and tricks - theCodeCampus Blog","article_published_time":"2015-12-18T09:10:42+00:00","article_modified_time":"2023-12-20T19:27:25+00:00","og_image":[{"url":"https:\/\/blog.thecodecampus.de\/wp-content\/uploads\/2015\/12\/logcat-1024x607.png","type":"","width":"","height":""}],"author":"theCodeCampus","twitter_card":"summary_large_image","twitter_misc":{"Written by":"theCodeCampus","Est. reading time":"4 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.thecodecampus.de\/blog\/building-cross-platform-mobile-apps-with-nativescript\/#article","isPartOf":{"@id":"https:\/\/www.thecodecampus.de\/blog\/building-cross-platform-mobile-apps-with-nativescript\/"},"author":{"name":"theCodeCampus","@id":"https:\/\/www.thecodecampus.de\/blog\/#\/schema\/person\/276bbda2f8da73154f22fb652201cfbc"},"headline":"Building Cross-Platform Mobile Apps with Nativescript","datePublished":"2015-12-18T09:10:42+00:00","dateModified":"2023-12-20T19:27:25+00:00","mainEntityOfPage":{"@id":"https:\/\/www.thecodecampus.de\/blog\/building-cross-platform-mobile-apps-with-nativescript\/"},"wordCount":721,"commentCount":0,"publisher":{"@id":"https:\/\/www.thecodecampus.de\/blog\/#organization"},"image":{"@id":"https:\/\/www.thecodecampus.de\/blog\/building-cross-platform-mobile-apps-with-nativescript\/#primaryimage"},"thumbnailUrl":"https:\/\/blog.thecodecampus.de\/wp-content\/uploads\/2015\/12\/logcat-1024x607.png","keywords":["JavaScript","Mobile","NativeScript"],"articleSection":["JavaScript","NativeScript","TypeScript"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.thecodecampus.de\/blog\/building-cross-platform-mobile-apps-with-nativescript\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.thecodecampus.de\/blog\/building-cross-platform-mobile-apps-with-nativescript\/","url":"https:\/\/www.thecodecampus.de\/blog\/building-cross-platform-mobile-apps-with-nativescript\/","name":"Building NativeScript application - TheCodeCampus","isPartOf":{"@id":"https:\/\/www.thecodecampus.de\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.thecodecampus.de\/blog\/building-cross-platform-mobile-apps-with-nativescript\/#primaryimage"},"image":{"@id":"https:\/\/www.thecodecampus.de\/blog\/building-cross-platform-mobile-apps-with-nativescript\/#primaryimage"},"thumbnailUrl":"https:\/\/blog.thecodecampus.de\/wp-content\/uploads\/2015\/12\/logcat-1024x607.png","datePublished":"2015-12-18T09:10:42+00:00","dateModified":"2023-12-20T19:27:25+00:00","description":"Opt for NativeScript\u2014it's not just native-looking but truly native! Benefit from Telerik's robust framework for efficient app development.","breadcrumb":{"@id":"https:\/\/www.thecodecampus.de\/blog\/building-cross-platform-mobile-apps-with-nativescript\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.thecodecampus.de\/blog\/building-cross-platform-mobile-apps-with-nativescript\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.thecodecampus.de\/blog\/building-cross-platform-mobile-apps-with-nativescript\/#primaryimage","url":"https:\/\/blog.thecodecampus.de\/wp-content\/uploads\/2015\/12\/logcat-1024x607.png","contentUrl":"https:\/\/blog.thecodecampus.de\/wp-content\/uploads\/2015\/12\/logcat-1024x607.png"},{"@type":"BreadcrumbList","@id":"https:\/\/www.thecodecampus.de\/blog\/building-cross-platform-mobile-apps-with-nativescript\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.thecodecampus.de\/blog\/"},{"@type":"ListItem","position":2,"name":"Building Cross-Platform Mobile Apps with Nativescript"}]},{"@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\/659","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=659"}],"version-history":[{"count":4,"href":"https:\/\/www.thecodecampus.de\/blog\/wp-json\/wp\/v2\/posts\/659\/revisions"}],"predecessor-version":[{"id":2703,"href":"https:\/\/www.thecodecampus.de\/blog\/wp-json\/wp\/v2\/posts\/659\/revisions\/2703"}],"wp:attachment":[{"href":"https:\/\/www.thecodecampus.de\/blog\/wp-json\/wp\/v2\/media?parent=659"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.thecodecampus.de\/blog\/wp-json\/wp\/v2\/categories?post=659"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.thecodecampus.de\/blog\/wp-json\/wp\/v2\/tags?post=659"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}