专访Discuz!总监sup:Discuz! X2.5特点是平台化与拓展性

专访Discuz!总监sup:Discuz! X2.5特点是平台化与拓展性

“如同大家在电影里面看到的方舟所起到的作用一样,Discuz! X2.5的显著特性,就是全面优化它的平台性与承载性。”这是康盛新创Discuz! 技术总监、Discuz! X2.5的开发负责人李国德坐客本期访谈,描述Discuz! X2.5时对记者说的。

自从2009年12月31日,康盛新创CEO戴志康在新年贺词中,提出了UltraX与跨界产品的概念至今,X系列即将迎来它的第4个版本,它与往期版本有什么不同,能为开发者或站长带来何种价值,本期站长之家栏目访谈将为你揭晓。

 

李国德,Discuz!技术总监(站长之家配图)

嘉宾介绍:李国德,网名sup,Discuz!技术总监,主管Discuz! 产品的研发工作。从事PHP社区产品研发近十年,曾先后主导SupeSite、UCenter Home等产品的架构和功能研发工作,对社区产品有着多年的技术架构积累和实践运营经验。

Discuz!方舟轻便启航

站长之家:欢迎康盛公司Discuz!技术总监李国德先生作客站长之家的《站长访谈》节目,Discuz! 先后推出了Discuz! X跨界融合版、Discuz! X1.5经典版以及Discuz! X2卓越版,Discuz! X系列产品也将迎来她的第4个版本,为此我们站长非常关注,这个版本与以往X系列版本有哪些不同?

sup:关于Discuz! X2.5,如何形象的描述它呢?我们可以借用一个2012年大家最熟悉的词来形容:“方舟”。如同大家在电影里面看到的方舟所起到的作用一样,Discuz! X2.5的显著特性,就是全面优化它的平台性与承载性。Discuz! 研发团队,花费了大量的精力,致力于把新版的平台性和扩展性进行加强。我们认识到Discuz! 自身叠加再多功能,也无法满足不同站长日益增加的各类需求,产品需要有新的架构优化,来更好的承载各种功能。

站长之家:在访谈前期,我们也收集了一些站长需求与建议,有的站长担心Discuz! X2.5过于庞大而不适合中小站长,您怎么看待这个问题?

sup:Discuz! X系列每个版本的研发,都有专门的产品经理在负责收集、整理来自站长的反馈,每个版本有三、四百个新需求改进。倘若每个版本的需求都实现,那么Discuz! 就变成了功能的累加体,日益臃肿成为必然,而很多功能并不适合每个网站,所以站长的担心在情理之中。

我们也认识到了这个问题,Discuz!产品必须要调整,要建立一个可持续性发展的机制。

基于这种考虑,Discuz! X2.5版本决定以论坛为核心,把其它各项功能都进行模块化的改造,均设置有可供站长自由支配的开关,例如日志、相册、记录、导读、广播等功能。站长可以根据需求自主决定开启哪些功能,或者关闭所有功能只保留论坛。

Discuz! X2.5还接入新的应用中心,同时还有Discuz!实验室、Discuz! 云平台体系,来为站长提供更多的功能选择,这些功能也全部是可供站长自由开启或关闭的。在这样的一个全新的生态体系下,Discuz! X2.5所追求的是轻便、稳固与扎实,而不是庞大与臃肿,Discuz! X2.5只想在专注论坛的基础上,做好“平台”的角色。这也是Discuz! X系列版本今后的研发方向。

万行代码只为架构

 

Discuz X2.5 系统框架 (站长之家配图)

站长之家:你刚才提到Discuz! X2.5追求稳固与扎实,能否具体介绍下新版本在这方面的改进?

sup: Discuz!研发团队花费了大量的时间与精力投身于Discuz! X2.5架构的改造。整个研发团队大概花了3个月时间,改造了Discuz! X系列现有的系统架构,仅数据库操作相关的架构优化,就涉及317个程序文件的4525处代码片段修改,并新增DB类文件217个,改造涉及上万行代码。

如果用非技术性的语言来说,Discuz!研发团队所做的工作就是加固Discuz! X2.5方舟的船体,使之更加坚固;扩充Discuz! X2.5方舟的容量,使之容纳更多;扩展Discuz! X2.5方舟的甲板,使之承载更多。

站长之家:Discuz! X2.5为什么要在系统架构层面进行这么大幅的改动,具体目的是什么?

sup:从Discuz! X2.5起,数据读写层已经实现全面独立封装。新版支持以表为单位的分服务器部署;数据表全面支持内存级缓存启用,大幅度降低MySQL压力;对数据的输入进行了统一防注射处理,加强数据入库安全性。这些都是以往版本所从未实现过的。

