使用decj简化Web前端开发(一)

声明式Javascript动态加载和浏览器事件绑定

引言

Web前端开发中,开发人员经常需要处理一些常规问题,如:

在页面中引用多个相互存在依赖关系的Javascript文件

在页面中引用CSS文件

浏览器事件绑定

表单的数据填充、数据打包提交、数据校验和格式化

页面初始化逻辑

采用传统的命令式编程范式来处理这些问题时,开发人员不得不反复地通过编写代码调用相关API来完成这些常规任务。事实上,开发人员的主要精力应该集中在业务逻辑实现上,而非在这些常规任务上过多消耗时间。声明式编程范式可以帮助开发人员以最小的工作量去快速搞定这些常规任务,从而能够将更多的精力放在业务逻辑的实现上。

decj是一款以声明式编程范式为基础的Javascript开源框架。本文将介绍如何使用decj框架以近乎零编码的高效率方式去搞定这些常规任务。本期将介绍decj的声明式Javascript文件动态按需加载和声明式跨浏览器事件绑定。

decj框架简介

decj的优势及主要特性

decj使得开发人员能够进行模块化的声明式编程,其目标在于简化Web应用开发中常规问题的处理,使得开发人员能够将更多的精力放在业务逻辑处理上。简单来说,decj的优势在于:

声明式编程:使得开发人员能够集中精力在写必须由其编写的代码,提升开发效率。

decj所解决的问题是几乎每个Web应用中都要面对的普遍的问题:如事件绑定、表单数据校验、格式化、表单提交等。

代码即文档(Code is document):采用decj开发的应用,其代码某种程度上就是文档。

decj的优势也就是声明式编程的优势。通过声明式编程,decj使得开发者面对日常工作中经常要处理的问题时能够集中精力在“真正”需要其处理的问题上。

比如,但某个页面上的一个按钮被单击时,一段业务处理逻辑需要被执行。显然,这段被调用的业务逻辑才是开发者真正要集中精力处理的问题,因为业务逻辑是怎么样的只有人才能知道,而任何框架/库是无法得知并为开发人员代劳的。相反,采用命令式编程的框架/库,在处理此类问题时,开发人员往往得首先分心去处理一些非业务逻辑的问题,比如,如何让这个按钮响应单击事件。比如,若使用jQuery来实现,开发人员需要在代码中的恰当位置/时机(如

window的onload事件被触发后)调用jQuery的bind方法,才能使按钮被单击后执行一段业务逻辑。如清单1代码所示:

清单 1. 命令式编程:使用jQuery处理事件绑定

$(document).ready(function(){//加载页面完毕后执行该函数
   $('#aButton').bind('click',function(){
     //在此处编写或者调用业务逻辑实现代码
   });
});

而采用decj,开发人员无须关心事件处理API以及在何处、何时机调用这些API。可以更加关注业务逻辑。如清单2代码所示:

清单 2. 声明式编程:使用decj处理事件绑定

events:{
  "click@aButton":function(){//按钮aButton被单击时执行该函数
     //直接在此处编写或者调用业务逻辑实现代码
   }
}

可以看出,清单2的代码中并没有关于事件API的调用,开发人员因此可以不必关注这些API以及何时在何地方调用它们。开发人员可以重点关注如何响应相关事件,以实现业务逻辑。另外,decj的应用代码可以充当文档。例如,如清单2的代码所示,对于页面上的某个元素的某个事件,是采用那个事件处理器响应的这个信息一目了然,这有助于问题定位,因为定位问题的人可以快速确认他需要的信息。

本栏目更多精彩内容:http://www.bianceng.cn/webkf/tools/

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索开发
, 代码
, 事件
, jfinal开发问题
, 逻辑
, 处理
, 业务
, 编程人员
, 函数式Web框架
开发人员关注
web前端开发、web前端开发ujiuye、达内培训 开发前端web、web前端开发培训、web前端开发工程师,以便于您获取更多的相关知识。

时间: 2024-10-18 16:03:42

使用decj简化Web前端开发(一)的相关文章

使用decj简化Web前端开发(三) 声明式国际化

引言 本期将介绍decj的国际化(I18N)支持,包括声明式多语言支持和声明式CSS文件动态按需加载. 声明式CSS文件按需加载 使用decj框架,开发人员只需要在模块定义中声明模块所需的各个CSS文件,即可实现这些CSS在该模块被加载时而被动态加载,而无需事先在页面中添加link标签来引用各个CSS文件. 模块定义的css属性用于声明模块所需的各个CSS文件.该属性值是一个字符串数组,其各个元素为所要加载的CSS文件的URL.如果只需要加载一个CSS文件,css属性的值也可以是一个字符串.如清

使用decj简化Web前端开发(二) 声明式表单增强和页面初始化

