1. XenForo 1.5.14 中文版——支持中文搜索!现已发布!查看详情
  2. Xenforo 爱好者讨论群:215909318 XenForo专区

新闻 Xiuno BBS 3.0 轻论坛程序正式版发布 下载

本帖由 漂亮的石头2015-09-24 发布。版面名称:软件资讯

  1. 漂亮的石头

    漂亮的石头 版主 管理成员

    注册:
    2012-02-10
    帖子:
    487,295
    赞:
    47
    前面的话:

    经过一个月对测试版本的修复,Xiuno BBS 3.0 终于迎来了它的正式版,今天是 9.1,我想起了 1985.9.1 那一天,我亲爱的父母送我上小学的第一天,我瘦小的身体,背着一个带子长长的黄色帆布书包,书包一直挎到右边的脚下,心情非常的激动,对未来充满了憧憬,感谢他们给予我生命和一切的开始。

    2006 年我荣幸的加入了 Discuz! 开发组,期间我学习到了很多产品和开发相关的知识,感谢戴总能不拘一格将我纳入其麾下,感谢 cnteacher 对我的谆谆教诲,还有团队成员童虎、侯宁、刘强、陈延峰、剑心对我帮助。我一直有个心愿,此生一定要报答 Discuz!,我热爱 BBS,热爱 Discuz!,热爱 PHP、JS。

    2008 年,我做完 UCenter 以后,决定离开开发组,自己创业。觉得外面世界那么大,想去看看。离开的时候我请大家吃了个饭,当时百感交集,感谢的话竟然一直没有机会说出口,其实我心里一直在不停地谢谢他们,因为,没有他们,我不会成长如此之快。后来,按照客观规律,我创业的公司,倒,闭,了。

    Xiuno 这个名字从我定下来到现在也已经有 6、7 年了,我一直想重新开发一款 BBS,因为 Discuz! 站长群体庞大,各种需求,压的开发组大部分时间在忙于功能,导致出现了一些性能问题。我的想法是不仅解决这些性能问题,还要重新定义 BBS 的功能需求,难道 BBS 就必须社区化吗?

    我想起了我人生中最快乐的一段时光,那就是泡在 freediscuz.net 跟来自网络的各路高人交流 discuz 的二次开发,我还记得那是 2003 年左右,下载到 Discuz! 2.0 版本,通宵看代码,钻研 discuz 精妙的 session 的处理,方便的模板机制,还有 cache 机制,给 dz 添加附件大小限制的功能插件,跟论坛上的高人请教,那种激情和喜悦就像网络游戏里打怪升级一样。于是我从开始就把 Xiuno 定义为面向开发者,我希望 Xiuno 能带给开发者喜悦,可能功能并不一定完善,不能完全满足运营,但是代码质量一定要过关,能方便的二次开发。

    时间一晃十多年过去了,互联网环境发生了巨大改变,以前只用管 IE6 能跑就行,现在以支持 IE67 为耻辱。各种类库层出不穷,国外类库固然写的比较光荣、正确,但是很多不适合中国国情,我决定重新造轮子。编辑器前前后后我写了 6 版,发出来的就有 2、3 版。XiunoPHP 的演化其实也经历了 5、6 次彻底的重构,从逐步演进到 OOP+AOP,然后回归到函数式。

    期间明白了很多道理,正如 PHP 的创始人所说:PHP 创造出来是为了解决问题,而不是为了工程化。我现在才深有体会,我对 Xiuno BBS 2.1 的工程化,java 化,OOP 化感到惭愧,我以为那是 Xiuno 最后的一个版本。

    离开 Discuz! 有点像落草为寇的感觉,我继续疯狂的学习,Linux C、Windows API、MFC、PE、WIN32 汇编我都过了一遍,当时为了验证我的 PE 结构的掌握情况,还写了一个名叫“网络创世纪(UO)”的游戏登录器,基于远程线程注射实现了游戏内部贴图变速,和反外部变速齿轮,当时在线人数达到了400多人,成为国内第一站,后来因为 DDOS 攻击导致机房受牵连,被机房拔线关站。

    比起恶心的 Windows 编程,Linux 下的编程要优雅和简单的多,Windows 下大部分时间需要使用 C++,Linux C 就足够了。Xiuno BBS 3 用 C 开发了类似 Sphinx 全文搜索的功能,在完善后会随后发出。

    后来 nodejs 兴起,号称能一统天下,前段后端可以共用类库,实在非常诱人,于是我开始了 nodejs 冒险之旅,古人都云: nodejs 不适合写复杂业务逻辑,我偏不信邪,跟团队一起拿 express + mongodb 构建了一个电商系统,事实证明,古人云的是对的。nodejs 让我对 js 有了更进一步的认识,对其回调深渊,和单线程模式深恶痛绝(虽然也能多线程,但是那样就失去了 nodejs 的简洁)。浏览器下的看起来的异步执行,并不是基于多线程实现,而是单线程+事件,比如 ajax, setTimeout, onload 等。而所谓的 promise 也并能彻底解决回调深渊问题。

    正如初恋难忘,离开 PHP 一段时间后,我还是决定回来,再看 PHP 是那么的简洁优美,它好不容易把 OS 底层的异步事件转化为了同步,让人类可以用正常思维去写代码,可总是有人愿意折腾,又返回异步,还敢号称先进。我就不吐槽 nodejs 了;它的 $ 天生就是 C++ 的模板,只是它就在那里,它什么也没说,自然到像呼吸一样。而 PHP7 性能上的巨大提升更是振奋了 PHPer 的士气,感谢鸟哥。

    “PHP 是最好的编程语言”已经成为一个语言宗教之战的导火索了,我赞同它,但是只给它加一个限定 ”在WEB 开发领域“。

    “Xiuno BBS 3 是?”留个大家自己判断吧。

    =====================================================================

    离最后一次更新已经 2 了,Xiuno BBS 终于迎来了它的新版,这是一个全新架构的版本,从底层到前端都是全新的。

    这个版本更加的精简,它只有 20 多个表,800k+,运行速度非常快,处理单次请求在 0.01 秒级别,在有 APC、XCache 的环境下可以跑到 0.00x 秒,对第三方类库依赖极少,仅仅前端依赖 jquery.js/zepto.js,作者认为它就像一辆纯手工打造的法拉利,动力强劲,没有一丝赘肉,方便部署和维护,是一个非常好的二次开发的基石。

    功能方面

    探索轻论坛在移动背景下的交互模式

    1. 赞。抛弃了传统论坛的,评分,精华,高亮等内容筛选功能,引入了“”的机制,帖子的好坏,用户组的升级、主题颜色等都与与“赞”紧密关联起来。

    2. 全新编写的编辑器支持:表格、增删行列、HTML5 客户端图片缩略,降低服务端 CPU 运算压力、支持 QQ 截图直接粘贴。

    3. 支持游客发帖、回帖、点赞。

    4. 支持自定义 URL,有利于 SEO,网址可以像这样:http://bbs.xiuno.com/xiuno-bbs-3-official-upgrade

    5. 支持 SMTP 邮件发送,邮件列表设置

    6. 支持 IP 限制:限制每日 IP 发帖数,发邮件数,上传附件数

    7. 手机版本

    8. 更多不一一列出

    PHP 框架:XiunoPHP 3.0
    抛弃了 OO,采用函数式封装,有利于 HHVM 编译 / opcode 缓存,提前与 PHP7 契合做好准备,并且倡导以下原则:

    1. 不要 include 变量

    2. 不要采用 eval(), 正则表达式 e 修饰符

    3. 不要采用 autoload

    4. 不要采用 $$var 多重变量

    5. 不要使用 PHP 高级特性 __call __set __get 等魔术方法

    6. 尽量采用函数封装功能,通过前缀区分模块。

    前端框架:XiunoUI

    无图片的 UI 库,兼容到 IE8,参考了 BootStrap,简化了 class 命名,砍掉了鸡肋的响应式布局,点击查看真相

    编辑器:XNEditor
    它基于 zepto.js,兼容 jquery.js,只有 82k,但是实现了标准浏览器下的编辑器常见功能:加粗、斜体、颜色、字体、字号、表格、图片上传、文件上传、客户端缩略、全屏,HTML 切换、上一步下一步等功能。

    因为他不用考虑IE678,所以可以实现的非常优美,短小。写过编辑器的同学应该知道,编辑器最大的一个坑就是 IE 的 Range 跟 w3c 定义的 Range 的巨大鸿沟。如果不考虑 IE,代码可以精简很多。

    开源地址:http://git.oschina.net/strwei/xiuno
    Xiuno BBS 3.0 轻论坛程序正式版发布下载地址
     
正在加载...