查看: 757|回复: 0

[分享] 优化WWP速度

[复制链接]

79

主题

89

帖子

625

积分

超级版主

Rank: 8Rank: 8

积分
625
发表于 2019-7-30 16:38:17 | 显示全部楼层 |阅读模式
WorkWithPlus生成了一组广泛的功能,帮助您快速开发功能强大的应用程序。其中一些特性需要生成大量代码或非常复杂的Web表单,随着特性复杂性的增加,生成的对象也会增加其复杂性。因此,对象的GeneXus规范和生成时间也会增加。
WWP团队正在与GeneXus团队合作,最大限度地优化代码生成,从而降低生成/编译时间。实际上,在GeneXus16U3中,时间明显缩短。所以我们建议用户升级至GeneXus16U3

我们建议您应该根据自己的需求和想法去设置WWP的属性,以减少屏幕生成时间,其实分析需求并在模板中定义哪些功能是非常必要的。
此文档我们将以“Section”模板为例说明。
1.      DynamicFilters
Dynamic Filters允许用户在运行时定义要应用的过滤器以及与该过滤器关联的字段
当您包含此类筛选器时,WorkWithPlus会在Web表单中添加所有需要的变量,用来创建用户允许包含字段的所有组合过滤器:
此外,它还将在Event中生成数据过滤器的所有的代码和条件。
建议:
1.1只在模板中保留必要的属性和运算符
分析页面中需要哪些属性和运算符。
当您添加新的运算符时,代码也会被添加用来管理所有的组合过滤器。例如,对于数值属性,默认的运算符是:小于、等于、大于,但您可以只保留两个:小于/等于或大于。
如果需要,可以从WorkWithPlus设置中自定义默认应用的运算符和过滤器:
另一个技巧是将那些应该在页面上始终可见的过滤器设置为"FixedFilters" :
1.2 设置"Max Filter"属性
使用此属性,可以定义在运行时页面可以同时包含多少个过滤器。默认情况下,此属性设置为“3”,但可以根据需要更改值。
这一点很重要,因为条件数量乘以所有的组合过滤器就是全部过滤器数量。因此,如果你能把它减少到“2”或“1”,它将对生成时间产生巨大的影响。
1.3 使用"Full Text Filter"
在WorkWithPlus12中,您可以在页面中使用全文搜索过滤器:
通过这种方式,您将能够在屏幕中只有一个过滤器,用户可以在其中按所有请求的属性搜索:
通过使用这种过滤器,您将在页面上只有一个变量,并且这样可以用避免生成很多组合过滤器的相关代码。
因此,如果可能,我们建议从实例中删除您的“Dynamic Filters”,并改用“Full Text Search”。你会发现这将在生成时间上有巨大的影响。
2.      ColumnFilters
Column Filters允许用户从Grid列的标题中筛选记录,并在服务器端对其重新排序:
当包含此类筛选器时,WorkWithPlus需要在Web表单中包含所有必需的用户控件,以便在每列中显示下拉菜单:
此外,它还将在Event中生成必要的代码,用来管理下拉菜单中的所有可能操作和可能的条件。
由于过滤器和排序是服务器端的,它们是通过使用REST服务开发的,因此WorkWithPlus生成一个procedure(接口),其中包含必要的代码:
如您所见,这是一个复杂的特性,后面有一些复杂的开发。
建议:
2.1只定义那些真正需要此功能属性
在大多数情况中,不是每个列中都需要这个功能。因此,您可以只定义某些列具有这个功能:
为了避免重复,您应该将“DynamicFilters”与“ColumnFilters”结合起来。
2.2 定义某些数据类型可以包括列筛选器功能
默认情况下,可以定义一些数据类型包括列筛选器功能。通过这种方式,您可以定义某些数据类型包含在“FullText Filter”中,而其他数据类型则包含在“ColumnFilters”中:
在模板中只需设置一次,然后每个实例都将应用此配置。
2.3 定义“Title Sorting
标题排序是通过在列中添加下拉菜单(与“Column Filters”中包含的下拉菜单相同)来开发的,因此Web窗体非常复杂,因为它具有所有下拉菜单。这意味着需要更多的生成时间。
如果属性没有“Column Filter”,则“Title Sorting”仍将包含下拉菜单。可以更改此行为,因此当属性没有“Column Filter”时,“Title Sorting”将不包括下拉菜单:
这样,您将保留排序功能,但不会在表单中包含下拉菜单(以及相关代码)。
3.     Security
如果使用了Advanced Security或GAM +workwithplus,则可以验证每个属性的安全性。这是一个非常有用的功能,但它将包括验证每个属性权限所需的代码:
如果你需要,你可以导入生成这个资源,但是这也将花费一些时间。
4.      Tabin View
WorkWithPlus为视图对象中的每个相关事务都生成一个Tab。默认情况下,它最多生成10个Tab,但您可以修改这个配置,比如减少此数字,这样默认情况下将生成较少的Tab,可以节约大部分生成的时间(如果需要,您可以后面再手动添加它们)。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|GeneXus中国技术论坛

GMT+8, 2021-3-8 14:34 , Processed in 0.066385 second(s), 21 queries .

 

© 2019 GeneXus中国技术论坛

快速回复 返回顶部 返回列表