zoukankan      html  css  js  c++  java
  • 一起谈.NET技术,微软PDC10:大牛谈ASP.NET和C#技术走向 狼人:

      最近看了自己关心的主题的微软PDC视频,也结合自己的Web 2.0项目做了一些思考。这次PDC最大的一个主题就是Azure OS,所谓的云操作系统。不过微软的服务器要布到中国也不知道要到什么时候,所以也没有深究。我主要关心的是Asp.net和C#的技术走向。

      我总结了一下,总的走向就是更加的Web化,比如Webform的Tag的ID可以控制了,MVC将成为主流,C# 4.0更加向动态语言靠,甚至引入了一个dynamic的关键字。这些基本和我的预期相符合。其实都指向一个理念:Web的本质是文档。

      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是一种变换,属于第二性。这和windows时代的所谓应用第一性其实已经是有了本质上的区别。事实上世界上最赚钱的软件是什么,就是Office.它其实就做了一件事情,就是处理文档。

      Office软件有好几种,它们之间的关系是什么呢?

      ◆Word是一维的文档,你可以对一个文档重新分页

      ◆PPT是二维的文档,每一页都是完整独立的一页,你没有办法重新分页

      ◆EXCEL是三维的文档,表格是两维,Tab页是第三维

      微软又搞了一个OneNote居然是四维的,似乎不是很火。所以要写的让更多的普通人能看懂就用Word,要更有效率传达更多信息,就用EXCEL。

      事实上,微软的高手当然都明白这些,只不过,如何将它们的商业模式,平滑的转向Web那是一个非常艰巨的任务。所以微软就有了各种试图将Web应用化(Windows化)的企图。甚至在所有产品前加上Windows 商标(比如Windows Live,难道是恶搞?)。

      PDC上展示了基于Silverlight技术的Web Office技术,微软终于对Google Docs做出了反应。

      谁会胜出?

      谁会最终胜出呢?3年内,我看好微软,3年后就很难说了。也许写一篇存在自己硬盘上的Word文档,会和写一封永远不寄出去的信类似。真的到了Web 平台,那么血统更纯正的google Docs会胜出吧。拭目以待。

      所以在对待诸如Siliverlight这样的新技术的时候,站在客户的角度去思考是非常必要的。如果你在期待着微软发布更多siliverlight控件的时候,也许应该想一想,你会不会在和Web背道而驰呢?

      当你面对Google Doc这样神奇的应用的时候,是不是能看到其中的内涵和潜力呢?重要的不是那些神奇的JS,重要的是它是一个HTML文档,一个资源,一个URL。它不是更容易向语义网扩展吗?

      有的时候感觉,技术的演进和生物的演进非常相似,生物树上最终消失的分支,往往是比较容易的演进,而演进的主线,往往是最困难,最缓慢的,然而最后却成为了演进的主线,并最终胜出。

      PDC的两个新亮点

      另外提一下PDC看到的两个新东西,特别是第二个,可能是非常重要的。也许是The next big Thing(下一个大事物)。

      在Anders的演讲中提到了,C# 4.0以后的一个特性,就是用C#重写C# Compiler,原来是C++写的。然后你就可以在你的程序中调用Complier的API的动态产生执行代码。非常有趣。不过他没有怎么提应用场景。感觉可以用在代码自动生成,和人工智能方面。

      另外一个是DHTML之父Scott Isaacs搞得一个 Web SandBox,简单而言,就是用JS写的一个虚拟机,可以运行在各种浏览器上,将各种浏览器的JScript标准化,建立一个砂箱模型,隔离JS,HTML,CSS。也就是说一个JS恶意代码插件,将不会对页面产生任何破坏作用。应用场景呢?Facebook的FBJS应用插件就是类似的功能。但这个是一个更加完美的解决方案,因为你不必改变你的JS的写法。

      不过文档里面没有提到插件之间如何通讯。那和IFrame有什么区别,据说是比IFrame 更加安全。如果这个技术成熟的话,会有很多有趣的应用出现。至少在技术上不输给 Facebook了,我会密切关注这个项目。开发Web 2.0有点像造火箭,成功了就是特大成功,失败则更是家常便饭。所以给正在搞Web 2.0的朋友们加个油。

  • 相关阅读:
    Do You See Me? Ethical Considerations of the Homeless
    ELDER HOMELESSNESS WHY IS THIS AN ISSUE?
    Endoflife support is lacking for homeless people
    html内联框架
    html字体
    html块 div span
    html列表
    html表格
    SQL Server管理员专用连接的使用   作为一名DBA,经常会处理一些比较棘手的服务无响应问题,鉴于事态的严重性,多数DBA可能直接用“重启”大法,以便尽快的恢复生产环境的正常运转,但是多数情况
    如何配置最大工作线程数 (SQL Server Management Studio)
  • 原文地址:https://www.cnblogs.com/waw/p/2163205.html
Copyright © 2011-2022 走看看