关于 Trinity Native 的发展与规划

官方新闻

随着 Elastos 基础设施组件不断的集成在 elastOS 上,其作为 Elastos 生态系统的旗舰应用程序,是所有 Elastos 基础设施组件最直接的访问入口。但是,从构建 Elastos 去中心化网络的角度来说,必要要提供更多的功能,以使开发者可以根据自己的需求构建应用程序,这也是 Trinity Native 的开发目的之一,准备在 elastOS 上构建应用的开发者已经可以使用它。

Trinity Native 简述:

为了减少开发障碍,Trinity Native 支持 elastOS dApp 开发者在 elastOS 之外运行他们的 dApp。Trinity Native 主要由两部分组成:

一个开发包:包含 elastOS 的源代码(以前是:Trinity)和为 elastOS 设计的第三方 dApp。
一种工具:将上述包和 elastOS 结合起来,生成一个能够在 elastOS 外部运行的本地 dApp。

Trinity Native 优势:


写一次代码,在多处运行:


Trinity Native 支持为 elastOS 编写的完全相同的代码既可以在 elastOS 内部运行,也可以作为本地应用程序运行,所有这些都无需对第三方 dApp 源代码进行任何更改。

所有的 dApp 都需要 elastOS Runtime:


就像其他运行在 elastOS 中的 dApps 一样,Trinity Native dApp 的基本功能也依赖于elastOS Runtime 的支持。当然,所有在 elastOS 中运行的 dApp 本质上都是去中心化的,用户对自己的账户数据负责,自由选择存储在哪里,并且在去中心化的环境中使用钱包、身份服务和数据存储等应用程序。因为 elastOS 提供了去中心化的工具来实现这样的去中心化模型,所以,不仅仅是 Trinity Native dApp ,所有的 elastOS dApps 都必须依靠 elastOS 的支持来实现基本功能。

elastOS 与 Trinity Native 的区别:

elastOS dApps 和 Trinity Native dApps 共享相同的代码库:Trinity Runtime、Trinity 插件、Trinity 工具链和 API 引用等。

然而,elastOS 打包了自己的主应用程序,称为”Launcher”,这是打开应用程序后呈现给用户的第一个 dApp。Launcher 还可以访问所有内置的 dApp,如身份应用、钱包应用、Hive 管理器、密码管理器和设置应用等。elastOS 还可以处理来自其他应用的外部请求,称为”Intents”,这些请求被发送到身份应用,Wallet 应用和 Hive Manager 应用。

而 Trinity Native dApps 是第一个也是唯一一个在发布时呈现给用户的 dApp,不打包任何额外的 dApp。

Trinity 的目标:


在 elastOS 最初版本发布后,一些社区成员表示担心,即在 elastOS 的早期阶段,大多数开发人员和企业不太可能在另一个应用程序(如:elastOS)中编写他们的 dApp,这增加了大规模应用的障碍。虽然,elastOS 具有完整的集成了去中心化服务生态系统的优势,但是社区的担忧并不是没有根据的,要求开发人员在 elastOS 中直接构建并不有利于早期发展。随着 elastOS 的不断发展并逐渐成为一个健壮的生态系统,更多的 dApp 和更强大的服务将出现在这个平台上,开发人员将会越来越有兴趣在 elastOS 中构建和运行他们的应用程序。

Trinity Native 作为一种新手开发工具,允许 elastOS dApp 开发者将已完成或正在开发的 dApp 打包为本地 Android 或 iOS 应用。通过这种方式,Trinity Native 解决前期涉及开发人员灵活性和应用的挑战。同时,让 elastOS 做它最擅长的事情:利用它的去中心化生态系统模型安全地管理用户账户,这是一个双赢的局面。

dApp 开发流程:


在 Elastos 生态系统中,开发者想要上手是很简单的,因为开发过程总是从同一个地方开始,不管正在开发的是什么。无论开发者计划在 elastOS 中发布 dApp,还是作为本地应用程序发布,都将遵循相同的过程:

使用相同的命令行工具
使用相同的库
阅读相同开发者的指南和 API 参考资料

虽然目标不同,但工作流程始终保持一致。但是,在发布阶段,有一些不同。要在 elastOS 上发布,可以直接使用 elastOS Trinity 命令行工具;要想在本地应用商店(即 Google Play 商店和苹果应用商店)发布应用,开发者必须使用 Android Studio 或 Xcode 等传统工具打开项目,并且必须遵循谷歌或苹果制定的既定发布流程。

elastOS、Trinity Native dApps 和 elastOS dApps 的区别:

首先,必须强调的是,Trinity Native dApps 是本地应用程序。通过嵌入 Trinity Runtime,可以让开发人员更有效地与 elastOS 交互。并且,操作和响应流程是相同的:用户登录(无需输入助记词),用钱包支付,访问联系人,运行智能合约,以及其他可能选择做的事情。

如下图所示,elastOS 是所有流程的中心点,因为它是目前唯一提供 elastOS 身份管理、钱包管理、存储管理和其他关键服务的应用程序。在将来,随着账户管理应用程序的进一步开发,流程流可能会被调整。

Trinity Native 有待优化之处:

虽然,Trinity Native 为开发人员提供了一个强大的工具集,但是 Trinity Native 应用程序仍然存在一些待优化的地方,如不适用于其他本地应用程序。以下是 Trinity Native 有待优化的地方:

Trinity Native dApps 还不能替换或自定义 elastOS 的默认标题栏,在未来的开发中将会逐步改进灵活性和自定义功能。
唯一可用的本地功能是 Trinity Runtime 提供的功能。例如,elastOS 通过相机插件访问相机,但不支持任何与蓝牙相关的功能。在这种情况下,dApps 不能使用蓝牙,也无法扩展目前的 Trinity 插件。

Trinity Native 未来规划:

当前,Trinity Native 的开发已经基本完成,包括构建工具和 Trinity Runtime,已经开发并成功运行了一些不同类型的 dApp,如:DID 演示、DPoS 投票应用程序和 Feeds 等。

Trinity Native 的下一个目标是 Trinity Native 桌面版,它将支持开发者为 Mac、Windows 和 Linux 构建本地应用程序。这是一个令人兴奋的时刻,但它也需要首先完成 elastOS 桌面版开发。所以,2021年是重要的一年!

希望在 Trinity Native 构建的开发者,请点击以下开发者门户网站的专用链接:

https://play.google.com/store/apps/details?id=io.trinitytech.dapp.feeds

来源:CR先锋资讯