NativeScript 1.0 is Now Available

It is only two months after we released the first public version of NativeScript, but we got tons of positive feedback already on the work we have done so far. We have 3,000 stars on GitHub, more than 1,500 followers on Twitter (@NativeScript) and our public NativeScript forum is quite popular these days. This helps us a lot in validating that we are on the right track and we are working hard to meet expectations. I hope that with each release, you'll feel more and more confident that NativeScript is the best choice for cross-platform mobile app development.

With the release today, we are shipping some fundamental features that I’m sure will be appreciated by every mobile developer. As a reminder, thanks to our 0-day support for new OS we support the freshly released iOS8.3 and even the still not released beta version of iOS8.4! Goes without saying, we also support the Android’s latest Lollipop 5.0 release.

Samples

During the last few months we implemented several impressive samples which you can experience on your phone and the best thing is that you can browse their source code because they are open source on GitHub.

If you already installed the app and you are blown away from its performance and UX, you probably want to browse the source code of the app and see how it is done. Then look no further: the source code is in our GitHub organization https://github.com/NativeScript/sample-TelerikNEXT.

The next application is called Friends, and it shows what you can do by integrating NativeScript with the powerful Telerik Platform.

The application is thoroughly documented in an article on the Telerik Platform, but here is the short list of the features that are showcased in the Friends sample app:

I hope these two new examples will give you enough insights about what is possible now with NativeScript. We will enhance this sample and will add several new ones with our next release of NativeScript which is scheduled for mid-June.

Lets start with my favorite feature from this release,

Resolution-Specific Views

Why are we implementing this?

А mobile app runs on many different devices. They come in many different form factors: wearables, phones, phablets, tablets and big touch screen TVs. Often is the case when we need to display only the most important info on small screens and much richer content on the devices with bigger screens. While we support a very rich arsenal of adaptive layouts, many times it is just better to define a separate view for a specific resolution.

The next feature, I want to tell you about the option to use dp-specific images.

DP-specific images

Why are we implementing this?

As explained in the previous section, different devices have different form factors and different DP. This means you can’t use a single image for all form factors because it will look small on devices with higher DPI ratio and will look big on devices with smaller DPI ratio. There is a very good explanation of the problem as part of the Android documentation.

AngularJS 2.0: Initial Integration Steps

One of the goals we have with NativeScript is to make it extremely easy for a web developer to get started writing NativeScript apps. One way to achieve this is to enable your favorite JS libraries in NativeScript.

AngularJS by Google is by no means the most popular open source framework to web developers. In the last year, a lot of work has been done towards making this library prepared for mobile applications. You can read more about AngularJS 2.0 here.

In the last few months, we have been working closely with the team to help them enable their abstractions to support non-DOM environments. This is a topic we will explore a lot more in the next NativeScript release. Here is screencast video of what we are able to do now. Read more in this blog: Angular 2.0 Running in a Native app using NativeScript.

Enhanced Debugging Support

We now support debugging on emulators by providing the ‘--emulator’ switch to the ‘tns debug ios’.

We now support attaching a debugger before any JavaScript has been executed by providing the ‘--debug-brk’ to the ‘tns debug ios’.

We will try to freeze the application on crash if there is a debugger attached so the debugger can be used to examine the errors.

When Objective-C exception is thrown from code called from JavaScript, it will be wrapped in JavaScript Error and reported to the debugger.

We now support `--print-app-output` that logs all console output of the app in the terminal (this includes the console.log along with any native traces such as NSLog-s)

What is Coming Next

We believe that now is a good moment to start building applications with NativeScript, but we are also excited to share with you what is coming with our next release, coming in June.

The focus in our next release is to further improve the developer experience and to enable even more app scenarios based on our flexible architecture. Here are the links to the issue details that we will work on:

I hope this gives you enough reasons to start building an app with NativeScript. We'd love to hear your feedback. Keep in touch with us on twitter @NativeScript or visit our forum and talk with us.

About the Author

Valio Stoychev

Valentin Stoychev (@ValioStoychev) for long has been part of Telerik and worked on almost every UI suite that came out of Telerik. Valio now works as a Product Manager and strives to make every customer a successful customer.

Progress, Telerik, and certain product names used herein are trademarks or registered trademarks of Progress Software Corporation and/or one of its subsidiaries or affiliates in the U.S. and/or other countries. See Trademarks or appropriate markings.