Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Difference between Xamarin and Telerik's native script

Xamarin

  • Write the model in C#
  • Write the views for each OS in their own native way
  • Xamarin promises that the new functionality in libraries is added the same day

Telerik Native script

  • Write in javascript and call native script's api that then calls the separate OS javascript apis?
  • Write the view in html5 and css which is re-usable for all OSs as they now all support html5 and css front ends?
  • Telerik simply states... and I paraphrase 'it does not have this problem'

If the above is so, how is Telerik any better than Xamarin as it states on its website:

"When using NativeScript the new additions to the native platform are available immediately. This is not the case in neither Xamarin or Appcelerator, where there are technical limitations and wrappers needs to be created when new native platform features are added."

I am confused at how Telerik is being penned as being better than Xamarin when Xamarin comes with strong type language without using TypeScript's slightly loose thing going on. And also that Xamarin does in fact sit in exactly the same boat as Xamarin apart form the view part... which is actually supposed to be a benefit?

Question:
- What's the difference between them apart from the two I have denoted?
- Why would Telerik claim such a thing?

like image 596
Jimmyt1988 Avatar asked Mar 03 '15 10:03

Jimmyt1988


1 Answers

[Disclaimer: I work for Telerik.]

Telerik NativeScript and Xamarin are solving similar problems in different ways. Both frameworks are focused on enabling developers to create cross-platform mobile applications with native UI and shared, common code across all platforms.

For NativeScript, we're focused heavily on the web developer skill set. We want anyone that is comfortable today writing HTML/CSS/JavaScript to feel instantly at home creating native apps using NativeScript.

The only thing that is a little different is that views are defined in an XML-based markup. This markup is parsed by NativeScript and rendered as native UI on all target platforms. (NativeScript modules encapsulate the platform-specific renderings.)

The capability you highlight is also something unique to NativeScript's approach for exposing underlying native platform APIs. NativeScript effectively uses (build-time) reflection to make ANY native API available to the JavaScript proxy. That includes 3rd party native libraries. You do not depend on Telerik (or the open source community) to update NativeScript to take advantage of these new APIs. You simply execute a command and auto-discover the new APIs.

Of course, we don't expect a lot of people to write against the raw native APIs using JavaScript, so that's where modules again help encapsulate the different native APIs and expose a single, clean, cross-platform JavaScript API. Anyone can create NativeScript modules.

There's a great post that explains how all of this works in much more detail on the Telerik Developer Network (TDN): http://developer.telerik.com/featured/nativescript-works/

Hope this helps. NativeScript's public beta will be available this week, and v1 will ship in May.


UPDATE [Feb 2016] Since this was originally posted, NativeScript has shipped and is now in v1.6. It is also now integrating heavily with Angular 2. You can track the project progress on GitHub: https://github.com/NativeScript/NativeScript


UPDATE [June 2016] There are now performance metrics comparing NativeScript and Xamarin. Please find them here: https://github.com/NativeScript/sample-iOS-Profiling/tree/performance-tests

like image 76
Todd Avatar answered Oct 22 '22 08:10

Todd