如何设计 Web App 应用架构?「两分钟了解 IOING」
IOING 在做些什么? IOING 在你的代码和浏览器之间架设了一个中间解释层,该解释层提供了一套新的语法来填补浏览器所不具备的能力。 SPA 开发痛点 开发一个 SPA 应用的痛点是不同模块页面的状态保存,当从一个页面跳转到另一个页面的时候窗口的所有状态都将被清空重载,历史页面与当前页面将不产生任何联系,这个过程是一个拆毁重建的过程,如果你要回到历史同样只能再次拆毁重建,并且在这个过程中不可避免的出现加载期的窗口白屏,显然这样的丑陋效果不符合一个高贵 App 的设定,但正因这种方式前后页面不共存的简单特性也使得开发逻辑变得简单,开发者只需考虑单个页面的逻辑即可,而每一次新页面的加载都能将之前页面进行完全释放,完全不需要担心高耦合和内存无法完全释放的问题,这也算是传统技术的优点,虽然简单粗暴,但是它很管用。那到底有没有两全其美的办法呢? 传统模式带来的挑战 和 SPA 应用不同的是多页面应用往往相对要变得简单,页面与页面之间不需要有复杂的数据交换,也无需保存页面历史状态,因此使用传统技术最适合不过了。 而 SPA 应用则要协调页面间的关系,它的每一个模块都可能是联动的,而且需要保持窗口的数据状态,因而催生了另一个技术的流行,即通过使用 Ajax 和模版将新模块内容载入到当前页面,但这也导致新载入模块的脚本和 DOM 树内容在主文档下不断堆积,且在不需要时也无法将其很好移除和释放