引言 表单(Form)是Web应用中数据展现和收集常用的HTML元素.开发人员经常需要处理表单的数据填充.数据校验和格式化以及数据打包.另外,页面在加载完毕后往往需要执行一段初始化逻辑.本期将介绍decj对HTML表单的声明式增强和声明式页面/模块初始化这2个特性. 声明式表单功能增强 decj以声明式编程的方式对表单数据展现和收集功能进行增强.在数据展现方面,decj支持根据指定的数据自动将数据填充到表单中.对表单字段值进行自动格式化.在数据收集方面,decj支持对表单字段值进行自动校验.对表

《Web前端开发最佳实践》——导读

前 言 Web前端开发入门难度并不高,但是初学者如果没有一个很好的学习和编码习惯,则开发水平的提高速度会变得很慢.下面几点是影响Web前端开发者技术提高的主要因素. 其一是开发者缺乏良好的实践指导.Web前端兴起的时间不长,很多大学都还没有来得及开一门专门讲解Web前端的课程,因此,大部分的Web前端开发者都是通过自学的方式来了解Web前端相关的技术.开发者学习前端技术的渠道很多,其中很大一部分是通过查找网络资源的方式,而网络上充斥着大量的错误或者过时的实践方法,这些实践方法很容易误导初学者,使

《Web前端开发最佳实践》——2.5 Web前端代码开发和调试

2.5 Web前端代码开发和调试 2.5.1 Web前端集成开发环境 很多集成开发环境(IDE)都集成了前端代码IDE,如Visual Studio.Eclipse等,但在纯粹的前端开发中,这些IDE显得不够强大而且不够轻量.这里推荐两款强大的IDE:Aptana Studio和WebStorm. Aptana Studio是一个开源的Web开发工具,有非常强大的JavaScript编辑器和调试器(见图2-4).它的主要特性包括: JavaScript函数.HTML及CSS的Code Assis

《Web前端开发精品课 HTML与CSS进阶教程》——1.2 HTML、XHTML和HTML5

1.2 HTML.XHTML和HTML5 很多新手往往分不清HTML.XHTML和HTML5,这一节给大家详细讲解一下这三者的关系和区别. 1.2.1 HTML和XHTML HTML,全称HyperText Mark-up Language(超文本标记语言),是构成网页文档的主要语言.我们常说的HTML指的是HTML 4.01. XHTML,全称EXtensible HyperText Mark-up Language(扩展的超文本标记语言),它是XML风格的HTML 4.01,我们可以称之为更

极客Web前端开发资源大荟萃

中介交易 SEO诊断淘宝客 站长团购 云主机 技术大厅 前端开发已经成为当前炙手可热的技术之一.此次我们总结的前端开发包含了相关技术和流行趋势,希望从中大家可以挖掘你们所需要的,并带给你们最有价值的帮助!原文来自:极客标签 良心ui - 基于bootstrap 全面兼容ie6+的前端框架 良心ui - 基于bootstrap 全面兼容ie6+的前端框架. 前端代码回放:CSS3中的box-shadow用法 关于box-shadow的用法,分享出来给有需要的人使用. 360周鸿祎:互联网成功十大案

web前端开发用户体验:jQuery框架

对于web前端开发来说,越来越多人使用JS框架来实现效果,其中以jQuery框架的使用最普遍.本文中对于jQuery的讨论来自Karl Swedberg的访谈,作为 JavaScript 和 jQuery 技术专家,Karl Swedberg撰写了大量相关文章,并在各种 Web 开发设计大会上有与 jQuery 相关的讲座. 对那些可能还没听说过 jQuery 的设计师来说,什么是 jQuery jQuery 是一种让开发和设计者在他们的网页中添加交互内容的工具,它的核心命令让你在网页中定位或创

Web前端开发行业的发展

--Web前端开发的过去.现在和未来 自从第一个网站在上个世纪 90 年代初诞生以来,早期的网页完全由文本构成,除了一些小图片和毫无布局可言的标题与段落.然而,时代在进步,接下来出现了表格布局,然后是 Flash,最后是基于 CSS 的网页设计.无可否认,前端页面重构技术也经历着这样的一个过程:table布局页面→DIV+CSS→HTML5+CSS3,面对众多的浏览器与平台,Web前端不再是以前那样简单的重复性工作.下面让我们对Web前端开发行业的发展有一个简短的认识. 回首Web前端开发的过去

Web前端开发十日谈:寻找适合自己的道路

开发十日谈:寻找适合自己的道路-"> 一直想写这篇"十日谈",聊聊我对Web前端开发的体会,顺便解答下周围不少人的困惑和迷惘.我不打算聊太多技术,我想,通过技术的历练,得到的反思应当更重要. 我一直认为自己是"初级"前端开发工程师,一方面我入道尚浅,只有短短几年,另一方面我自知对技术的钻研并不深入,可能是由于环境的原因,当然最重要的是,我幸运的参与到互联网崛起的浪潮之巅.时势造就了一批技能薄弱但备受追捧的"弄潮者",这在很大程度上