Telerik is doubling down on its cross-platform frameworks, announcing NativeScript: a new offering dedicated to native mobile development.

Telerik product line manager and developer Valentin Stoychev revealed NativeScript in a recent blog post, explaining the goal of providing code reuse across platforms, as well as a framework for developers to build and publish native apps with native UX on Android, iOS and universal Windows apps. The application’s UI stack is built on the native platform rendering and layout engine, using native UI components.

NativeScript is still in its early stages, but Stoychev detailed plans for the framework to expose native platform APIs to JavaScript, use native class libraries to build app UIs, and provide a full UI abstraction including layout, markup and bindings.

“NativeScript is for the JavaScript developer that wants to create truly native apps without compromises,” said Brandon Satrom, director of product management for Telerik. “What you get with a hybrid approach is a full Web stack; you get JavaScript, HTML and CSS. With NativeScript, it’s just the JavaScript, but you get the native UI.”

Telerik sees NativeScript fulfilling the same role as tools like Apache Cordova and PhoneGap for cross-platform native development, affording developers the freedom to use JavaScript while still providing direct access to native APIs for building native experiences or integrating third-party controls.

“When you’re in that hybrid environment, you’re effectively building a Web page that loads up inside the container, expressing UI elements via HTML, styling that via CSS and making that app interactive using JavaScript,” Satrom said. “Where NativeScript differs is doing all of that via JavaScript. Instead of using Cordova plug-ins to access JavaScript objects and deliver APIs, when you create a new button in NativeScript, you’re actually getting a UI kit button in iOS and Android. Those are being translated via our bridge and executed from the VMs into the native equivalent of the button for Android and the button for iOS.”

(Related: Native vs. Web: The debate continues)

One aspect of the framework that differentiates NativeScript from other cross-platform native tools is the VM. Rather than building a virtual machine to execute JavaScript inside native platforms, NativeScript leverages Google’s V8 engine in Android and Apple’s JavaScriptCore in iOS. Because there’s no abstraction between the native platform other than JavaScript, the framework isn’t affected by platform updates.

“There is no physical VM we have to compile and build that sits between NativeScript and the actual native app,” Satrom said. “As a result, when iOS 8 ships, you don’t have to wait on Telerik to give you the iOS-compatible version. You don’t have to wait for us to come and build a new version for iOS 8. It’s already future-proofed.”

A tale of two frameworks
The big question surrounding NativeScript (since Telerik already has Kendo UI) is what do developers need another cross-platform framework for?


According to Satrom, it’s about options. Development teams may need access to device APIs to build a hybrid mobile app. They may prefer a native approach to a mobile Web application.

“We’re not supremely invested in who wins the hybrid versus native debate because the right answer depends on the app you’re trying to build,” Satrom said. “When a developer comes to the table, they’re going to have questions about the skill sets of their team, the type of app they’re looking to build, who the ultimate consumers of the app are, the timeline, the budget, everything. That leads you down a path of preferring one approach to the other. In order to truly serve that entire spectrum of needs in context, we felt we needed to have something like NativeScript.”

Kendo UI and NativeScript occupy separate development spaces, but that doesn’t necessarily mean they can’t be used in tandem. Telerik is exploring scenarios where developers could theoretically load an Android or iOS WebView in a NativeScript app and then use Kendo UI inside the WebView.

“Certain apps are considered ‘native’ because they use native navigation, but the actual content inside of the app is hybrid,” Satrom explained. “It’s actually a Web page loaded inside a Web view. Really just the shell is native; the nav, the transition, but the core content is pulled via another Web experience and then loaded up onto the device. We’ll probably build some sample apps and scenarios around this where you could combine both.”

Where NativeScript is going
At the moment, NativeScript is still in private beta, with a list of 500 developers being whittled down by the company for invites to it. Over the next several months, those invited will start creating NativeScript apps and provide feedback to help shape the API.

For Telerik, the main focus going forward is abstractions. According to Satrom, the company will continue to build abstractions to enable use of UI controls and SDK features across Android, iOS and Windows Phone with the same JavaScript code. Right now the framework only supports Android and iOS, but Windows Phone/Windows Universal App support is coming this summer ahead of plans to release NativeScript as an open-source project in the fall.

“We’re hoping to help get the community involved,” Satrom said. “We want this to be something that anyone can use regardless of the app they’re building. We want to give people the ability to remix, experiment and try out new things without having to be inside of our walled garden.”

Others designs on the framework’s future include a possible XML-flavored syntax for expressing screen layout, and a CSS variant to style native applications, but Telerik’s road map for NativeScript leads right from open source to a public beta, all leading up to the planned release of NativeScript 1.0 in early 2015.