Xamarin 和 Telerik nativescript 之间的区别

Posted

技术标签:

【中文标题】Xamarin 和 Telerik nativescript 之间的区别【英文标题】:Difference between Xamarin and Telerik's native script 【发布时间】:2015-05-03 22:58:39 【问题描述】:

Xamarin

用 C# 编写模型 以各自的原生方式为每个操作系统编写视图 Xamarin 承诺库中的新功能会在同一天添加

Telerik 原生脚本

javascript 编写并调用本机脚本的 api,然后调用单独的 OS javascript api? 用 html5 和 css 编写视图,因为它们现在都支持 html5 和 css 前端,所以它们可被所有操作系统重用? Telerik 只是说...我解释说“它没有这个问题”

如果上述情况是这样,Telerik 与 Xamarin 在其网站上所说的相比有什么优势:

"当使用 NativeScript 时,原生平台的新增功能是 立即可用。 Xamarin 或 Appcelerator,存在技术限制和包装器需求 在添加新的原生平台功能时创建。”

当 Xamarin 带有强类型语言而不使用 TypeScript 稍微松散的东西时,我对 Telerik 如何被认为比 Xamarin 更好感到困惑。而且除了视图部分之外,Xamarin 实际上与 Xamarin 坐在同一条船上......这实际上应该是一个好处?

问题: - 除了我所说的两个之外,它们之间有什么区别? - Telerik 为什么会声称这样的事情?

【问题讨论】:

决定我们应该使用什么框架还取决于哪个因素对我们更重要。因此我创建了一个decision matrix 【参考方案1】:

[免责声明:我为 Telerik 工作。]

Telerik NativeScript 和 Xamarin 正在以不同的方式解决类似的问题。这两个框架都专注于使开发人员能够创建具有原生 UI 和跨所有平台共享的通用代码的跨平台移动应用程序。

对于 NativeScript,我们非常注重 Web 开发人员的技能。我们希望今天能够轻松编写 HTML/CSS/JavaScript 的任何人都能立即在家中使用 NativeScript 创建本机应用程序。

唯一有点不同的是视图是在基于 XML 的标记中定义的。此标记由 NativeScript 解析并在所有目标平台上呈现为原生 UI。 (NativeScript 模块封装了特定于平台的渲染。)

您强调的功能也是 NativeScript 公开底层原生平台 API 的方法所独有的。 NativeScript 有效地使用(构建时)反射使任何本机 API 都可用于 JavaScript 代理。这包括 3rd 方本机库。您不依赖 Telerik(或开源社区)来更新 NativeScript 以利用这些新 API。您只需执行一个命令并自动发现新的 API。

当然,我们预计不会有很多人使用 JavaScript 编写原始原生 API,因此模块再次帮助封装不同的原生 API 并公开单一、干净、跨平台的 JavaScript API。任何人都可以创建 NativeScript 模块。

Telerik 开发者网络 (TDN) 上有一篇很棒的文章更详细地解释了所有这些工作原理: http://developer.telerik.com/featured/nativescript-works/

希望这会有所帮助。 NativeScript 的公测版将于本周发布,v1 将于 5 月发布。


更新 [2016 年 2 月] 由于这是最初发布的,NativeScript 已经发布,现在是 v1.6。它现在还与 Angular 2 大量集成。您可以在 GitHub 上跟踪项目进度:https://github.com/NativeScript/NativeScript


更新 [2016 年 6 月] 现在有比较 NativeScript 和 Xamarin 的性能指标。请在这里找到它们: https://github.com/NativeScript/sample-ios-Profiling/tree/performance-tests

【讨论】:

嗨,托德,感谢您的解释。您还可以包括与 Appcelerator 的比较吗?对我来说,NativeScript 似乎与 Appcelerator 非常相似,我仍在决定选择哪一个,但我倾向于 Appcelerator,因为它存在的时间更长,并且可能会得到更好的支持。 嗨,托德。使用带有 Telerik NativeScript 的原生 Xcode 开发的故事板怎么样?原生 android 视图怎么样?你能用 Telerik NativeScript 构建 iOS 扩展吗? WatchKit 支持怎么样? 如果NativeScript使用JavaScipt,它怎么能自称为创建原生应用呢? @Purus 区别在于 UI 层。 NativeScript 生成具有 100% 原生 UI 的应用程序,这与通常使用基于 WebView 的 UI 的“混合”应用程序不同。 NativeScript 还通过 JavaScript 提供对本机 API 的 100% 访问,无需额外的本机代码插件。希望对您有所帮助。 @Todd 可以分享一下两个平台造成的 apk 大小差异有多大?【参考方案2】:

Telerik 是一个 UI 组件,它具有一些精美的控件,用于在 xamarin 表单、MVC 中进行设计。 Net 等,但 xamarin forms 是一种帮助开发人员使用 c# 制作移动应用程序的技术

【讨论】:

问题是关于 Telerik Native script vs Xamarin 而不是 Telerik UI Controls。

以上是关于Xamarin 和 Telerik nativescript 之间的区别的主要内容,如果未能解决你的问题,请参考以下文章

在 Xamarin Forms 的 Telerik ListView 中,如何处理 Windows 上元素的右键单击事件?

Xamarin Telerik RadListview 在 iOS 中不绑定

单元格中带有按钮的 Xamarin Telerik ListView - 按钮的单击事件不会触发

Xamarin.Forms 和 Xamarin Native 有啥区别? [关闭]

浅谈移动应用的跨平台开发工具(Xamarin和React Native)

Xamarin与React Native与Ionic:跨平台移动框架比较