返回博客首页
← 所有文章

Ng-Conf 上关于 NativeScript 的十大问题

2016年5月11日 — 作者:Jen Looper

我们在 ng-conf(美国最大的 AngularJS 大会)上 Telerik 展位与开发者进行了愉快的交流,很高兴能够讨论关于 NativeScript 的任何问题。我们还参加了几个播客环节、录制了视频访谈、进行了主题演讲和为期两小时的研讨会,举办了专家小组和 AMA 活动,并参加了由优秀的 ng-conf 组织者举办的众多社交活动。在近一周的活动中,我们尽力回答了一些有时非常复杂的技术问题。以下是十大问题及其详细解答!
 
10. NativeScript 的安全性如何?
与所有使用 JavaScript 构建的应用程序一样,NativeScript 应用程序的安全性取决于您的设计。如果您重视应用程序的安全性,则可能需要压缩和/或混淆您的 JS 代码。有一些工具可以帮助您实现这一点,包括 jsscrambler。还有一些社区项目可以帮助您保护应用程序的安全,敬请期待未来几周内即将推出的官方支持的应用程序保护插件,该插件将提供完整的代码加密功能。
 
9. 是否需要编写大量原生代码才能使应用程序正常工作?
这项技术的优势之一是,NativeScript 提供了抽象来支持模块,帮助您避免编写原生 Objective-C 或 Java 代码。例如,您可以在表示层中使用简单的 <Switch></Switch> XML 代码片段,NativeScript 运行时将执行编组原生代码以构建屏幕的工作。
 
8. NativeScript 是否很快就会支持 Angular 2 RC?
是的,我们积极跟进 Angular 2 的发展;随着 Google 的更改,我们调整了 Angular 2 与 NativeScript 的集成。最新的 RC 已经得到支持。我们的 Angular 页面是了解最新 NativeScript 和 Angular 信息的最佳途径
 
7. Windows Phone/Windows 通用支持的情况如何?
Windows 通用支持即将推出。它已列入路线图,您可以在此处查看概念证明:nativescript-runtime-preview-for-windows-10
 
6. 可以使用 Swift 和 Objective-C CocoaPods 吗?
我们一直支持 Objective-C CocoaPods(NativeScript cocoapods 文档),它可以真正增强 iOS 界面。
为了支持 Swift Cocoapods,您必须拥有 build.xconfig 文件并将 EMBEDDED_CONTENT_CONTAINS_SWIFT 设置为 true。请查看此插件以获取示例用法:nativescript-dialog
 
5. NativeScript 是否类似于 React Native?
NativeScript 和 React Native,以及 Xamarin 和 Titanium,都在尝试解决同一个问题:混合移动开发未兑现的承诺。虽然混合移动开发使 Web 开发人员能够使用他们的技能构建跨平台移动应用程序,但此类应用程序的外观、感觉和性能一直存在不足。使用混合移动策略在 WebView 中运行应用程序使我们取得了一半的成功,因为我们拥有 Apache Cordova 等工具,可以使用单个代码库进行跨平台构建。但是,这些更新的技术以不同的方式解决问题,避免使用 WebView,而是构建真正的移动应用程序。要详细了解这些差异,请查看以下文章:ReactNative 和 NativeScript 之间的主要区别是什么?
 
4. 我在演讲中是否真的看到了 CSS 关键帧样式动画转换为原生动画?这是魔法吗?
并非如此!这仅仅是我们来自保加利亚的才华横溢的工程师们进行的创新编程!在此处了解更多信息:animation-css.html
 
3. NativeScript 的缺点是什么?
在我看来,NativeScript 的缺点也是它的优点……它是一个快速成熟的产品,正在实时发展。这意味着您需要使代码库保持最新,以确保您能够利用每个版本附带的所有新功能……就像任何软件产品一样。
 
2. 它是否会生成可以发送到应用商店的东西?
是的,当您构建应用程序以供发布时,将为 Android 商店生成 .apk 文件,为 Apple 生成 .ipa 文件。一旦您的应用程序正确地进行了代码签名,您就可以快速将您的应用程序上传到 iTunes Connect 和 Google Play 商店。
 
而一遍又一遍地被所有不同受众以各种不同格式提出的头号问题是……
 
1. NativeScript 和基于 Cordova 的应用程序(如 Ionic)有什么区别?
 
这个答案几乎可以用一个标签来概括:#NoWebView。NativeScript 是一种不同的技术——它是一个运行时,而不是 Web 技术。您的应用程序不会像 WebView 中的迷你网站那样运行;它将具有更高的性能。不信?试用我们的示例应用程序!敬请关注此博客,以获取有关差异的更详细说明。