从此之后,Discuz!的第三方插件可以完全通过接口(API)体系读写Discuz! 中的所有数据;通过API模式,插件不用关心数据表的改动和版本升级,我们都会力争让API做出后续兼容性;第三方插件,不需要额外的支持,也可以利用Discuz! 新架构体系下的缓存进制,大幅提升插件负载能力。

这就像Discuz! X2.5方舟加固、扩展后的甲板,可以承受各种各样的插件,包括日志、群组、广播等各种官方组件,Discuz! 实验室研发的各项新功能,Discuz!云平台的各项云服务,以及第三方开发者开发的插件、模板。不管Discuz! X2.5方舟的船体如何变化、升级,有稳固的甲板在,所有的插件都可以延续使用。

而且我们还在Discuz! X2.5方舟的甲板中增加了一些固有的性能和安全特性,比如缓存机制、输入参数安全检测机制等。这样不仅能保障各项新功能、新功能的安全性,还能大大提升插件开发者的工作效率。开发者在研发的时候,一些通用性的特性不需要重复实现,甲板与船体在数据沟通的时候已带有通用特性。

今后,Discuz! 研发团队只专注论坛,并铸就坚固的船体与扩展性良好的甲板,我们希望把各项功能交给更多的第三方开发者,让专业的团队去开发专业的插件,让天下没有埋没的才能;同时第三方团队的引入,也可以集合众人之力满足更多站长的需求。

集大家之成的Discuz!应用中心

站长之家:您刚才提到的面向第三方开发者模式,很像是国外的WordPress,能否对比下二者的异同?

sup:Discuz! X2.5内置了全新的应用中心,它很像是苹果的App Store,与国外的WordPress也有许多类似的地方,例如把功能模块化、插件化,站长自主决定要什么功能,点击即可安装、卸载与升级;目前应用中心里面已经有300多个插件、模板供站长选择。

与WordPress不同的是,Discuz! 应用中心针对的是站长群体与插件开发者群体,这两个群体有着自己鲜明的特色,与WordPress的博主与插件作者明显不同。站长们对于插件、模板的需求是非常多的,而且对插件的安全性要求很高,如果插件的安全性、兼容性不好,很可能导致论坛的白屏与瘫痪,损失非常大;因此不少站长为了安全与方便,甚至聘请专业开发人员来开发插件和模板,这样也带来了坏处:伴随Discuz! 版本的升级,要么不升级,要么再次开发插件与模板,造成重复劳动。

Discuz! 推出的应用中心很好的解决了论坛插件重复开发的问题。由于采用了新版的数据层封装机制,第三方开发者的插件可通过API机制来与论坛吞吐数据,不必再担心Discuz! 版本升级带来的各类兼容性问题。

对于第三方开发者来说,也不用再担心插件的推广问题,所有的Discuz! 后台里面内置了应用中心,一个好的插件有机会被数十万的站长所选择;而站长也可以方便的根据自己的需求到应用中心选择安装插件,不必再去论坛里苦心寻找插件;这是一个以Discuz! 为平台,连接数百万站长与第三方开发者的全新生态链。

站长之家:在应用中心有一款产品叫做“掌上论坛”,能否简单介绍一下?掌上论坛未来是否向站长开放?

sup:“掌上论坛”是一款跨平台的客户端产品。我们开发“掌上论坛”的初衷是帮助论坛网友更好的用移动设备来访问论坛,帮助网站适应移动互联网的发展趋势。

这里我能透露一点,网友通过“掌上论坛”访问论坛可以获得良好的体验,例如图文混排以及发帖回帖,“掌上论坛”还支持语音、拍照等发帖模式,让手机、平板电脑成为论坛的“发帖机”。

论坛以内容为核心

站长之家:与微博、兴趣社交这类模式的产品相比,论坛的粘性似乎要逊色一些。这除了运营者的能力以外,产品的创新也是必不可少的,Discuz! X2.5在这方面做了哪些改进?

sup:有人说微博兴起,而论坛走向没落。我不同意这个看法,微博和论坛是满足用户不同需求的两种产品形态。

微博具有轻便、移动化、单向关注、快速传播等产品特点,这些都是论坛要吸收的。比如说,现在用手机看论坛往往有许多不便;而微博就不同,可以说是为手机而生。我们一直在借鉴优秀产品的细节特点,像我们在论坛增加了像单向关注、广播、@他人、回帖与微博评论互通等功能。

