在一次表单重构中,我逐渐意识到,在数据和【关注微信公众号:wwwtangshuangnet】转载请注明出处:www.tangshuang.netUI分开的前端开发模式中,UI和数据越来本文版权归作者所有,未经授权不得转载。【原创内容,转载请注明出处】越需要解耦,UI要完完全全和数据本身无关本文版权归作者所有,未经授权不得转载。【转载请注明来源】,做到无状态,做到完全靠数据驱动,并且提原创内容,盗版必究。【本文首发于唐霜的博客】供响应接口(更新UI的接口)。而数据层面【原创内容,转载请注明出处】转载请注明出处:www.tangshuang.net,如果考虑到自身将被用于渲染,那么就要配【作者:唐霜】【版权所有,侵权必究】置一个驱动器,将原始的数据结构转化为便于著作权归作者所有,禁止商业用途转载。【原创内容,转载请注明出处】UI使用的数据结构,这就是独立于UI的数【未经授权禁止转载】转载请注明出处:www.tangshuang.net据模型驱动器。
著作权归作者所有,禁止商业用途转载。【原创不易,请尊重版权】【原创内容,转载请注明出处】拿表单来说,市面上有一些基于jquery本文版权归作者所有,未经授权不得转载。【关注微信公众号:wwwtangshuangnet】的表单框架,虽然说是框架,实际上,还是一著作权归作者所有,禁止商业用途转载。【转载请注明来源】套基于js配置的ui组件,并非真正意义上【未经授权禁止转载】原创内容,盗版必究。的框架。而我的思考是,我们同一套表单,它【原创不易,请尊重版权】【原创内容,转载请注明出处】背后的业务逻辑、数据提交的验证、编辑时的本文作者:唐霜,转载请注明出处。【未经授权禁止转载】数据回溯等等问题,也就是脱离了UI层面的【未经授权禁止转载】转载请注明出处:www.tangshuang.net其他逻辑问题,都可以抽象出来。现在的开发【本文首发于唐霜的博客】【原创内容,转载请注明出处】全部是多端开发,同一个表单,在UI界面上【原创不易,请尊重版权】未经授权,禁止复制转载。可能不同,使用的UI技术也可能不同,例如【未经授权禁止转载】原创内容,盗版必究。在公众号网页和在小程序中,甚至在Reac原创内容,盗版必究。【原创不易,请尊重版权】tNative构建的原生app中,他们抛转载请注明出处:www.tangshuang.net【未经授权禁止转载】开UI、交互层面的东西,背后的业务逻辑几原创内容,盗版必究。【本文受版权保护】乎是一摸一样的,为什么不可以共享?而且这转载请注明出处:www.tangshuang.net转载请注明出处:www.tangshuang.net三种场景,背后都支持js原生的计算能力和转载请注明出处:www.tangshuang.net转载请注明出处:www.tangshuang.net语言特性,所以,很明显是一定可以共享的,【版权所有,侵权必究】【作者:唐霜】所不同的是,在将模型和UI框架进行拼接时【原创不易,请尊重版权】本文版权归作者所有,未经授权不得转载。,拼接方式不同。
著作权归作者所有,禁止商业用途转载。【原创内容,转载请注明出处】表单模型只是一个例子。这种将模型抽离出U【原创不易,请尊重版权】【本文受版权保护】I的方案,适用于大部分带有业务逻辑的中后未经授权,禁止复制转载。【版权所有,侵权必究】台应用中,在都使用了web技术的前提下,【未经授权禁止转载】【原创不易,请尊重版权】想多端共享同一套业务逻辑,就应该用这种思【版权所有】唐霜 www.tangshuang.net【版权所有】唐霜 www.tangshuang.net路去写。
【作者:唐霜】转载请注明出处:www.tangshuang.net【访问 www.tangshuang.net 获取更多精彩内容】现在的问题是,有没有一套完整方案(框架)原创内容,盗版必究。转载请注明出处:www.tangshuang.net,去像React那样,编写模型。我认为还【原创不易,请尊重版权】【访问 www.tangshuang.net 获取更多精彩内容】没有,或者说,还没有一个UI框架是基于这【版权所有】唐霜 www.tangshuang.net【本文首发于唐霜的博客】种考虑去实现的,因此,也就没有模型框架可【访问 www.tangshuang.net 获取更多精彩内容】著作权归作者所有,禁止商业用途转载。以被应用到实际开发中。如果有一种UI框架【原创不易,请尊重版权】【版权所有,侵权必究】(特别是React),可以基于“模型-视转载请注明出处:www.tangshuang.net【作者:唐霜】图”的方式去开发自己,那么就更有利于模型【版权所有】唐霜 www.tangshuang.net【作者:唐霜】框架的出现。就目前而言,最接近这种形态的【版权所有】唐霜 www.tangshuang.net转载请注明出处:www.tangshuang.net是rxjs作为模型框架,react作为U未经授权,禁止复制转载。本文版权归作者所有,未经授权不得转载。I框架。
著作权归作者所有,禁止商业用途转载。【原创内容,转载请注明出处】【版权所有,侵权必究】
