琢磨近10年前端领域出现的框架,它们几乎本文作者:唐霜,转载请注明出处。本文作者:唐霜,转载请注明出处。在干同一件事,那就是,怎么做到使“界面”【本文首发于唐霜的博客】著作权归作者所有,禁止商业用途转载。“事件”“数据”三者可以更分离,但又合理【版权所有】唐霜 www.tangshuang.net本文版权归作者所有,未经授权不得转载。串联在一起。界面用于呈现,事件用于交互,转载请注明出处:www.tangshuang.net【未经授权禁止转载】数据用于内容,这三者构成了前端开发的最底【版权所有】唐霜 www.tangshuang.net未经授权,禁止复制转载。层核心要素。但是,就目前市面上的框架而言著作权归作者所有,禁止商业用途转载。【访问 www.tangshuang.net 获取更多精彩内容】,仍然没有做到完美。举个例子,react【关注微信公众号:wwwtangshuangnet】【关注微信公众号:wwwtangshuangnet】算是最热门的框架之一,然而,它自己内部去未经授权,禁止复制转载。【转载请注明来源】实现了一整套事件系统,这样的坏处是,它不【作者:唐霜】【版权所有】唐霜 www.tangshuang.net能和DOM原生事件同时使用,否则会出问题【版权所有,侵权必究】【本文受版权保护】。而DOM原生事件和界面又完全绑定在一起【原创不易,请尊重版权】【作者:唐霜】,这就使得类似jquery这类框架无法实著作权归作者所有,禁止商业用途转载。【原创不易,请尊重版权】现数据响应。而virtual dom的出转载请注明出处:www.tangshuang.net【转载请注明来源】现,解决了数据和界面之间的响应关系,但是【版权所有,侵权必究】【作者:唐霜】仍然无法解决数据和事件的双向响应(vue原创内容,盗版必究。【原创不易,请尊重版权】里面有较弱的实现)。因此,我觉得,更舒服未经授权,禁止复制转载。【原创不易,请尊重版权】的编程方式是,要进一步在现在已有的成果基本文作者:唐霜,转载请注明出处。【版权所有】唐霜 www.tangshuang.net础上,继续提炼事件这个维度,要让交互抽象本文版权归作者所有,未经授权不得转载。转载请注明出处:www.tangshuang.net后独立于界面和数据。当一个交互发生时,它原创内容,盗版必究。【版权所有】唐霜 www.tangshuang.net不需要在事件系统中去写有关修改数据的操作【本文受版权保护】本文版权归作者所有,未经授权不得转载。(例如react里面要用setState【版权所有,侵权必究】本文作者:唐霜,转载请注明出处。),也不需要在事件系统中去写界面改动的代【原创不易,请尊重版权】【版权所有】唐霜 www.tangshuang.net码(backbone就需要在事件发生后去【版权所有,侵权必究】【转载请注明来源】操作DOM来实现界面变化,jquery也原创内容,盗版必究。【关注微信公众号:wwwtangshuangnet】是)。未来新的框架应该是,抽象出“界面”本文作者:唐霜,转载请注明出处。【版权所有,侵权必究】“数据”“事件”,将它们单独分开放置,再转载请注明出处:www.tangshuang.net【原创内容,转载请注明出处】由框架内部将它们串联起来。开发者应该关心转载请注明出处:www.tangshuang.net【版权所有】唐霜 www.tangshuang.net使用什么模板去呈现界面,使用什么数据去渲著作权归作者所有,禁止商业用途转载。未经授权,禁止复制转载。染内容,使用什么事件去响应交互。而不需要转载请注明出处:www.tangshuang.net【原创内容,转载请注明出处】关系,当用户进行了某个操作(交互)应该触【版权所有】唐霜 www.tangshuang.net【转载请注明来源】发什么事件,然后去修改哪个数据,实现界面【版权所有】唐霜 www.tangshuang.net【未经授权禁止转载】的变动。
【版权所有】唐霜 www.tangshu【本文受版权保护】【转载请注明来源】ang.net【本文首发于唐霜的博客】【版权所有】唐霜 www.tangshu【原创不易,请尊重版权】【版权所有,侵权必究】ang.net这样的编程方式,和MVVM完全是两种思路【作者:唐霜】【版权所有】唐霜 www.tangshuang.net,希望真的有机会看到这样的库可以出现。
原创内容,盗版必究。【本文首发于唐霜的博客】本文版权归作者所有,未经授权不得转载。【访问 www.tangshuang.n【原创内容,转载请注明出处】原创内容,盗版必究。et 获取更多精彩内容】
