July 08
what is Javascript Development Environment
JavascriptDevelopmentEnvironment,简称JSDE,是一套面向特殊需求的JS开发部署环境,对于JS的开发人员,它支持扩展JS语法、分析JS工程、分析CSS工程、整合JS代码、分析JS工程、除错等功能,是一套基于linux平台的,面向RIA开发人员的开发环境。
需求来源
JSDE的需求最早来源自RIA组的JS开发实际环境,JS开发需要两套系统:开发模式和线上模式。开发模式为人为编写的代码,线上模式为经过除注释、整合、混淆后的代码。可以近似的理解为开发模式对应源代码,而线上模式对应包含、link后的目标代码。
以linux下GCC编译环境为例,需要makefile的依赖分析, gcc的预编译、编译、链接等环境,最终形成从源代码.c文件到线上部署的可执行程序的转变。不像成熟的编译语言,JS语言没有统一、商业化的线上部署的环境支持,正基于此,为了提高整个RIA的开发效率、线上部署效率,一套灵活、具体的可靠的JSDE就显得尤为重要。
功能
JSDE具有以下12点功能:
1,致力于为RIA打造基于linux平台的JS开发部署环境:
基于通用框架,面向特定需求
2,具有支持类如自定义函数等扩展JS语法功能:
开发人员可以自形扩展javascript的语法,以达到方便工程的目的,扩展的语法由JSDE负责进行解释和转义
3,具有检查JS语法错误功能
可以检查代码的语法正确性
4,具有去除注释功能
可以去除代码的各种注释说明,以达到代码瘦身的目的
5,具有去除冗余代码功能
可以去除代码中的冗余部分,比如多余的分号、空格等,以达到代码瘦身的目的
6,具有整合代码功能
可以通过预编译,实现解释语言的include
7,具有依赖关系分析功能
类似Makefile,分析工程中的文件、函数等依赖关系,给出结构图,方便调试
8,具有编码检查功能
可以针对实际线上环境,检查工程文件编码格式,并提出警报
9,具有include once和检查功能
实现#pragam once等宏定义,保证依赖文件关系保持拓扑性(无环)
10,具有整合CSS功能
根据CSS语法和依赖关系,整合CSS代码
11,具有发布工程的功能
按工程配置,发布工程,完成开发模式到线上模式的转换
12,具有代码混淆功能
混淆代码,实现霍夫曼编码,达到代码瘦身的目的