重构代码结构，统一包名，并且拆分模块{ui, backend, util}。