之前就有想法说说这方面,直到看到我上一篇博客《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

转载于:https://www.cnblogs.com/Areas/archive/2012/03/26/2417805.html

EXT.NET高效开发(一)——概述相关推荐

  1. EXT.NET高效开发(二)——封装函数

    在上一篇<EXT.NET高效开发(一)--概述>中,大致的介绍了一下EXT.NET.那么本篇就要继续完成未完成的事业了.说到高效开发,那就是八仙过海各显神通.比如使用代码生成器,这点大家可 ...

  2. swagger 返回json字符串_[Swagger] Swagger Codegen 高效开发客户端对接服务端代码

    [Swagger] Swagger Codegen 高效开发客户端对接服务端代码 @TOC 手机用户请横屏获取最佳阅读体验,REFERENCES中是本文参考的链接,如需要链接和更多资源,可以关注其他博 ...

  3. ASP.NET Core 企业开发架构概述

    ASP.NET Core 企业开发架构概述 企业开发框架包括垂直方向架构和水平方向架构.垂直方向架构是指一个应用程序的由下到上叠加多层的架构,同时这样的程序又叫整体式程序.水平方向架构是指将大应用分成 ...

  4. aiku基于mini2440下裸机程序开发《概述与SDRAM运行》

    大家好,我是aiku,今天主要跟大家介绍一些 基于mini2440下裸机程序开发<概述与SDRAM运行> 有什么问题:都可以联系我们,谢谢! 我是aiku,本博客主要写一些我们的项目经验与 ...

  5. 7个步骤教会你使用领英(LinkedIn)高效开发国外客户

    领英(LinkedIn)现在已经是许多外贸企业在寻找客户资源时的第一选择了,但客户资源不是你轻轻松松就能很快获得的,甚至有些人在领英努力了好几个月都没有很好的收获. 很多外贸人为自己业务寻找新的潜在国 ...

  6. python高效开发实战

    Django.Tornado.Flask.Twisted 作者:刘长龙 出版社:电子工业出版社 出版时间:2016年10月 python高效开发实战

  7. iOS 高效开发-----实现description 方法 (续)

    在 "iOS 高效开发-----实现description 方法"这篇文章的最后,我留下了一个问题,就是,如果要给每个自定义的类覆写description方法和debugDescr ...

  8. mysql数据库应用与开发姜桂洪 课后答案_一站式打卡“云原生”时代的高效开发...

    这个周末,古都金陵,人文璀璨.一场人气爆满的DevRun开发者沙龙悄然拉开了帷幕. 在这场近90分钟脑力风暴,与近2小时实战修炼中,主题直奔当下火热的"云原生",并结合云原生时代的 ...

  9. 帮助你高效开发Ajax应用的超酷jQuery插件 - AjaxML

    日期:2012-4-20  来源:GBin1.com 如果你使用jQuery进行Ajax开发的话,你一定要试试今天我们这里介绍的这一款jQuery插件 - AjaxML.它是一款能够帮助你提高ajax ...

最新文章

  1. oracle主从表分离怎么实时更新数据_高可用数据库主从复制延时的解决方案
  2. Java 中的 String 真的是不可变的吗
  3. 白盒测试中的六种覆盖方法及案例分析
  4. java通过url获取网页内容_Java语言通过URL读取网页数据并保存到本地文件(代码实例)...
  5. XML Schema基本数据类型及数据限定
  6. 聚焦2016:关于语音识别、图像识别及大数据
  7. oracle导入10个G的dmp,Oracle11g导出dmp并导入Oracle10g的操作记录
  8. postgreSQL中文拼音排序
  9. HBase 数据库介绍
  10. 阅读芯片手册与STC16F40K128芯片手册阅读
  11. spring配置与监听mysql_spring boot (8)mybatis配置监听,
  12. 随机种子 seed()到底是怎么回事。
  13. 初学量子力学,读读这本《见微知著》,会豁然开朗
  14. 小爱音箱显示服务器连接不上,小爱音箱为什么连不上网络
  15. 十进制数与其他进制数转换方法及原理
  16. Orbslam2 稠密点云 +D435i实现(Ubuntu18.04)
  17. 引流脚本有用吗,日引流上千粉的引流脚本是怎么回事
  18. PHP和JAVA的区别
  19. git reset后本地拉取_【转】【Mac + Git】之Git pull 强制拉取并覆盖本地代码
  20. 银行客户端提示External exception EEFFACE

热门文章

  1. 小学信息技术计算机网络教学设计,《小学信息技术》教学设计
  2. php面向对象调用方法,在面向对象的php中调用方法
  3. 051_InfiniteScroll无限滚动
  4. 004_JDK的String类对Comparable接口的实现
  5. Audition 2020安装教程
  6. 系统镜像_如何通过云服务器创建Windows系统镜像
  7. android 4.4从图库选择图片,安卓6.0,从系统图库选择照片,裁剪,并显示的问题。...
  8. 字体渲染 mac linux,Mac下通过命令来渲染字体
  9. Hadoop详解(四):HDFS shell操作和Java API操作
  10. Java高并发编程(十一):Java中线程池