当然,这些功能都是借鉴,不是完全照搬,比如广播。有用户质疑广播,说他不是微博。指责说为什么不单独搞个微博频道?这里要说明的,我们做广播的出发点,依然是以论坛为核心的,论坛的入口也只有一个,就是论坛。大量的事实证明,作为中小型的垂直网站,多个入口运营的模式,都是很难成功的,单独成立一个微博频道更是鲜有成功的。所以,广播应该是论坛的辅助。广播的元素应该还是论坛的元素,那就要回归到帖子上面。我们把广播作为论坛阅读的另外一个形式。

有用户习惯用户微博,那么,他可以在广播里面关注人;有用户习惯传统论坛,他可以像传统的习惯一样,在版块里浏览;不管用户在哪里,他们的互动和内容,都是统一的,就是帖子,从而让论坛的人气不会分流,入口唯一性。

微博固然有它的好处,但是论坛也有自己的最大优势,就是“内容性”、“垂直性”。在微博里面,要进行专业知识的沟通、资源的分享、问题的解答,都是很难开展的。微博的内容沉淀相对薄弱,过多的都关注于实时性和热点性。而分散在不同垂直领域的细分论坛,有着不可替代的精品内容。正是基于这些专业的内容,论坛成为人们上网不可分离的一部分。因此,做论坛,就是做有竞争力的内容,要有历史沉淀,其他往往都是急功近利,最后成为空谈。

站长之家:phpwind新版本的特色是将原来“用户中心”中的很多内容导航都打散到首页、帖子列表中,强化“用户中心”与社区原本的一体化。Discuz! X未来的走向会朝这个方向发展吗?

sup:不会。我们认为论坛改造的本质是“内容为王”,我们还是会围绕“内容”核心来满足用户上论坛的根本需求。改进什么,都要围绕这个去开展,否则,可能就是“花瓶”改造。所谓的花瓶功能,就是理论层面看上去很美丽,可实际上没多少价值,或者没多少站点用的起来的功能,属于脱离用户需求的功能,这方面我们也犯过错误。

Discuz! X2.5研发背后的故事

 

Discuz! 开发团队(站长之家配图)

站长之家:最后能否给我们分享下,在Discuz! X2.5版本的研发过程中,你们面临的最大困难是什么?

sup:Discuz! X2.5在研发初期改造系统架构的时候,连我们也犹豫了。我们花大量时间来做底层架构的改造工作,这样到底值不值得呢?

在这个互联网日益变化,一天变三变的时代,创新性、及时性,是很多站长对我们的期待。底层优化意味着我们就要有所取舍,我们要延长新版本的发布时间,要承受来自站长的责问。我们甚至考虑,是不是要分2个团队,一个团队潜心系统架构,一个团队专注新功能。但是后来经过大家的激烈讨论,考虑到产品扩展性的需要,以及两个版本下,未来站长升级、数据转换的等问题,我们选择了前者:投入大量时间做系统架构的改造。

这种改造,不是通过简单的弄个新皮肤,或者换个模板,就可以完成的。这是隐藏在产品背后的驱动力改造,如同为Discuz! X2.5方舟增加看不见的“核动力“。也就是说,我们的大量工作,对关注于产品展示层面的用户里说是感觉不到的;站长最容易感觉到版本升级的,应该是新模板的变化,功能的增加,而看不到底层架构的变化。

而实际上,底层架构非常重要,它就像是大树的根部一样,决定了大树的高度;或者跟汽车的底盘一般,决定汽车的车型;而对于Discuz! X2.5方舟来说,底层架构更是它的马达与动力设备。Discuz!研发团队修改了万行代码,只为一个更加坚固、一个扩展性、安全性、负载性更强的系统架构。

我们花费了三个月的时间,顶着巨大的压力,只希望把Discuz!的平台化加强,把扩展性加强,丰富Discuz!的第三方功能。Discuz! X系列的未来版本,都会把平台化的工作做足,去大力推广模块化理念,让站长的需求,通过不同的专业模块来实现。

Discuz! 一直是技术驱动型,我们认为问题要从本源去解决。模板与界面换个样子,功能一味拼凑,只是治标不治本。所以我们把时间花费在系统架构上,这是值得的。

站长之家:有站长预测说Discuz! X2.5正式版会在2012站长大会上发布,能否予以证实?

sup:可以证实。我们昨天已经升级官方论坛到Discuz! X2.5版本,近两天还将发布Discuz! X2.5 RC版。RC版本已经可以应用于正式场合,需要体验及使用的站长可以升级使用。

站长之家: 再次感谢sup作客站长之家人物专访。

发表评论

电子邮件地址不会被公开。 必填项已用*标注