870920 Menu

JUCE类库简介

2003年至今,经过持续不断的发展和完善,JUCE已成为一个优秀的大型C++跨平台类库,可用于开发各个主流操作系统下的各类应用程序(包括插件)。真正的“一次编码,直接编译”。目前支持的平台有:MAC OS X,Windows,Linux,iOS,Android。每天,全球有上万名开发者和数百万用户使用着JUCE类库及各种基于该类库的应用程序。

JUCE项目的实际领导者为Julian Storer(英国,昵称Jules),几乎所有代码均由他独立完成。20多年的职业生涯和锲而不舍的勤奋努力使Jules成为全球顶级C++编程大师之一,几乎每日升级以及精益求精、一丝不苟的态度,严格保证了JUCE类库的连贯性、一致性,使其在众多C++类库中显得尤其典雅、优质和高效。可以说,类库中的每一个类,均按行业最高标准精雕细刻,堪称编码范例。除此之外,多位资深专家评价到:“在技术和艺术等多个方面,JUCE类库已臻美学境界。”

JUCE类库起源于Jules早年写的一款跨平台音乐制作软件Tracktion。该软件发布后不久即被音频与音响界巨头Mackie公司收购,成为该公司旗下为职业音乐制作人打造的一款主力软件产品。Tracktion绝对是编程界的经典传奇。除了必须与系统底层打交道、某些专利或驱动的接口之外,整个程序,没有使用任何第三方类库,所有功能与模块全部逐行打造,包括“标准库”、GUI与字体渲染等。此项目中的一大批类后来成为JUCE类库的基础与骨干,整个类库就此开始慢慢扩展并不断丰富完善,直至全球几乎所有最知名的数码音频公司均成为JUCE类库的客户,此外还有越来越多的院校及科研机构、软件公司、开发团队、职业程序员、编程爱好者等等不断加入JUCE大家庭。

JUCE是一个开源类库,遵循GPL协议(v2,v3及AGPLv3),可自由分发或传播,可免费用于任何开源项目。和大多数知名开源项目类似,众多JUCE用户在受惠的同时,也在不断贡献自己的敏锐、才智与建议,这种良好的反哺机制同样也使JUCE类库获益良多,更加健壮与完善。但与其他开源项目有所不同,Jules异常严谨和审慎,不允许任何人直接向库中提交代码。所有建议与BUG反馈,一律由他亲自审核、调试,确保无误才予入库。

2010年,JUCE类库荣获Jolt(库/框架)生产力大奖。该奖素有“软件界的奥斯卡”之称,它让人们看到,是谁在震撼着今天的世界。也可以说,一项技术产品只有在获得Jolt奖之后才能真正被行业认可,成为某种技术趋势与潮流的引领。

2014年,电子乐器与音频科技新锐ROLI公司在获得1280万美元的A轮融资后,为霸占未来音乐制作与音频科技界的话语权,于当年11月中旬果断收购了JUCE。同时,特聘Jules兼任开发部技术总监。尽管未来难以尽述,但毫无疑问,此次收购相当于给JUCE类库和全球所有使用该类库的C++程序员打了一针兴奋剂。乐观的分析(Jules本人也做了表态),下一步JUCE类库还会有稳健的变化及令人欣慰的扩展。下图是此次收购后,Jules(左)与ROLI创始人兼首席执行官Roland Lamb的合影(两位传奇般的“大神”,以及一款传奇般的产品。图片来源:ROLI官方宣传视频 。该视频高清无码,可到Youtube搜索观看)。

Jules-ROLI

就笔者(Running)多年使用该类库的经验来看,对项目负责人及一线程序员来说,当前版本的JUCE,最显著的特点有二:

一是整个类库采用了模块化构造。(一个模块可视为一个特定的应用域或一个特定的功能,由多个相关的类或类系构成。比如底层基础模块,加密模块,GUI模块,OpenGL模块,众多细分的音频模块,Box2D模块等等)。采用这种结构,用户(程序员)可自由决定是否使用某些模块,这样可大大提高调试和编译时的效率,减小最终生成的可执行文件的大小,更加精炼高效。

二是JUCE类库提供了一个工具:Introjucer。该程序相当于一个小型IDE,集项目生成、多平台项目管理、源代码文件管理、代码编辑、GUI设计、二进制资源转换与嵌入、UTF-8字符转换、在线升级类库、字符串本地化,直接调用当前平台下的IDE进行编译等等众多功能于一体,非常实用、易用和好用。正是该工具,使得理想中“一次编码,到处编译”的跨平台开发、移植与维护管理成为轻松愉悦的举手之劳,实在令人叹为观止,爱不释手。此外,如需更个性化的功能,还可以进行二次开发和修改补充(全部源代码已提供)。

注意,JUCE类库遵循GPL开源协议,如将JUCE用于闭源项目和商业项目,则必须购买授权。截至本文发布,授权费为:

  1. 399英镑,仅限一个项目中使用JUCE类库。老版本升级:199英镑。
  2. 699英镑,不限项目。老版本升级:349英镑。

以上价格不含税。并且,JUCE官方不提供任何形式的技术支持。但是,可到JUCE论坛发帖求助。基本上,Jules每帖必回,且跟踪关注。ROLI收购类库后,指派了两名新血论坛在线,协助Jules处理有关事务并参与讨论交流。

JUCE类库商业授权的合约及订购地址为:http://www.juce.com/buy