NEM已经有3年多的历史,许多软件已经建立在它之上。我们一直参与支持各种项目,通过这样做,我们了解到在一个技术持续发展的领域中开发时遇到的各种困难。
为了保持这种快速发展的速度,我们不断分析、开发并密切观察NEM社区。这对于创造可持续的发展并在将来为个体和公司提供可靠的技术来说至关重要。
在社区的帮助下,我们设法找出当前的缺陷:
1. 存在与NEM相关的大量特定实施代码
NIS1 API允许开发人员选择他们喜欢的编程语言,但这意味着并非所有事情都是由API处理的,例如签署交易、生成密钥对等等。这相当于耗费时间在开发上,却并不直接与需要解决的问题相关。
2. 不同项目之间几乎没有知识共享
目前,每个基于NEM的项目都在开发自己的工具并以不同的方式实施该技术。 正因为如此,我们打算建立一个知识中心,为排除常见障碍提供指导方针和最佳实践。
3. NIS1的不同封装、库和SDK不共享任何设计、架构决策和命名惯例。
你有没有在服务器上使用csharp2nem,然后切换到nem-library来构建网页?如果你这样做了,那么你必须花一些时间来理解不同的命名惯例和潜在模式 。结果导致在编程语言之间切换时,学习和开发的速度降低了。
“一个不断发展的系统会提升其复杂性,除非做好降低它的工作。” — Meir Lehman
人才中心打算通过提供完整的软件开发套件(SDK)来解决上述问题,这将大大增强NEM的开发体验。
Nem2-sdk的目标是:
- 提供NEM2的抽象层
- 降低开发NEM2库和应用程序的复杂性
- 启用跨语言设计
- 轻量化
应该强调的是,nem2-sdk不是NIS2 API的封装,而是全功能的SDK。这就是为什么我们人才中心团队要严格按照NEM的目标和和长期战略来创建SDK。毕竟,这个SDK是我们构建的所有其它组件的基础。
以下是目前支持的语言的目录:
- Java, Kotlin & Scala:完成
- Typescript and Javascript:完成
- C#:正由@kodtycoon进行
- PHP:正由@evias进行,欢迎新的贡献者
- Go:正由@brambear进行,欢迎新的贡献者
- Python:计划中,寻求开发人员
- Ruby:计划中,寻求开发人员
为最常用的语言提供全面的SDK支持是具有挑战性的,也是我们希望邀请开发者社区与我们在GitHub进行合作的原因。创建基本工具对于促进NEM区块链的落地应用至关重要。
此外,目前人才中心正在募集以下人员:
- 高级后端开发(C++)
- 高级后端开发(Node.js/MongoDB)
- 高级前端开发(Typescript, Javascript)
- 高级QA工程师
- 高级测试工程师
- 系统管理员
- UX设计师
额外:渗透测试、Python, PHP, GO, Ruby, Swift
请参阅nem.io/jobs了解更多信息或发邮件至 albert@nem.foundation
论坛链接: https://forum.nem.io/t/catapult-developers-preview-sdk-discussion-thread/15973
原文链接:https://medium.com/nemofficial/catapult-developers-preview-sdk-643f1a3e93c
翻译&编辑:Ethan Feng