📄️ 架构
接下来我们将了解ov0运行时机制。
📄️ 生命周期
和node环境的模块动态加载机制一样,ov0的插件运行时可以直接共享插件系统上下文,这在方便调用系统提供的api和提高插件调用性能的同时也带来了一些副作用,插件的加载和卸载无不体现着插件生命中的重要活动节点。就像你的花呗周期更新一样,如果你在周期内未及时还款,那么你的信誉就会受到影响。同样,如果你在插件中用到了一些带有副作用的api,如websocket长连接、事件订阅、各种监听器等,如果在插件卸载前没有清理掉这些副作用,那么它会一直占用插件系统资源,严重情况造成内存泄漏,只能靠重启插件系统来清理插件内存资源。为了解决这些问题,ov0提供了插件的生命周期。
📄️ 钩子
如果你熟悉vue或react,你应该对钩子概念有或多或少的认识,它是函数式编程的产物。react钩子主要依赖组件同步调用机制将节点和当前执行的钩子进行隐式绑定,从而能实现组件级别的状态管理,副作用清理,组件实例绑定等,每个页面都可以视作生命周期复杂的微应用。