像Nativescript这样的技术项目有哪些,在某种意义上说是Javascript的本机平台+;本机反射代理绑定?

像Nativescript这样的技术项目有哪些,在某种意义上说是Javascript的本机平台+;本机反射代理绑定?,nativescript,nativescript-plugin,nativescript-cli,Nativescript,Nativescript Plugin,Nativescript Cli,Nativescript最基本的功能是将不同平台的语言和API:s转换为Javascript(或其他给定的单一语言,如C#),例如,对于iPhone,它是目标C语言和iOS API:s,对于Android手机,它是Java语言和安卓API:s Nativescript的“对Javascript代理的构建时反射”是本文的中心内容 通过在线阅读各种“Nativescript vs.whatever”页面,我很清楚,这些页面的作者并没有真正讨论这一方面,因此这些文章根本不能用来概括这种情况 因此,我想

Nativescript最基本的功能是将不同平台的语言和API:s转换为Javascript(或其他给定的单一语言,如C#),例如,对于iPhone,它是目标C语言和iOS API:s,对于Android手机,它是Java语言和安卓API:s

Nativescript的“对Javascript代理的构建时反射”是本文的中心内容

通过在线阅读各种“Nativescript vs.whatever”页面,我很清楚,这些页面的作者并没有真正讨论这一方面,因此这些文章根本不能用来概括这种情况

因此,我想在这里问你们:

有哪些项目提供了这一基本功能——从不同智能手机(可能还有桌面)平台到Javascript(或其他单一语言,如C#)的语言+API绑定

所有基于WebView/HTML呈现的UI解决方案在此被取消资格。只有本机UI组件解决方案合格。请随意列出不合格的解决方案,供大家参考,并仔细注明不合格

因此我理解apachecordova()被取消资格

我更喜欢Javascript,但是让我们列举所有独立于统一层使用哪种语言的项目,因此Xamarin在这个线程中是合格的

此外,对于这些相应的合格解决方案,它们是否真的像Nativescript一样全面/完整,或者它们是如何比较的

对于各自的解决方案,它们是否还提供了一个运行时,将底层不同的UI API集成到一个跨多个平台的一致UI API中?(对于Xamarin,我知道这个问题的答案是没有-不同的平台需要不同的代码。)

他们在方法上的主要区别是什么

我选择的一些可以被限定的名称是“React Native”、“Appcelerator Tianium”和“Electron”()

这个问题对于任何像我这样的应用程序创建者或初创公司来说都很重要,他们将非常依赖这个解决方案,也希望能做出很大贡献,所以这是一个长期的选择

因此,对于我想要的每个相关解决方案: *名称,URL:其名称,带有URL *不合格?:是否不合格 *自动反射:是否具有自动构建时反射,是否有任何详细信息 *语言:统一语言(如Javascript) *统一的UI代码:平台之间的UI代码相同 *平台:支持的平台 *代码转换:关于如何管理应用程序源代码的任何注释,例如,它是否作为Javascript在设备上运行,是否对Javascript代码应用了任何代码转换(例如,解析出实际上不是有效Javascript的自定义标记),是否对Javascript应用了任何类型的编译,等等

请让我知道

这对于概述非常有价值


再次感谢Telerik和Nativescript团队制作了这项神奇的技术

手机:

  • Cordova/PhoneGap/Ionic--Unified UI-JS/HTML/CSS-基本上是一个包装好的webview,能够进行本地绑定,您可以从中调用。从某种意义上讲,您可以通过创建的插件访问本机平台。事实上,Microsoft有一个名为project Ace的项目,允许您访问Cordova/Phonegap应用程序中的本机API。应用程序代码在webview中运行;所有的东西都被下载到你的应用程序中的操作系统和插件上。尽管有“营销”的说法(爱奥尼亚在试图混淆市场方面真的很糟糕);Cordova/PhoneGap/Ionic并不是真正的本地应用程序。它可能使用一些本机控件,但引擎正在webview中运行

  • flatter-取消资格-统一用户界面-飞镖-这是市场上另一个有趣的入口;它在所有平台上都是完全编译的代码,因此比基于JS的引擎性能更好。此外,它被编写成一个性能非常好的UI(UI的独立线程)。要访问平台上的本机api,您需要创建具有编译dart所期望的接口和iOS或Android api的插件

  • Fuse-取消资格-统一UI-JS-这是一个有趣的项目;它实际上将标记编译成已编译代码。我相信JS引擎是在自己的线程上运行的,Fuse运行时处理GUI线程。据我所知,所有的重击/反射都必须通过插件完成

  • NativeScript-限定-统一UI-JS/XML/CSS-在两个设备上使用相同的标记语言进行屏幕布局,有自己的内置系统来封送调用到两个平台上的操作系统。访问任何API资源都不需要额外的插件,iOS和Android上的所有内容都可以通过纯JavaScript访问。在应用程序的主线程上运行Javascript引擎,如果使主线程繁忙,可能会导致性能问题。由于它的设计,它可以重复使用几乎所有未经修改的Android AAR/JAR插件和iOS cocoapod插件,带来了大量本机控件,通常只有在使用ObjC/Swift/Java时才能使用这些控件。它也是唯一一个可以零天访问新API的API,因为反射是在运行时解析的

  • React Native--Unified UI-JS-它也是一个基于JavaScript引擎的系统,但没有内置反射。几乎所有对设备API的访问都需要通过允许访问本机API的编译插件来运行。需要注意的一点是,这个JS引擎在自己的线程上运行,主线程是为GUI保留的。这可以使应用程序的性能更高