asp.net变迁的一种思考

  那些年学c#,asp.net用的不多,可学没少花功夫,不过到头也没怎么用。近来有一两个小项目,又开始写了一点。时过境迁,web Form已然不在Visual Studio 2015中,光靠那几个默认的REST(GET POST PUT DELETE)也搞不定,还是选择了MVC模式。当然事实上也就是增删改查,为了省事,EF是不错的选择,再反转却稍微难为了点人,不过也不用传统的反射,还有微软的Expression,总而言之,那个东西几乎就是写一次,然后n个业务再继承了n次的配置就完事了,登录都简化到Basic。

  第二个是给别个弄了查车的,一个页面,说来也简单。末了,呵呵,千防万防没防到windows 2003,最后还得用webForm写了个(算是REST JSON)接口调用,然后再找台08部署mvc 5.中间为了省一些麻烦直接上的ado.net。

反思

  微软的mvc干了一件事,model、controller、view。比起java的配置,而且说实话通常99%来说都是一种麻烦,微软采用直接默认——名称映射的关系。model不提了,实际上到哪——哪个又不干这事呢?~说到默认,写完这个小的东西,不由想起webFrom的code behind,不也是这么回事 —— 甚至这种模式可以很容易做到编译时的;而controller是运行时启动加载的。再说说view —— razor写法固然简单,但这个东西是靠string解析的,从效能上说类结构在更多的时候应该会更好一些(虽然也最终需要转换到string,但不需要解析的额外开销)。开始质疑Visual Studio 2015完全抛弃webForm的策略。

  说到View这种设计模式应该追溯一下他的初衷 —— 并不是为了coder而用,是为设计而用。也曾写过一个小板子上的http接口和view服务。当然可以不需要任何这种文件,为了当时的REST规格(不像微软这种死板的路由,路由中param可以是在任意位置,wcf rest是常常那么干的,java也是),还很郁闷(就是param非得那么做,而没有任何实际意义,鄙人一直鄙视一种为套路而套路的做法,任何事情都是灵活的,高效且漂亮的解决问题才是硬道理)的写了这个路由。话说道理,mvc razor的意义何在?——反倒又是为了coder而简单,既如此Page岂不是更好的选择~~而去掉.aspx这个后缀名跟controller又有什么区别。

  想到IE和Edge,IE那个年代做了一些web的时候的确很坑,那个web 2.0的时代,IE6、7、FireFox是主流。Edge为了更好的兼容和效能杀死了IE。今天的互联网web主流貌似是chrome。Edge实际战场对手很大程度为了它。不得不再骂一句web坑。都你妈搞什么web虚拟机,什么什么提高效能,又怎么这么兼容 —— 是不是根本就不应该有网页这种东西,直接大家上一套不允许容错式的、编译式的虚拟机标准不就得了 —— Flash+Silverlight就很好,设计参照Flash,编码参照Silverlight,给这种虚拟机一个窗口图标以及一个URL参数,程序集说明丢给爬虫...看看你妈的现状——效能低下,兼容——为了兼容的html和js,coder需要怎么样的工作!!且想保护知识产权的  一点  能力都没有——仅仅可以rename一下,还浪费网络资源。门槛貌似更低,后果却很严重。

  吐槽而已,市场占有毕竟太大,一时是很难改变现状,微软自己都抛弃了自己东西,且奈何,毕竟没有当初。一路看web的发展,实际上可能却是在路上中。

  珍爱技术,远离web;珍爱生命,远离游戏;不在江珠,硬件和CAD还是得远点;保护我的未来主攻产品、营销。

 

你可能感兴趣的:(asp.net变迁的一种思考)