Over a million developers have joined DZone.
{{announcement.body}}
{{announcement.title}}

NativeScript 1.0.0 Release Now Available

DZone's Guide to

NativeScript 1.0.0 Release Now Available

· Java Zone
Free Resource

Find your next Integration job at DZone Jobs. See jobs focused on integration, or create your profile and have the employers come to you!

[Editor’s Note: We’re currently working on our 2015 Guide to Mobile Development and we would love to hear from you. Click here to fill out our Mobile Development Survey and you could win an iPad Air, Galaxy Note, or Microsoft Surface.]

Written by Valio Stoychev

It is only two months since we released the first public version of NativeScript, but we’ve received tons of positive feedback already on the work we have done so far. The NativeScript project already has 3000 stars on GitHub, more than 1500 followers on twitter (@NativeScript) and ourpublic NativeScript forum is quite popular these days. This helps us a lot to validate that we are on the right track and we are working hard to continue to meet the high expectations. I hope that with each release you will feel more and more confident that NativeScript is the best choice for cross-platform mobile app development.

NEW OS SUPPORT

With the release today we are shipping some fundamental features that I’m sure every mobile developer will appreciate. As a reminder, NativeScript offers 0-day support for new OSs, meaning that it supports the freshly released iOS8.3 and even the not yet released beta version of iOS8.4! It goes without saying we also support the Android’s latest Lollipop 5.0 release.

GET STARTED

To get started with the new bits please read our getting started with NativeScript article. If you have an app that uses an older version of the framework, please read our guide covering how to update to NativeScript 1.0.

What’s New in 1.0

Here is the quick look at what we are shipping today:

  1. Samples
  2. Resolution-specific views
  3. DP-specific images
  4. New UI controls

    1. SegmentedView
    2. ListPicker
    3. Placeholder
    4. Menu item support in Page
  5. AngularJS 2 and NativeScript POC app

  6. Significant improvement in app load time on Android devices
  7. An improved debugging experience

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.

TELERIKNEXT CONFERENCE APP

This is the official app for the TelerikNEXT conference which will be held in Boston (3-5.May). You can download the application from App Store orGoogle Play.

If you already installed the app and you are blown away by its performance and UX, you’ll probably want to browse the source code of the app and see how it is done. Look no further – the source code is available on GitHub athttps://github.com/NativeScript/sample-TelerikNEXT.

TelerikNEXT App

TelerikNEXT App

FRIENDS

The next application is called Friends and it is shows what you can do by integrating NativeScript with the 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:

  • Cloud data access (Telerik Backend Services)
  • Working with files (Telerik Backend Services)
  • User registration and authentication (Telerik Backend Services)
  • Responsive images (Telerik Backend Services)
  • Basic app analytics (Telerik Analytics)
  • Tracking custom events (Telerik Analytics)

You can browse its source code here athttps://github.com/NativeScript/sample-Friends

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

Friends App

RESOLUTION-SPECIFIC VIEWS

Why are we implementing this?

This is my favorite feature from this release – let me explain why.

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

If this sounds interesting, you would definitely find it worth reading the deep-dive blog post by @KirilStanoev dedicated entirely on the topic:Introduction to resolution specific Views for your native mobile apps.

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 that you can’t use the same image on all form factors because it will be 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 arguably the most popular open source framework for web developers. Over the last year, a lot of work has been done towards making this library ready for use in for mobile applications. You can read more about AngularJS 2.0 here.

Over the last few months, we worked closely with the AngularJS team to help enable it to support non-DOM environments. This is a topic we will explore a lot more in the next NativeScript release. Here is a screencast video of what we are able to do now. Read more on this blog post: Angular 2.0 Running in a Native app using Nativescript.

ENHANCED DEBUGGING SUPPORT

The new features include:

  • Debugging on emulators by providing the --emulator switch fortns debug ios;
  • Attaching a debugger before any JavaScript has been executed by using--debug-brk on tns debug ios;
  • Freeze the application on crash when a debugger is attached so that the debugger can be used to examine the errors;
  • When an Objective-C exception is thrown from code called from JavaScript, it will be wrapped in JavaScript Error and reported to the debugger;
  • Support for --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’s coming next

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

The focus of our next release is further improving 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 are working 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 via @NativeScript or visit our forum and talk with us.

We are hosting an online encore of TelerikNEXT keynote where you can see NativeScript in action. Come learn about Telerik’s future vision for it, see demos and new features. We’ll also host a live Q&A session with a full panel of Telerik experts to answer your question. Register now for May 13th (11:00 AM ET) online keynote

Find your next Integration job at DZone Jobs. See jobs focused on integration, or create your profile and have the employers come to you!

Topics:

Published at DZone with permission of Burke Holland, DZone MVB. See the original article here.

Opinions expressed by DZone contributors are their own.

THE DZONE NEWSLETTER

Dev Resources & Solutions Straight to Your Inbox

Thanks for subscribing!

Awesome! Check your inbox to verify your email so you can start receiving the latest in tech news and resources.

X

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}