Progress Software announced the beta availability of NativeScript, an open-source framework that enables developers to use JavaScript to build native mobile apps for all major mobile platforms, including iOS, Android and, in the future, Windows Universal.
In a blog post on the new technology, Valentin Stoychev, NativeScript product manager in Progress’s Telerik division, said the NativeScript framework is designed to be very familiar to developers comfortable with Web technologies such as HTML, CSS and JavaScript, minimizing the learning curve for Web developers interested in building native mobile apps. It also exposes 100 percent of underlying native device APIs to NativeScript developers, including support for new APIs in new versions of iOS and Android.
Telerik officials said the NativeScript framework complements mobile Web and hybrid development approaches, like Apache Cordova and PhoneGap, for cross-platform app development. This enables developers to continue to use JavaScript while gaining direct access to native APIs and UI built using high-performance, native platform UI components. With the NativeScript framework, developers can use a single skill set to build Web, hybrid and native applications.
“We have been working hard preparing for this day and [to be able to] deliver a framework which will enable JavaScript and web developers to create modern mobile applications using the native capabilities of the mobile devices,” Stoychev said in his post. “The framework is still in beta, so you will find some pieces missing, some not very well polished, but I’m sure that even with these first bits you will be able to see the great potential this framework has.”
Available under the Apache v2 open source license at NativeScript.org, the NativeScript framework enables developers to write JavaScript that can directly access native APIs. This means NativeScript apps have native performance and full API access, identical to apps created with native platform languages.
“With NativeScript you can use your JavaScript and CSS skills to write native mobile applications for iOS, Android and very soon Windows Phone,” Stoychev said. “There is no WebView involved in rendering the app, as the UI is rendered by the native platform’s rendering engine. Because of that the, app’s entire UX is native. NativeScript enables you to use a complete stack of cross-platform APIs to write the application code or, if you need, you can directly access all platform-specific native APIs using JavaScript only. That’s right—you can access all native APIs, not only the ones we thought would be useful.”
Indeed, Telerik said with the NativeScript framework, developers can write just one app that works on every platform. As a result, developers save considerable development effort and don’t need to learn Objective C, Swift, Java or C# or have past experience with any native platform to use it. They can leverage their existing JavaScript skills to develop mobile apps. NativeScript support is also built in to Telerik AppBuilder, part of the Telerik mobile application development platform, offering developers premium tooling for building NativeScript apps.
“I believe the NativeScript framework is going to revolutionize the mobile application marketplace,” said Ian Price, head of development at Sharesoft, in a statement. “Building mobile apps from a single code base enables developers to re-use features and functionality across platforms, which simplifies mobile app development and significantly increases productivity. I’m also impressed by how easily I’ve been able to develop native, cross-platform applications using familiar web development tools and skills.”
Telerik delivered a preview of the NativeScript framework to early adopters in June 2014. Now the project has evolved into a robust framework that is ready for public beta.
“We did not want to create just yet another ecosystem around a native cross-platform framework,” Stoychev said. “We wanted to integrate and play well with all existing JavaScript and native iOS/Android/Windows ecosystems. That is why we also support using existing JavaScript libraries, as well as existing native Objective-C, Java and .NET libraries. I want to stress out that you don’t need to know Objective-C, Java or .NET in order to reuse these libraries — their entire APIs will be available in JavaScript with no changes.”
Stoychev added that NativeScript applications support the same accessibility models as native apps.
“This is important for anyone creating apps that need to meet certain accessibility standards before going live,” Stoychev said. “This is also very useful when you start implementing functional or unit tests for your app. Several existing cross-platform tools like Appium already work directly with NativeScript and provide accessibility automation.”