背景
目前市面上一些web前端工程在打包发布之前都会进行代码混淆加密。代码混淆(Obfuscated code)是将计算机程序的代码,转换成一种功能上等价,但是难于阅读和理解的形式的行为。代码混淆可以用于程序源代码,也可以用于程序编译而成的中间代码。而混淆后的代码很难被反编译,即使反编译成功也很难得出程序的真正语义。通过进行代码混淆可以有效提升应用被逆向破解的难度,并使其对可能别有用心的黑客无用,还可以减少文件大小、提升性能。
如果项目或客户对现有的前端工程有定制化开发的需求,拿到混淆后的前端代码也无从下手,这个时候只能申请相关前端工程源码去做定制化开发,然而这样源码就会对外暴露并存在泄露的风险,还有可能会暴露出一些独有技术或者商业信息。基于以上类似的场景,元年提供了一个前端无源码定制化开发的能力。本文将从无源码定制化开发的概念、意义,实践和优势来进行讲解说明。
什么是无源码定制化开发
想要了解什么是无源码定制化开发,首先要明白什么是源码定制化开发。
源码定制化开发
所谓源码就是指编写的最原始的程序代码。任何一个网站页面,换成源码就是一堆按一定格式书写的文字和符号。程序员编写程序的过程中需要他们的“语言”,而他们的工作语言就是“源码”了。用户平时使用软件时就是程序把“源码”翻译成用户可以直观看到的模样。
定制化开发,以现有软件产品为基础,以客户的个性化需求为目标。通常,它由软件产品开发人员执行,或者由供应商提供的第三方执行定制化开发接口和源代码。不同于完全定制的开发,定制化开发不是从零开始开发,而是基于现有的软件。通俗地说就是在现有的软件上进行定制修改、扩展功能,然后达到自己想要的功能,一般来说都不会改变原有系统的内核。去做定制化开发你需要掌握以下能力:
第一,你要有这个开源产品的所用语言的语言基础,能看懂代码是最基本的;
第二,你要对这个开源产品的功能能力和使用比较熟悉;
第三