`
zawa
  • 浏览: 58403 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

基于指令提取Javascript并创建UI层控件

    博客分类:
  • php
阅读更多

详见我的博客:http://www.zawaliang.com/2013/02/75.html

 

我们先来看一个流程图:

版本流程图

 

这是日常工作中常规的版本发布流程,审核层级的多少可能视乎组织架构、审批流等因素不定,但一般都会存在一级审批,审批完以后又会遇到很多的发布环境验证,在涉及多位开发同事、多个版本特性的时候,这一个发布环节就显得很耗时。对于常规(不紧急、计划内)的版本特性,这个流程问题倒不大,但涉及到紧急版本、bug修复等受不定因素影响的特性时,这个流程对开发人员的耗时就很严重了。

这是我工作中遇到的一些情况,不一定都适用,但作为开发人员,要学着提高开发效率,把更多的时间放到技术方面上去,而不是把时间浪费在这些繁琐无趣的流程上。

加上最近跟进的项目受政策及合作方影响较大,对于纯JS方面的配置信息希望做到更加方便的上下线,于是这段时间做了个内部系统,主要是解决上面流程的一些问题,尽量减少其中的耗时。

这个系统最重要的一个功能就是根据自定义的指令提取JS文件里的内容,并生成相应的UI控件。

我们来看一个简单的例子demo.js:

// @toggle group="分组名" label="开关指令" text="是否开启"
var demo = true;

demo.js是一个我们需要经常修改的文件,里面涉及到一个关键特性的开关配置内容,我们要做的就是根据自定义的指令,提取demo对应的值并通过UI层控件反馈出来,显示如下:

可视指令demo

 

此时,一般的产品经理角色也可以通过此系统直接修改特性进行发布,省去了版本流程中众多的环节,开发人员也可以释放更多的人力资源。

 

以下是我基于PHP写的一个类JsCommandParser,主要包括以下几点功能:

  • 自定义指令集
  • JS类型自动转换
  • 指令访问控制

Github地址:
https://github.com/zawaliang/JsCommandParser

使用很简单,通过紧靠JS内容上一行添加指令即可,如下

// @tag  attribute1="value2"  attribute2="value2"  ...  attributeN="valueN"
var demo = 'xxx';

经过hash()方法后,会自动添加hash的寻址标识,hash标识根据指令所属位置、产生时间以及随机数生成,保证全局唯一。

// @tag  attribute1="value2"  attribute2="value2"  ...  attributeN="valueN" hash="v0ae5d076619e398a3af08a8cf1fea98d" 
var demo = 'xxx';

JsCommandParser主要提供了几个方法:

// 实例化JsCommandParser类  
$cp = new JsCommandParser($str);  
//  设置当前用户,用户受限访问控制  
$cp->user = 'xxx';  
// 调用parse方法解析指令  
$cp->parse();  
// 给内容添加hash寻址指令  
$cp->hash();  
// 通过hash表单集合设置指令对应配置项  
$cp->set($data);  
// 删除内容中的指令集  
$cp->del([$str]);

至于UI层控件的封装,这里就不细说了。这里主要是抛砖引玉,谈一下工作中的流程优化问题,提高平时的开发效率。

 

 

详见我的博客:http://www.zawaliang.com/2013/02/75.html

分享到:
评论

相关推荐

    HTML UI控件 推荐3款javascript封装库+UI界面控件,当然少不了鼎鼎大名的jQuery

    HTML UI控件 推荐3款javascript封装库+UI界面控件,当然少不了鼎鼎大名的jQuery

    javascript UI控件库

    JavaScript UI控件库是开发网页应用时不可或缺的一部分,它们提供了丰富的用户界面元素,如按钮、表格、下拉菜单、对话框等,使得Web应用程序具有更好的交互性和用户体验。EasyUI就是一个非常流行的JavaScript UI库...

    通用的网页(界面)UI控件

    "通用的网页(界面)UI控件"这个主题涵盖了如何使用预先封装好的JavaScript和CSS组件来简化开发流程。 首先,JavaScript是一种广泛使用的客户端脚本语言,它允许在用户的浏览器上运行代码,为网页添加动态功能。在...

    jquery_ui日历控件

    jQuery UI 是一个强大的JavaScript库,它扩展了基础的jQuery库,提供了丰富的用户界面组件和交互效果。其中,jQuery UI 日历控件(Calendar Widget)是一个非常流行的功能,它允许开发者在网页上添加美观且功能齐全...

    jquery-ui控件

    jQuery UI 是一个基于 jQuery JavaScript 库的扩展,提供了丰富的用户界面组件,让开发者能够轻松创建出具有专业外观和功能的网页应用。jQuery UI 包含了一系列的可定制的、易于使用的控件,如日期选择器、滑块、...

    JavaScript应用实例-ui保存控件属性3.js

    JavaScript应用实例-ui保存控件属性3.js

    基于JavaScript的简洁UI组件库Rabbit UI.zip

    总结来说,"基于JavaScript的简洁UI组件库Rabbit UI.zip" 是一个专为前端开发者设计的工具,它利用JavaScript创建了一系列可重用的UI组件,以简化开发流程并提升用户体验。通过使用Rabbit UI,开发者可以节省时间,...

    基于Javascript和TypeScript的简易UI组件库设计源码 - N53-UI

    本源码提供了一个基于Javascript和TypeScript的简易UI组件库的设计。项目包含15439个文件,其中包括9232个JavaScript文件、1429个Markdown文档、1406个JSON文件、812个TypeScript文件、424个Map文件、148个YAML文件...

    Extjs UI控件 for Asp.net3.5

    ExtJS UI控件是用于构建丰富、交互性强的Web应用程序的JavaScript库,它与ASP.NET 3.5结合使用,可以为开发人员提供强大的前端开发工具。在ASP.NET 3.5框架下,ExtJS控件能帮助开发出具有桌面应用般体验的网页应用。...

    基于JavaScript的手机UI设计.doc

    基于JavaScript的手机UI设计,不仅需要关注设计美学和用户体验,还要充分利用JavaScript的动态效果和交互功能,为用户提供更为直观、生动的操作界面。随着移动互联网的发展,对UI设计师的要求不断提高,他们需要不断...

    javascript控件

    通过解压并研究这些文件,你可以深入理解JavaScript控件的工作原理,甚至可以根据需要自定义或扩展现有的控件。 总的来说,JavaScript控件是构建交互式Web应用的关键组成部分。掌握它们的使用不仅可以提高网页的...

    JqueryUI 日期控件

    jQuery UI的日期控件提供了多种事件,如`select`(用户选择日期时触发)、`close`(关闭日期选择器时触发)等,可以用于监听用户操作并作出响应。同时,还有`destroy`、`disable`、`enable`等方法,方便对日期控件...

    基于Android的Android创建UI的新思路:用javascript与Activity进行交互.zip

    本教程“基于Android的Android创建UI的新思路:用javascript与Activity进行交互”探讨了一种新颖的方法,即利用JavaScript与Android Activity进行交互来构建用户界面。这种方法尤其适合对前端开发有经验的开发者,...

    javascript控件开发之继承关系

    控件开发是JavaScript应用中的重要部分,它涉及到UI组件的创建和功能实现。在这个主题中,“javascript控件开发之继承关系”主要探讨的是如何利用JavaScript的面向对象特性来构建和组织控件的层次结构,以及如何通过...

    6种JavaScript日历控件

    jQuery UI的Datepicker是最流行的JavaScript日历控件之一。它易于使用,提供了丰富的主题和本地化支持。你可以通过简单的API设置日期格式、日期范围限制以及添加自定义的日期选择器事件。例如,你可以这样初始化一...

    javascript 日期时间控件

    在"datescript.js"中,我们可以预见到它可能包含了创建这样的日期时间控件所需的所有逻辑,包括上述提到的日期处理、事件绑定、UI渲染等。具体实现可能涉及到DOM操作、CSS类切换、时间和日期的计算以及用户交互的...

    FineUI ASP.NET 控件库

    FineUI 是一款专为 ASP.NET 平台设计的专业控件库,它基于流行的 JavaScript 框架 ExtJS 构建,旨在为 ASP.NET 开发者提供强大而易用的界面组件。这款控件库在设计时充分考虑了 ASP.NET 的开发模式和习惯,确保...

    几个经典JavaScript控件下载

    在这个“几个经典JavaScript控件下载”的压缩包中,包含了几个实用的JavaScript组件,这些组件可以帮助开发者创建更加交互性和用户友好的网页。 1. **表格格式的树示例**: 树形结构在数据展示中非常常见,例如...

    ej2-javascript-ui-controls:Syncfusion JavaScript UI控件库提供了50多种跨浏览器,自适应和轻量级HTML5 UI控件,用于构建现代Web应用程序

    Syncfusion JavaScript UI控件库 您将需要的唯一JavaScript UI库。 使用Essential JS 2创建的屏幕 目录 框架要点 轻巧且用户友好 整个Essential JS 2框架是从头开始构建的,是轻量级和模块化的。 通过仅包含应用程序...

Global site tag (gtag.js) - Google Analytics