我相信现在所有开发Java程序的人,没有一个不知道Spring框架的。现在很多Java应用应该还是在Spring的框架上开发的。但是在Java编程的早期,没有Spring框架。早期,一个开发者写一个Java程序,要自己写程序需要的所有功能。如果市场上有一些现成的实现某个特定功能的程序,他也可以直接拿来应用到自己的程序中。但是一般来说,开发者需要编写这个程序需要的所有功能,包括角色及其功能分配、安全管理、日志、报表等每个应用需要的基本功能。这样开发出来的软件,开发和运营的成本非常高,软件的质量也无法保证,还会经常出现bug。
Java语言出现几年后,Spring框架开始出现。这个框架采用了基本的面向服务的编程方法。它可以很容易地集成市场上提供特定功能的高质量程序。这些高质量的程序提供了一个软件所需的基本功能,如安全管理、报告和日志等。当一个开发者需要编写一个新的程序时,他只需要基于Spring框架集成市场上的各种基础功能,他只需要实现特定的业务逻辑。这样开发的软件功能完善,质量有保证,提高了更新迭代的效率和质量。由于Spring framework的这些高质量特性,它后来成为了每个Java软件使用的基本框架。
在今天的区块链应用程序开发市场中,我们也需要一个像Spring这样的底层基础架构框架。这样的框架有利于降低区块链应用的开发门槛,快速开发各种具体应用。这对区块链应用的推广意义重大,尤其是目前制约区块链应用推广的一个主要因素就是开发门槛太高。
目前开发区块链应用常用的底层链仍然是以太坊。以太坊自2015年推出以来,得到了开发者社区的广泛支持,相应的工具也很多,促进了以太坊的应用开发和生态繁荣。但是以太坊本身的问题开始限制其应用的普及。以太坊效率低、成本高的问题越来越严重。以太坊2.0的推出有望解决目前的一些重大问题。但以太坊2.0的问题是推出周期长,需要迁移,最终效果有待观察。从软件工程的角度来看,将一个已经运行了一段时间并且已经支持各种应用程序的系统迁移到一个新的架构的复杂性以及迁移过程中会出现的问题将会非常高。相比较而言,在一个全新的架构上开发应用的难度要小得多。
在当前的区块链市场,每一项新区块链技术的底层都在努力成为下一个以太坊。对于开发商来说,他面临着在区块链所有这些新的底层中进行选择。在选择标准中,应用开发的门槛是一个重要的衡量标准。这个开发门槛不仅包括初始应用开发的便捷性,还包括未来升级迭代的便捷性。所以在市面上的各种区块链底层中,如果一个区块链底层能提供类似Spring框架的功能,肯定会得到开发者的支持。
这样的区块链底层需要能够提供一些像Spring框架所提供的基本功能。首先,它需要一个清晰的架构设计。这个架构包括系统中的各种基本角色及其各自的职责,系统中的信息标准和通信方式,功能模块的嵌入方式,数据和功能的权限管理等等。因为这样一个框架的存在,市场上必然有相应的应用提供特定的功能,比如文件的分布式存储、身份认证、提供稳定货币、数字资产注册等等。对于一个具体的业务应用开发者来说,他只需要调用市场上已经有的各种基础服务,就可以在这样的框架上开发具体的业务应用。比如一个数字资产交易应用的开发者,只需要编写这样一个智能交易契约,直接调用身份认证和数字资产服务注册服务。
在目前市场的各种区块链底层中,区块链能提供这样一个框架的,被市场采用的可能性会大很多,成为下一个以太坊的概率也因此会大很多。在目前市场上区块链的各种底层中,我觉得Boca为区块链应用开发提供的功能和Spring为Java程序提供的功能非常相似。
首先,Poka有非常可扩展的系统架构设计。波形卡的基本设计是包括中继链和并行链。中继链负责整个系统的安全和并行链之间的信息传输。平行链提供特定的业务功能。中继链可以支持100条并行链。这种设计将基础设施服务与特定的业务功能隔离开来。通过关注某个业务板块的平行链,可以专注于需要解决的具体问题。一些基本要求可以通过中继链来完成。平行链之间的通信也是高效便捷的。这样的设计非常有利于基于博卡的区块链生态的发展。
其次,博卡大大降低了区块链的发展门槛。鲍勃底物的功能大大降低了开发区块链的门槛。此外,以这种方式开发的区块链应用程序的质量在一定程度上得到了保证。这非常有利于生成更多种类的区块链应用。互联网的快速发展很大程度上是因为互联网应用的开发成本低,甚至一个记事本都可以用来开发互联网应用。基板大大降低了区块链开发的成本,这将大大促进区块链应用的推广。
从目前市场的实际进展来看,在Boca上开发的各类应用数量众多。这说明开发者社区对Boca作为区块链技术底层的认可(当然Web3基金会的资金支持同样重要)。可见,博卡正在成为区块链生态中的春天。