Book Image

Getting Started with NativeScript

By : Nathanael J. Anderson
Book Image

Getting Started with NativeScript

By: Nathanael J. Anderson

Overview of this book

NativeScript allows you to build a fast cross-platform application that has a native UI. NativeScript is a true cross-platform framework that generates native speed applications using the native components of the host platform, all using JavaScript. Although NativeScript allows you to build your application in JavaScript, you have full access to the host OS from your code, allowing you to easily tweak or use new platform features instantly at native code speeds. Whether you have already developed multiple applications or zero applications, this book will help you to develop your next application in a cross-platform framework quickly, saving you a massive amount of time and money. This book concisely shows you NativeScript’s built-in framework that allows you to rapidly develop a fully-working compiled cross-platform application in just a few chapters. It starts by laying the foundation of NativeScript and working through the fundamentals to create a basic shell of the application. Moving on, you’ll see how to build a full-fledged application step by step. We’ll show you how to use plugins, and how to communicate with the native OS libraries easily so that you can customize your application as if your app was created in Java or Objective C. We then deal with the issues that arise from being cross platform and compensate for the different screen sizes, screen resolutions, and device abilities. Finally, we progress to testing and deploying your app.
Table of Contents (15 chapters)
Getting Started with NativeScript
Credits
Foreword
About the Author
About the Reviewer
www.PacktPub.com
Preface
Index

Code differences


In cases where you are coding an Android- or iOS-specific feature or, perhaps, working around an issue on a specific platform, there is an easy technique to determine the platform on every component. Each component that wraps a native component has either an .ios or an .android property that is used to access the actual underlying native component. If we wanted to select all the text inside the myText text box, we can do so as follows:

var myText = frame.topmost().getViewById('myText');
if (myText.android) {
  console.log('We are running on Android');
  myText.android.selectAll();
} else if (myText.ios) {
  console.log("We are running on iOS");
  var range = new NSRange();
  range.location = 0;
  range.length = myText.text.length;
  myText.ios.selectedRange = range;
}

If you want only the code to be executed on iOS, check for the .ios property on the component and then add whatever the specific code is for iOS. On Android, it is the .android property. Each platform has its...