我总结了一下,总的走向就是更加的Web化,比如Webform的Tag的ID可以控制了,MVC将成为主流,C# 4.0更加向动态语言靠,甚至引入了一个dynamic的关键字。
这些基本和我的预期相符合。其实都指向一个理念。Web的本质是文档。
以前有网友对我的所谓“文档化”理念提出疑问。因为我一直认为理念和战略思想可能在一开始就决定了成败。感觉有必要探讨一下,或许可以给大家提供一个新的视角。
我尽可能罗列结论,略去推导过程,节省大家的时间。
首先,Web本质是文档,或者说更倾向于文档化。我对文档和应用的区分标准是,文档更倾向于让人理解,应用更倾向于让机器理解。
WEB的三个要素已经产生了,就是3位一体的HTML+CSS+Javascript
这个三角形结构已经愈发成熟愈发稳定愈发强大了。也许第四类要素也显出雏形了,就是语义要素,需要的只是时间吧。
任何试图忽略,取代这三个要素中的任何一个都是一个危险的企图。
(一个最典型的这样的尝试就是asp.net webfrom,居然可以同时屏蔽和封装这三个要素,而asp.net mvc则是一种回归,我对asp.net webform的最新理解是,一个使用Web技术的Windows应用。而Asp.net mvc才是更接近web的本质)。
HTML是一种文档。
CSS是一种变换,它的最大特点是在它变换HTML的时候不会改变HTML的拓扑结构,或者说是DOM结构。
Javascript也是一种变换,它可以改变HTML的拓扑结构,或者是DOM结构
(信息科学的本质是数学,用数学的观点看待问题,有的时候就会变得很清晰)
HTML文档的最大特点是自我解释性,这是互联网的特性决定的,因为互联网就是最大程度的交流。如果你开发了一个应用,试图“封装”,或者“替代”HTML,那么可能会在做一件蠢事。因为你的应用没有自我解释性,也许你要配一个详细的文档,教程,或者其它什么东西来解释你的应用,而且还须要用户能正确理解这种说明和解释。这就违背了Web了精神,分享的精神。
那CSS为什么也不能被绕过呢?因为它和HTMl配合的最好,和HTML之间属于松散型耦合,通过长期演化,已经接近完美了。现在甚至发展出了,MicroFomats这样的赋予语义的css标准,或许这是迈向语义网的一个途径呢?who knonws?
Javascript呢?很多.Net程序员不熟悉JS,不是也过得好好的吗?我在想,也许好日子到头了。Javascript的地位将不会被削弱,而可能是大大加强。
CSS的成熟,导致了Div+CSS的开发方式的流行,而由于Firefox和AJax的流行,将近一步加强这3大要素的地位。相信多用用firebug可能对此有更深感受。Jquery的出现更是大大降低了JS开发难度。设想一下这样一个Firebug版本,在你发出一个Ajax请求 的时候,你看到了一个Response到达你的浏览器,可以看到一个Json数据结构是如何改变你的DOM,不但可以设置断点,更为神奇的是DOM改变过程居然可逆。在C#程序中,设置一个断点,然后到了这个断点以后倒退着执行,能办到吗?也许要到C# 7.0了。但是,DOM可以,因为它是文档。只要建立快照就可以了。会不会有Transactional DOM出现呢?
HTML是拓扑结构,是第一性,Javasript是一种变换,属于第二性。
如果您觉得本网站对您的学习有所帮助,可以手机扫描二维码进行捐赠