“易写易库(EXEK)”项目启动,用易语言开发易语言支持库
“易写易库”(EXEK,E Xie E Ku)项目已经启动,用易语言开发易语言支持库。我(liigo)准备用一个月左右的业余时间,完成本项目的一期工程。
用易语言开发易语言支持库,已经不是一个梦想,早已成为现实。之前已经有不少重量级人物进行过开创性研究,如金眼睛、海洋、云外归鸟等。而我的工作,也正是这些研究成果之上的拓展。在巨人的肩膀上,我站的很高,看的很远。我觉得应该可以做的更好。
“易写易库”的目标是,使易语言开发易语言支持库:
1、更简单:必须比C++写支持库简单,争取比Delphi写支持库还简单。
2、更强大:C++、Delphi写支持库能实现的功能(比如窗口组件),易语言也要做到。
3、更实用:支持库源代码要有很好的可维护性,编译出的fne不依赖任何外部文件。
本项目作为易语言支持库的通用开发框架,将以易语言模块的形式发布。
这个项目的复杂度是非常高的,好在我已经轻车熟路(用C++开发过N个支持库,用Delphi开发过X个支持库),不存在太大问题。
说实话,我已经有“很久”——以“年”为单位——没有用易语言写过大一点的程序了,最近拾起来,一样顺手。易语言“易学易用实用”的称号还真不是“盖”的。
-----------------------------------------------------------------
下面回答几个问题:
一、为什么要用易语言开发支持库?
能够开发易语言支持库的编程语言应该越多越好,这样可以有更丰富的资源供易语言充分利用,因为每种编程语言都有各自独特的资源优势。易语言用户更习惯用易语言自身开发支持库给自己使用。易语言开发出的支持库比其它语言开发出来的支持库,在文件尺寸上要小很多。
二、之前就已经可以用易语言开发支持库了,为什么目前用易语言开发出来的支持库还非常少?
估计有几个原因(或其中之一二):易用性不够,复杂度太高,功能上不足,代码可维护性不好。这也正是“易写易库”项目需要解决的问题。
二、为什么要使用支持库而不是易模块?
在使用“易模块”还是“支持库”的问题上,易友们各有自己的选择。一般来说,支持库的优势是:
1、可以定义“通用型”参数和扩展参数(“输出调试文本”就用到这两项功能)
2、可以自定义窗口组件
3、可以使用C++、Delphi、汇编、易语言等多种语言开发,充分利用各种资源
4、支持库是动态链接库,不会增加可执行文件大小
支持库的劣势是:
1、用到支持库的可执行程序,发布时需额外携带支持库文件
2、即使只用到支持库中的一个命令,也需要携带整个支持库
易模块的优势恰恰弥补了支持库的劣势。易模块的优势是:编译时静态连接,且按需连接,编译后发布不需要携带易模块文件。同样,易模块的劣势恰恰也是支持库的优势,易模块不能定义“通用型”参数和扩展参数,不能自定义窗口组件,不能动态链接,不能使用其它编程语言开发。
综合来说,“易语言模块”和“易语言支持库”各有优势和劣势,且能互相弥补,两者都是易语言重要的功能扩展方式。在实践中应该理性选择,不应有所排斥。