基本渲染模式
序言
目前在数据动态网站的架设过程中,存在着两种主流开发模式,一种是后端渲染,一种是前端渲染。两种不同的开发方 式,就决定了程序员需要掌握的前端开发的技术栈的深度。
后端渲染
如果采用后端渲染,那么前端开发人员除了要掌握基本的js+html+cs三个工具的使用,还需要掌握后端语言所提供的模板语法。不同的后端模板框架提供了不同的模板语法,如果是大型项目的话,单个前端程序员可能要被要求掌握更多种类的后端模板语法。在这种开发模式中,js的作用主要是提供前端页面物理动效的作用。前端开发人员虽然面对增量模板语法的风险,但是在路由和权限管理和数据管理等范围内的工作量会大幅下降,相应的工作量将会转移到后端程序员手中。
前端渲染
如果采用前端渲染,在与前端人员的交互过程中,后端程序员将会承担起数据管理的接口提供和权限管理的责任,前端程序员将会承担起数据渲染管理,页面路由,页面权限等责任,这是SPA应用的基本模式。
评价
需要说明的是,MPA没有死去,SPA没有胜利。对于程序来说,SPA仅仅是多了一个选择而已,它所带来的问题,也让程序员足够痛苦。在SEO,在资源管理,在权限管理上,似乎SPA也不尽如意,它让前端开发人员感到一种不清晰,似乎他们做了一些他们不该做的东西。
我的想法
对于MPA,SPA,我没有任何的偏爱,我仅仅是按照我自己的喜欢来选择。现在我有一个想法,将权限管理与路由管理从SPA中剥离出去,保留对渲染数据的管理。那么如果这样做,它似乎又变回了MPA应用,但是却不需要前端掌握后端语言的模板语法,同时,单个页面将不会再有资源庞大的导致的SPA首页加载问题。在这个新的框架中,html模板保留了基本的标题索引,这样似乎能够解决一部分SEO的问题。
RenderJs
我决定参考Vue的选项式做一个拓展类型的框架,提供拓展标签,渐进式生成HTML的内容,我为他取名为RenderJs.