• 用K2 smartforms开发一个应用程序究竟比ASP.NET快多少?


     

    这次试验的起因是一场内部辩论。

    “用K2 smartforms开发一个应用程序究竟比ASP.NET快多少?”

     我们推测是快4倍。

    但是经过测试发现,我们推测错了。

    本文记录了试验的规划、过程以及令人惊讶的结果。

    真实的故事。

    参与者

    Renier 简介

    Renier是K2 blackpearl的产品市场营销经理。很 久以前,Renier 还是一名软件开发人员,但是他 现在不再编写程序了。Renier 需要使用 K2 smartforms 来开发测试应用程序。

    Eugene 简介

    Eugene是一名K2技术专家。他是一名非常专业的开 发人员,擅长使用 Visual Studio 和 K2 blackpearl Eugene 的任务是尽快用 ASP.NET 开发出相同的应 用程序。

    ///////////////////////////////////////////////////////////////////////////////////////////////////

    PK应用程序

    我们决定开发费用报销应用程序,因为在某种程度上,所有类型和规模的机构对此都有共同需求。我们常常在 K2 blackpearl 上演示此解决方案,所以可以将现有的应用程序作为设计基础。Renier 和 Eugene 对应用程序的功能都非常熟悉,因此我们相信这是一次公平竞争。

    ///////////////////////////////////////////////////////////////////////////////////////////////////

    PK要求

    Renier 和 Eugene 需要对应用程序要求达成共识。为了区分表单及平衡其他变量,他们二人同意将开发仅限于表单开发。

    试验中不包括表单背后的工作流,并且提前用 K2 SmartObjects 创建数据存储。SmartObjects 的使用类似于传统的业务对象,具有 CRUD(创建、读取、更新、删除)功能。每个人都可以使用相同的设置:员工、成本中心、部门、费用报销和费用报销项。

    ///////////////////////////////////////////////////////////////////////////////////////////////////

    费用报销状态说明

    SAVED(已保存):员工可以创建费用报销单,并且无需提交审批即可保存。这通常用于定期获取费用,以后批量提交。当报销单处于保存状态时,可以打开,对其进行编辑。

    SUBMITTED(已提交):报销单已提交审批。员工无法更改这种状态下的报销单,但可以查看。 

    PROCESSED(已处理):此报销单已经审批并处理。这种状态下的报销单不能更改只能查看。

    系统假定登录 Windows 的用户是员工,需要填写表单。要在此基础上开发以下表单。

    ///////////////////////////////////////////////////////////////////////////////////////////////////

    管理费用报销表单

    管理费用报销表单将作为应用程序的登录页。

     

     

    版块 • 页眉是 K2 标识和应用程序名称 • 当前用户的员工数据及审批负责人列表 • 授权用户创建的所有报销项列表

    操作 •打开并创建新的支出表单 •选择现有支出后,打开我的支出(My Expense)

    创建新的费用报销表单

    员工可以用这个表单收集单项报销费用。

    tl_files/contents/k2-contents/products/smartforms/xinzhichu.jpg

    版块

    • 页眉是 K2 标识和应用程序名称 • 当前用户的员工数据及审批负责人列表 • 费用报销的详细信息,如日期、名称和汇总资料 • 支出项目,包括日期、说明、币种、汇率和附件

    操作 • 提交费用报销单以备审批 • 保存费用报销单,稍后再填写 • 编辑费用报销单的详细信息 • 添加、编辑或删除支出项目

     

    一级和二级审批表单

    审批表单用于验证报销费用,作为工作流的一部分。

     

     

    版块 • 页眉是 K2 标识和应用程序名称 • 当前用户的员工数据及审批负责人列表 • 费用报销的详细信息,如日期、名称和汇总资料 • 支出项目,包括日期、说明、币种、汇率和附件 • 审批人意见 • 历史意见

    操作 • 批准或拒绝报销单 • 添加意见 • 查看支出项目

    tl_files/contents/k2-contents/products/smartforms/shenpibiaodan.jpg

    注:如果报销金额超过部门或审批人的审批额度,那么此报销项就需要2级审批。只要该表单能够显示所有之前的审批意见,那么就由 Renier 和 Eugene 决定他们是否需要使用一个或两个表单来完成多个审批人场景。

    我的支出表单

    员工可以使用这个表单查看已提交的费用。

    版块 • 页眉是 K2 标识和应用程序名称 • 当前用户的员工数据及审批负责人列表 • 费用报销的详细信息,如日期、名称和汇总资料 • 支出项目,包括日期、说明、币种、汇率和附件 • 审批人意见 • 历史意见

    操作 • 查看支出项目 • 关闭表单

    ///////////////////////////////////////////////////////////////////////////////////////////////////

    准备工作

    摄像头已安装在两个隔间外,机器已配置好必需的

    软件,冰箱里放满了苏打水,Camtasia 已经准备好

    录下两人的活动。

     

    ///////////////////////////////////////////////////////////////////////////////////////////////////

    开始运行

    Renier: 已经开始构建表单视图。K2 smartforms 为他完成所有的低级命令;零代码;零耗时;

    Eugene: 在用 ADO 连接K2 SmartObjects 的时候,他已经慢在起跑线上了;

     18分钟时...  

    Renier: 正在配置一个新费用申请表单 

    Eugene :仍然在开发费用报销表单 

     42分钟时...

    Renier: 开始创建一个新的费用报销表单

    Eugene :仍然在编写费用报销表单

     88分钟时...  

    Renier: 已开始测试费用报销表单    

    Eugene :仍然在开发表单,已落后 Renier 67 分钟   

     117分钟时...

    Renier: 已完成整个应用程序开始享受余下时光

    Eugene :仍然在编写代码

     

    4小时... 9小时... 第二天...
    Eugene在编写代码 Eugene在编写代码 Eugene在编写代码

     

    ///////////////////////////////////////////////////////////////////////////////////////////////////

    结论

    “用K2 smartforms开发一个应用程序

    究竟比ASP.NET快多少?”

     17小时,15分钟,52秒 …

    Eugene 终于快完成了。他很疲惫。我们的观点被证实了。我们应该欢呼。

    我们推测是快4倍。

    但是经过测试发现,我们推测错了。

    不是快4倍,而是8倍。

    (至少)

      1:57:52  
                                            VS                                             
      17:15:52  

     

    “我对 K2 smartforms 有了新的认识。让任何一位ASP.NET 开发者进行此项试验,他们都会得出完全相同的结论 - 这件产品简直太棒了!”- Eugene

     

     

     

     

     

     

  • 相关阅读:
    前端攻城狮学习笔记九:让你彻底弄清offset
    JavaScript中Element与Node的区别,children与childNodes的区别
    JavaScript代码优化实战之一:缓存变量,关键字过滤
    【转】纯CSS画的基本图形(矩形、圆形、三角形、多边形、爱心、八卦等),NB么
    包装对象——JavaScript中原始类型拥有属性的原因
    关于两个容积不同的瓶子中装水可以得到哪些精确值的问题的算法
    JavaScript中判断鼠标按键(event.button)
    累了休息一会儿吧——分享一个JavaScript版扫雷游戏
    用CSS让未知高度内容垂直方向居中
    空间换时间,把递归的时间复杂度降低到O(2n)
  • 原文地址:https://www.cnblogs.com/K2China/p/3410082.html
Copyright © 2020-2023  润新知