原文链接:Kent Hansen - Resolving QtScript's "Legacy" APIs
我们希望Qt能够拥有尽可能最好的JavaScript技术。为了实现这一点,我们需要把这种剧烈变化变成实现的能力——甚至是替换它——在公有API之下。如果一个API暴露了实现细节,这将会导致我们将在困难中前行。
针对现存的JavaScript引擎(来自WebKit项目的JavaScriptCore和来自Google的V8)所进行的大量工作中,对于我们的实现,关于哪一部分QtScript的C++ API是“普遍有效的”,哪一部分是“普遍导致头痛的”的问题,我们正在开始得到一个非常清晰的图画。
我们需要一条通往重新扮演《阿甘正传》中“跑,阿甘,跑!”这一场景的路。最后,让我们来看看QTBUG-15571,它是一个收集相关信息、最后解决并且实现QtScript API的中心。在理想的世界中,没有什么(除了Qt自己的库和工具)会依赖于这一部分,并且我们可以只是很轻松地点击一下这个大大的“废弃”按钮。然而,我们并不知道对于它们的使用到了多么广泛的程度。如果您或者您知道的一些人正在使用这些有疑问的API,并且在相应的JIRA子任务中留下注释,将会对我们的工作提供极大的帮助。另外也许还有我们错过了的一些使用案例。
由于受到源代码兼容性和二进制兼容性的约束,我们不能(也不想)在Qt 4.x中丢弃那些不太令人愉快的API。但这一过程也许不那么顺利。