Nativescript Is an Open Source Framework for Creating Native Ios and Android Apps in Angular, Typescript, Or Javascript

Total Page:16

File Type:pdf, Size:1020Kb

Nativescript Is an Open Source Framework for Creating Native Ios and Android Apps in Angular, Typescript, Or Javascript NativeScript i NativeScript About the Tutorial NativeScript is an open source framework for creating native iOS and Android apps in Angular, TypeScript, or JavaScript. It was developed by Progress Telerik. NativeScript allows you to build web and mobile apps from a single code-base. This tutorial walks through the basics of NativeScript framework, installation of NativeScript CLI, setting up Android Studio and iOS to develop NativeScript based application, architecture of NativeScript framework and finally conclude with developing all type of web and mobile apps. Audience This tutorial is prepared for professionals who are aspiring to make a career in the field of mobile applications. This tutorial is intended to make you comfortable in getting started with NativeScript framework and its various functionalities. Prerequisites This tutorial is written assuming that the readers are already aware about what a Framework is and that the readers have a sound knowledge on Object Oriented Programming and basic knowledge on Android and iOS development, JavaScript and Angular. If you are a beginner to any of these concepts, we suggest you to go through tutorials related to these first, before you start with NativeScript. Copyright & Disclaimer Copyright 2020 by Tutorials Point (I) Pvt. Ltd. All the content and graphics published in this e-book are the property of Tutorials Point (I) Pvt. Ltd. The user of this e-book is prohibited to reuse, retain, copy, distribute or republish any contents or a part of contents of this e-book in any manner without written consent of the publisher. We strive to update the contents of our website and tutorials as timely and as precisely as possible, however, the contents may contain inaccuracies or errors. Tutorials Point (I) Pvt. Ltd. provides no guarantee regarding the accuracy, timeliness or completeness of our website or its contents including this tutorial. If you discover any errors on our website or in this tutorial, please notify us at [email protected] ii NativeScript Table of Contents About the Tutorial ........................................................................................................................................... ii Audience .......................................................................................................................................................... ii Prerequisites .................................................................................................................................................... ii Copyright & Disclaimer .................................................................................................................................... ii Table of Contents ........................................................................................................................................... iii 1. NativeScript ― Introduction ................................................................................................................... vii Overview of JavaScript Frameworks.............................................................................................................. vii Overview of NativeScript .............................................................................................................................. viii 2. NativeScript — Installation ....................................................................................................................... 1 Prerequisites .................................................................................................................................................... 1 Verify Node.js .................................................................................................................................................. 1 CLI setup .......................................................................................................................................................... 1 Installing NativeScript playground App ........................................................................................................... 2 Android and iOS setup ..................................................................................................................................... 3 3. NativeScript ― Architecture ..................................................................................................................... 5 Introduction ..................................................................................................................................................... 5 Workflow of a NativeScript Application .......................................................................................................... 7 Workflow of Angular based NativeScript Application ..................................................................................... 8 4. NativeScript — Angular Application ........................................................................................................ 11 Creating the Application ................................................................................................................................ 11 Structure of the Application .......................................................................................................................... 11 Configuration section .................................................................................................................................... 12 Run your app ................................................................................................................................................. 19 Run your app on device ................................................................................................................................. 21 LiveSync ......................................................................................................................................................... 22 5. NativeScript ― Templates ....................................................................................................................... 24 iii NativeScript Using template .............................................................................................................................................. 24 Navigation template ...................................................................................................................................... 24 Tab navigation template................................................................................................................................ 24 Master-Detail template ................................................................................................................................. 24 Custom templates ......................................................................................................................................... 25 6. NativeScript — Widgets .......................................................................................................................... 27 Button ............................................................................................................................................................ 27 Label .............................................................................................................................................................. 31 TextField ........................................................................................................................................................ 32 TextView ........................................................................................................................................................ 33 SearchBar....................................................................................................................................................... 35 Switch ............................................................................................................................................................ 36 Slider .............................................................................................................................................................. 37 Progress ......................................................................................................................................................... 38 ActivityIndicator ............................................................................................................................................ 39 Image ............................................................................................................................................................. 40 WebView ....................................................................................................................................................... 41 DatePicker ..................................................................................................................................................... 42 TimePicker ..................................................................................................................................................... 43 7. NativeScript ― Layout Containers .......................................................................................................... 45 Absolute Layout ............................................................................................................................................. 45 DockLayout ...................................................................................................................................................
Recommended publications
  • Extending Basic Block Versioning with Typed Object Shapes
    Extending Basic Block Versioning with Typed Object Shapes Maxime Chevalier-Boisvert Marc Feeley DIRO, Universite´ de Montreal,´ Quebec, Canada DIRO, Universite´ de Montreal,´ Quebec, Canada [email protected] [email protected] Categories and Subject Descriptors D.3.4 [Programming Lan- Basic Block Versioning (BBV) [7] is a Just-In-Time (JIT) com- guages]: Processors—compilers, optimization, code generation, pilation strategy which allows rapid and effective generation of run-time environments type-specialized machine code without a separate type analy- sis pass or complex speculative optimization and deoptimization Keywords Just-In-Time Compilation, Dynamic Language, Opti- strategies (Section 2.4). However, BBV, as previously introduced, mization, Object Oriented, JavaScript is inefficient in its handling of object property types. The first contribution of this paper is the extension of BBV with Abstract typed object shapes (Section 3.1), object descriptors which encode type information about object properties. Type meta-information Typical JavaScript (JS) programs feature a large number of object associated with object properties then becomes available at prop- property accesses. Hence, fast property reads and writes are cru- erty reads. This allows eliminating run-time type tests dependent on cial for good performance. Unfortunately, many (often redundant) object property accesses. The target of method calls is also known dynamic checks are implied in each property access and the seman- in most cases. tic complexity of JS makes it difficult to optimize away these tests The second contribution of this paper is a further extension through program analysis. of BBV with shape propagation (Section 3.3), the propagation We introduce two techniques to effectively eliminate a large and specialization of code based on object shapes.
    [Show full text]
  • THE FUTURE of SCREENS from James Stanton a Little Bit About Me
    THE FUTURE OF SCREENS From james stanton A little bit about me. Hi I am James (Mckenzie) Stanton Thinker / Designer / Engineer / Director / Executive / Artist / Human / Practitioner / Gardner / Builder / and much more... Born in Essex, United Kingdom and survived a few hair raising moments and learnt digital from the ground up. Ok enough of the pleasantries I have been working in the design field since 1999 from the Falmouth School of Art and onwards to the RCA, and many companies. Ok. less about me and more about what I have seen… Today we are going to cover - SCREENS CONCEPTS - DIGITAL TRANSFORMATION - WHY ASSETS LIBRARIES - CODE LIBRARIES - COST EFFECTIVE SOLUTION FOR IMPLEMENTATION I know, I know, I know. That's all good and well, but what does this all mean to a company like mine? We are about to see a massive change in consumer behavior so let's get ready. DIGITAL TRANSFORMATION AS A USP Getting this correct will change your company forever. DIGITAL TRANSFORMATION USP-01 Digital transformation (DT) – the use of technology to radically improve performance or reach of enterprises – is becoming a hot topic for companies across the globe. VERY DIGITAL CHANGING NOT VERY DIGITAL DIGITAL TRANSFORMATION USP-02 Companies face common pressures from customers, employees and competitors to begin or speed up their digital transformation. However they are transforming at different paces with different results. VERY DIGITAL CHANGING NOT VERY DIGITAL DIGITAL TRANSFORMATION USP-03 Successful digital transformation comes not from implementing new technologies but from transforming your organisation to take advantage of the possibilities that new technologies provide.
    [Show full text]
  • Onclick Event-Handler
    App Dev Stefano Balietti Center for European Social Science Research at Mannheim University (MZES) Alfred-Weber Institute of Economics at Heidelberg University @balietti | stefanobalietti.com | @nodegameorg | nodegame.org Building Digital Skills: 5-14 May 2021, University of Luzern Goals of the Seminar: 1. Writing and understanding asynchronous code: event- listeners, remote functions invocation. 2. Basic front-end development: HTML, JavaScript, CSS, debugging front-end code. 3. Introduction to front-end frameworks: jQuery and Bootstrap 4. Introduction to back-end development: NodeJS Express server, RESTful API, Heroku cloud. Outputs of the Seminar: 1. Web app: in NodeJS/Express. 2. Chrome extensions: architecture and examples. 3. Behavioral experiment/survey: nodeGame framework. 4. Mobile development: hybrid apps with Apache Cordova, intro to Ionic Framework, progressive apps (PWA). Your Instructor: Stefano Balietti http://stefanobalietti.com Currently • Fellow in Sociology Mannheim Center for European Social Research (MZES) • Postdoc at the Alfred Weber Institute of Economics at Heidelberg University Previously o Microsoft Research - Computational Social Science New York City o Postdoc Network Science Institute, Northeastern University o Fellow IQSS, Harvard University o PhD, Postdoc, Computational Social Science, ETH Zurich My Methodology Interface of computer science, sociology, and economics Agent- Social Network Based Analysis Models Machine Learning for Optimal Experimental Experimental Methods Design Building Platforms Patterns
    [Show full text]
  • Angularjs Native Rich Clients with Eclipse RCP WEB APPS UNTIL NOW
    Die Grundlagen Philipp Burgmer theCodeCampus / Weigle Wilczek GmbH ABOUT ME Philipp Burgmer Software Engineer / Consultant / Trainer Focus: Frontend, Web Technologies WeigleWilczek GmbH [email protected] ABOUT US WeigleWilczek / W11k Software Design, Development & Maintenance Consulting, Trainings & Project Kickoff Web Applications with AngularJS Native Rich Clients with Eclipse RCP WEB APPS UNTIL NOW JSF UI on Server A lot HTTP Requests Just to Update UI Hard to Use JS Libs / Scatters UI Logic GWT UI in Java / XML Hard to Use JS Libs / Scatters UI Logic "Java World" Instead of "Web World" Flex Clean Separation of Front- and Backend Based on Flash, Adobe Discontinues Developement MXML and ActionScript Instead of HTML and JavaScript WEB APPS FROM NOW ON Frontend Runs Completely in the Browser Stateful UI, Stateless Server Server Delivers Static Resources Server Delivers Dynamic Data HTML, CSS and JavaScript as UI Toolkit WHAT IS ANGULARJS? HTML Enhanced for Web Apps angularjs.com Client / Browser JS Framework Rich Browser Applications Brings Core Frontend Concepts and Features to the Browser Extends HTML Instead of Abstracting or Wrapping It angularjs.org Current Versions: 1.2.23 and 1.3.0-beta.19 License: MIT CORE CONCEPTS Model View Controller Modules Pattern Dependency Injection Two Way Data-Binding Services Directives Filter Goals Separation of Concerns Make It Easier to Write Clean Code Make It Easier to Write Testable Code Offer Concepts and Be Open for Extensions DEMO Two Way Data-Binding [ JS Bin | localhost ] Add Logic with a Controller
    [Show full text]
  • Npm Packages As Ingredients: a Recipe-Based Approach
    npm Packages as Ingredients: a Recipe-based Approach Kyriakos C. Chatzidimitriou, Michail D. Papamichail, Themistoklis Diamantopoulos, Napoleon-Christos Oikonomou, and Andreas L. Symeonidis Electrical and Computer Engineering Dept., Aristotle University of Thessaloniki, Thessaloniki, Greece fkyrcha, mpapamic, thdiaman, [email protected], [email protected] Keywords: Dependency Networks, Software Reuse, JavaScript, npm, node. Abstract: The sharing and growth of open source software packages in the npm JavaScript (JS) ecosystem has been exponential, not only in numbers but also in terms of interconnectivity, to the extend that often the size of de- pendencies has become more than the size of the written code. This reuse-oriented paradigm, often attributed to the lack of a standard library in node and/or in the micropackaging culture of the ecosystem, yields interest- ing insights on the way developers build their packages. In this work we view the dependency network of the npm ecosystem from a “culinary” perspective. We assume that dependencies are the ingredients in a recipe, which corresponds to the produced software package. We employ network analysis and information retrieval techniques in order to capture the dependencies that tend to co-occur in the development of npm packages and identify the communities that have been evolved as the main drivers for npm’s exponential growth. 1 INTRODUCTION Given that dependencies and reusability have be- come very important in today’s software develop- The popularity of JS is constantly increasing, and ment process, npm registry has become a “must” along is increasing the popularity of frameworks for place for developers to share packages, defining code building server (e.g.
    [Show full text]
  • Nativescript Layout Widgets
    CS132 Lecture 37: Nobbles Lecture 21 Mobile Applications I 3/4/2020 1 Lecture 1: Course Introduction Web Application Architecture Front End HTTP Web Browser Database Back End Server Front End Web Server Mobile Platform 3/4/2020 2 CS132 Lecture 37: Nobbles Structure of a Web Application JavaScript Event Handling Events AJAX URLs HTML/CSS Back End HTML pages Browser 3/4/2020 3 CS132 Lecture 37: Nobbles Structure of a Mobile Application Native Event Handler Events AJAX Display Page Back End Handler Operating System 3/4/2020 4 CS132 Lecture 37: Nobbles Web and Mobile Differences HTML Front End JavaScript Native Event Handler Event Handler Operating Browser System URL Requests Page Handler 3/5/2020 5 CS132 Lecture 37: Nobbles Mobile Front Ends • Widget-Based o Hierarchy of widgets replaces HTML hierarchy o Text is in label widgets o Widgets exist for buttons, inputs, etc. ▪ Corresponding to HTML form elements o Layout is done using layout widgets ▪ These control how their contents are displayed • Widget Properties control formatting and display • Widgets can be created and nested directly • There is a language for defining widget hierarchies o Generally XML-based static description o Differs on the different platforms HTML Front End 3/5/2020 6 CS132 Lecture 37: Nobbles Mobile Event Handling • The actual code is event-based o Wait for event o Act on the event by starting action that yields new events • Events are similar to those of the browser o Based on user actions o Based on external events (timers, input ready, …) o But not quite the same
    [Show full text]
  • Download Ebook ^ Javascript: Ajax, Cross-Site Scripting, Couchdb
    W5CAMG0U1NWQ < PDF ^ JavaScript: Ajax, Cross-Site Scripting, CouchDB, WebKit, JQuery, Dojo Toolkit, Bookmarklet, ActionScript, V8,... JavaScript: A jax, Cross-Site Scripting, Couch DB, W ebKit, JQuery, Dojo Toolkit, Bookmarklet, A ctionScript, V 8, SpiderMonkey, Qooxdoo, Ext JS Filesize: 7.09 MB Reviews It becomes an amazing book which i actually have at any time study. It is actually loaded with wisdom and knowledge You wont sense monotony at at any time of your respective time (that's what catalogues are for regarding should you request me). (Rosina Schowalter V) DISCLAIMER | DMCA EUQW6UIGSWMD > Kindle « JavaScript: Ajax, Cross-Site Scripting, CouchDB, WebKit, JQuery, Dojo Toolkit, Bookmarklet, ActionScript, V8,... JAVASCRIPT: AJAX, CROSS-SITE SCRIPTING, COUCHDB, WEBKIT, JQUERY, DOJO TOOLKIT, BOOKMARKLET, ACTIONSCRIPT, V8, SPIDERMONKEY, QOOXDOO, EXT JS Books LLC, Wiki Series, 2011. Condition: New. This item is printed on demand for shipment within 3 working days. Read JavaScript: Ajax, Cross-Site Scripting, CouchDB, WebKit, JQuery, Dojo Toolkit, Bookmarklet, ActionScript, V8, SpiderMonkey, Qooxdoo, Ext JS Online Download PDF JavaScript: Ajax, Cross-Site Scripting, CouchDB, WebKit, JQuery, Dojo Toolkit, Bookmarklet, ActionScript, V8, SpiderMonkey, Qooxdoo, Ext JS R6UOTKQRMAXT « PDF \ JavaScript: Ajax, Cross-Site Scripting, CouchDB, WebKit, JQuery, Dojo Toolkit, Bookmarklet, ActionScript, V8,... See Also A Smarter Way to Learn JavaScript: The New Approach That Uses Technology to Cut Your Effort in Half Createspace, United States, 2014. Paperback. Book Condition: New. 251 x 178 mm. Language: English . Brand New Book ***** Print on Demand *****.The ultimate learn-by-doing approachWritten for beginners, useful for experienced developers who want to... Read PDF » Why We Hate Us: American Discontent in the New Millennium Random House USA Inc, United States, 2009.
    [Show full text]
  • Choosing the Right Javascript Framework for Your Next Web
    Choosing the Right JavaScript Framework for Your Next Web Application by Brandon Satrom © 2017 Progress. All Rights Reserved. All Rights © 2017 Progress. 2018 WHITEPAPER Table of Contents The Current State of Web Frameworks / 3 Tooling Considerations / 22 Evaluation Criteria / 5 UI & Component Libraries / 22 Ecosystem Considerations / 7 IDE & Tooling Support / 23 History & Longevity / 7 Companion & CLI Tools / 24 Popularity / 9 Enterprise Considerations / 26 Corporate Support / 11 Licensing / 26 Community & Ecosystem / 12 Support & Upgrade Paths / 27 Framework Considerations / 13 Security / 29 Getting Started Experience / 13 Talent Pool & Resources / 30 Skill Requirements / 15 Making a Choice / 33 Completeness of Offering / 17 Size & Performance / 18 Beyond the Browser Options / 21 © 2018 Progress. All Rights Reserved. All Rights © 2018 Progress. Progress / Kendo UI 2 The state of web application development has changed drastically in the past ten years. These changes have been spurred on by greater bandwidth for many, more powerful and feature-rich browsers. The result is a thriving web ecosystem with sites, apps and experiences that would have been hard to imagine a decade ago. And yet, for many developers, this ecosystem often feels like a bazaar, stuffed with libraries and frameworks that do anything and everything one could imagine. For every need there are a dozen options to choose from, and with new stalls (libraries) opening every day, it’s no wonder many of us pine for the days when starting a new project was as simple as dropping jQuery in a script tag. The Current State of Web Frameworks There’s no doubt that the web has grown in complexity, and our development tooling options have grown along with it.
    [Show full text]
  • Comparing Javascript Engines
    Comparing Javascript Engines Xiang Pan, Shaker Islam, Connor Schnaith Background: Drive-by Downloads 1. Visiting a malicious website 2. Executing malicious javascript 3. Spraying the heap 4. Exploiting a certain vulnerability 5. Downloading malware 6. Executing malware Background: Drive-by Downloads 1. Visiting a malicious website 2. Executing malicious javascript 3. Spraying the heap 4. Exploiting a certain vulnerability 5. Downloading malware 6. Executing malware Background: Drive-by Downloads Background: Drive-by Downloads Setup: Making the prototype null while in the prototype creates a pointer to something random in the heap. Background: Drive-by Downloads Environment: gc( ) is a function call specific to Firefox, so the attacker would want to spray the heap with an exploit specific to firefox. Background: Drive-by Downloads Obfuscation: If the browser executing the javascript it firefox,the code will proceed to the return statement. Any other browser will exit with an error due to an unrecognized call to gc( ). Background: Drive-by Downloads Download: The return will be to a random location in the heap and due to heap-spraying it will cause shell code to be executed. Background: Goal of Our Project ● The goal is to decode obfuscated scripts by triggering javascript events ● The problem is when triggering events, some errors, resulting from disparity of different engines or some other reasons, may occur and terminate the progress ● We need to find ways to eliminate the errors and Ex 1therefore generate more de-obfuscated scripts <script> function f(){ //some codes gc(); var x=unescape(‘%u4149%u1982%u90 […]’)); eval(x); } </script> Ex 2 <script type="text/javascript" src="/includes/jquery/jquery.js"></script> Project Overview - Part One ● Modify WebKit engine so that it can generate error informations.
    [Show full text]
  • Crossmos Hybrid Mobile Web-Apps & Sencha Platform
    Crossmos Hybrid Mobile Web-apps & Sencha Platform Ruben Smeets Kris Aerts 17/06/2015 Agenda • Hybrid App Technology o Hybrid vs Native vs Web o Patterns o Web portion architecture o Common pitfalls and best practices • Choosing a hybrid app approach • Latest developments • Sencha platform hands-on experience Low Ranking Hybrid vs Native vs Web High Ranking Native apps Hybrid apps Web apps Through native app Search on referrals Ease of discovery stores (Facebook, twitter, etc.) Fragmented across Reach Works on almost all devices multiple platorms Access to Depth of Full acces to platform native API at Limited by browser experience resources the expense of sandbox UI Customer Apple Appstore Complete ownership of ownership & terms enforce onerous terms customer Engagement and Notifications and home No notifications, difficult to recurring use screen icon get user to save the link No accepted method of Monetisation High through payment (Chrome web- potential Appstores store) Ease of cross- Replication developing Significant fragmentation platform for multiple platforms for advanced apps development VisionMobile Cross-Platform Developer Tools 2012 Hybrid vs Native vs Web Low Ranking Continued High Ranking Native apps Hybrid apps Web apps Web content Upgradebility & Through native app updates require No approval needed updates stores ** no approval Debugging & Full support by native Browser debugging tools testing development tools automated testing tools Vendor lock-in No code sharing Limited to no code sharing (framework) between platforms between frameworks Cloud-based Multi-platform Local build for each build tools No cross-platform building build support platform seperately offered by required frameworks **Enterprise app stores require no update approval.
    [Show full text]
  • Planning an Angular Application, from Tooling Choices During Development All the Way Through to Deployment and Performance Strategies
    Planning an Angular Application By Todd Motto © 2017 Progress. All Rights Reserved. All Rights © 2017 Progress. WHITEPAPER Table of Contents Project Management / 3 Accessibility, i18n and Environments / 5 Development Process Methodology / 6 Tooling and Development / 6 Testing Methodologies / 11 Codebase Distribution Strategies. / 12 Mobile and Desktop / 13 Style Guide, Architecture and State Management / 16 Backend API / 18 Performance Strategies / 19 © 2017 Progress. All Rights Reserved. All Rights © 2017 Progress. Progress / KendoUI 2 Planning an Angular (version 2 and above) application is something you may have already done, or will be soon attempting. This whitepaper documents a high-level outline of things to consider when planning an Angular application, from tooling choices during development all the way through to deployment and performance strategies. There’s certainly a lot more to it than meets the initial eye. Project Management Before you get started, you need to consider how you’re going to get the ball rolling - and keep it rolling. This usually starts with project management and discussing and agreeing upon particular toolchains to accomplish your next application. © 2017 Progress. All Rights Reserved. All Rights © 2017 Progress. Progress / KendoUI 3 Software Management Tools To manage the development of the front-end application, you’ll minimally need to select the Software management tools Examples following software management tools to manage code, assets, and team members’ tasks: Issues and feature tracker GitHub, BitBucket, JIRA Ensure that you and your team adopt the tools Version control system GitHub, BitBucket you choose, and frequently assess and improve Document/asset storage Slack, internal network storage, cloud your workflow.
    [Show full text]
  • Building Native Mobile Apps with Angular 2.0 and Nativescript
    Web and Mobile Code Sharing with Angular and NativeScript @sebawita Sebastian Witalec Developer Advocate @Progress @sebawita NativeScript is… an open source framework for building truly native mobile apps with JavaScript. Use web skills, like TypeScript, Angular, Vue and CSS, and get native UI and performance on iOS and Android. “The goal” 聾 Android iOS Web + = + = Architecture Angular Architecture Helping with code sharing Data Binding {{value}} Template < > Component [property] = “value” Property Metadat Event Native Binding Binding \ a (event) = ”handler” Compone Dom nt [(ng-model)] = { } “property” Renderer Renederer Compone Dom nt createElement Element { } setElementPropert y attachViewAfter Template < > invokeElementMeth od … Renderer NativeScript Renederer Compone Mobile nt createElement Element UI Layer { } setElementPropert y attachViewAfter Template < > invokeElementMeth od … Component export class MyComponent { name = 'Sebastian'; twitter = '@sebawita'; sayHelloTo(name) { alert(’Hi ' + name); } } Template <div> name: {{ name }} twitter: {{ twitter }} <button (click)="sayHelloTo('web')">Hello Web</button> </div> <StackLayout> <label [text]=“'name' + name”></label> <label [text]=“'twitter ' + twitter ”></label> <button (tap)="sayHelloTo('mobile')">Hello Mobile</button> </StackLayout > Dependency Injection Http Http call ≠ Http call HttpClientModule import { HttpClientModule } from '@angular/common/http'; @NgModule({ imports: [ HttpClientModule, … ] NativeScriptHttpClientModule import { NativeScriptHttpClientModule } from
    [Show full text]