• EXT.NET高效开发(一)——概述


    之前就有想法说说这方面,直到看到我上一篇博客《EXT.NET复杂布局(一)——工作台》的回复:

    小龙3:ext.net 比使用傳統的webform控件开发时间多多少?

    我就决定提前写这一系列了。小龙3应该感到荣幸。嘿嘿。

    相比Extjs,Ext.NET毋庸置疑的可以大大提高生产力(这里我只说EXT.NET的优势):

    1)带智能提示的配置。

      在VS设计界面,可以直接拖出EXT.NET控件,然后可以像编辑传统的ASP.NET控件一样来编写配置。Ctrl+J——J的爽吧。

    2)编写速度加快。

    一是有智能提示,二是很多时候,无须查看文档,只需要浏览智能提示就能配置。有时候写完前台写后台,耶,一个js都没写。虽然我不讨厌JS,但是能不写的,我不会多手。让EXT.NET搞定这些吧。。

    3)错误率降低。

    这点不需要解释。当然只是相对Extjs的。一般情况下,我写JS都是小心翼翼的。

    4)可维护性。

    js写多了,维护起来不是一般的头疼,虽然可以使用VS插件让JS可以实现折叠,但是多了的话,看着都难受,哪还有心情修改。如果恰巧字母大小写或者写错了,或者误操作,多敲了一个字母,等等,又有得忙了。

    5)层次关系。

    从VS设计源码界面,即使布局很复杂,代码很多,你也可以很清楚的看清楚各个控件的父子关系,可以很方便的找到哪个控件,也可以很方便的折叠哪些部分。

    6)可以在服务器事件中操作。例如:

    1
    2
    txtDogNo.Text = Request.QueryString["usbkey"];
    txtMachineNo.Text = Request.QueryString["equipmentcode"];

    在EXT.NET的DirectEvent事件或Page_Load事件这操作EXT.NET控件,比JavaScript操作更方便。虽然其原理也是使用的JavaScript。而且很多时候,可以不必要通过Httphandler类或者ASP.NET页面来操作,节省了很多配置。

    7)数据交换更简单。

    EXT.NET支持各种数据源,支持各种数据源控件。支持页面后台绑定,也支持xml、Ajax请求等等。

    8)使用更快捷。

    控件一拖(虽然我一般不拖),JS、CSS链接不需要操心了。语言也不需要操作了,会自动设置本地语言(虽然有时汉化不彻底,但是还勉勉强强)。

    9)其他。一时间想不起来了。有想到的就回复下吧。嘿嘿。

    那相比WebForm,Ext.NET的优势又在哪呢?这里我也会结合生产力说说(这里我就用++和--来标注好了)。

    1)更好的用户体验。(生产力++)

    虽然WebForm可以使用微软的Ajax以及Ajax控件进行开发,但是用户体验还是远远不及extjs。而且你可以跟客户忽悠,这个功能多么滴难做,多么好,但是我们做出来了。于是你的沟通能力又增长了。。。

    2)美观的界面。(生产力+++)

    只要程序员稍微懂点CSS的话,基本上可以忽略美工了。节约了人力,而且还节约了设计样式的时间。虽然extJs界面看多了,也就那么“美”,但是你要考虑到还有很多人没看够。

    3)都支持服务器事件。这点打平了。

    4)EXT.NET或者Extjs还不够完善。(生产力--)

    EXT.NET是存在一些Bug的,在前面的文章我就提及过,但是并不影响开发。这些BUG有些是EXT.NET自身的原因,有些是Extjs的原因。碰到BUG了,需要冷静思考,别掉坑里去了就行了。

    5)要求更高的解决问题的能力。(生产力--)

    • 由于对EXT.NET的不理解、不熟悉,或者对extjs的不了解(前面说过,使用EXT.NET也需要了解Extjs。毕竟Extjs是他爸啊。),或者本身的BUG等等,写代码的时候很容易出现问题或者异常。这就需要自己去分析问题了。
    • 比如设置了GridPanel的AutoExpandColumn属性(自动展开列),但是这个列名自己又疏忽了(也就是不存在),那么页面将不显示,也不会有异常提示显示。这时候就得自己分析原因啦。
    • 又比如服务器环境问题——使用EXT.NET后,直接出异常了,什么什么Json序列化的。这是你就得乖乖打上.NET3.5的补丁包了,虽然官方要求的是3.5框架,但是是不缺SP1的框架。
    • 又比如丢到SharePoint里面,只有Administrator干过之后,其他的角色才能搞,这是为什么呢?权限嘛。赶快使用SPSecurity.RunWithElevatedPrivileges方法把它干了。当然这是本人的解决办法而已。当初为了这问题可是差点黔驴技穷了。
    • 也就是,当你使用Ext.NET后,你会碰到更多的问题。亲爱的读者,你有信心一一解决么?嘿嘿,先忽悠两把,吓死胆小的。

    6)要求更强的自学能力。(生产力--)

    Extjs的示例要看,API要看,EXT.NET的示例要学,现在出文档了,有空也可以瞄瞄。。。

    7)可以实现更复杂、更高级、更好的功能。(生产力++)

    EXT.NET内置的控件就有一箩筐,具体布局使用就靠个人了。传统的WebForm难以实现的,也许在这里面就不是问题。

    8)要求更高的前端开发能力。(生产力—)

    js要懂,Extjs要懂,css也要懂点,ASP.NET要懂。这些,你懂的。。。

    9)其他。同上。

    这篇文章本来是要等周三再敲的,今天生日心情好,而且难得不加班,就把这些文字给敲出来了。看好本系列文章的,就在下面来个祝福吧。不看好的,就为我过生日的还抽出时间来码字的精神,也祝福祝福吧。在本篇结束之际,再说一点个人体会:

    1. 几分熟决定着你的开发速度,心得和体会决定着你的成长进步,总结和提升让你少走弯路,造好模具才是你的开发利器。

    接下来的本系列文章,主要就结合这些方面来说明了。

    http://www.cnblogs.com/codelove/archive/2011/07/22/2114317.html

  • 相关阅读:
    css自定义字体
    nuxt按需引入 element-UI、自定义主题色(终极按需引入)
    Vue 拖拽组件 vuedraggable 和 awe-dnd
    css 0.5px
    react取消监听scroll事件
    vue使用jsonp
    nuxt使用QRCode.js 生成二维码
    阻止冒泡
    nuxt.js配置BASE_URL(基本域名)和NODE_ENV(环境变量)
    Numpy基础学习笔记1
  • 原文地址:https://www.cnblogs.com/Areas/p/2417805.html
Copyright © 2020-2023  润新知