简介

Sym 是一个用 Java 写的实时论坛,欢迎来体验

如果你需要搭建一个企业内网论坛,请使用 SymX

作者

Sym 的主要作者是 DanielVanessa,所有贡献者可以在这里看到。

初衷

Sym 的诞生是有如下几点原因:

  • 已有的用 Java 写的论坛很少也很丑,并且大多数已经不再维护
  • 我们想实现一种新的网络社区体验,独立博客+论坛互动

基本理念

实时交互

在浏览帖子时,传统论坛都是需要刷新页面来查看回帖的,而 Sym 则是基于 WebSocket 技术进行回帖推送,看帖时不需要刷新页面也可以看到其他人回帖。

互联

Sym 提供了 API 进行帖子、评论的同步(B3log 构思),目前 SoloTypechoZ-BlogPHPWordPress 均已经提供插件来进行内容同步,欢迎大家进行接入!

HTML5

Sym 使用了很多 HTML5 提供的技术特性,比如

  • 通过使用本地存储防止编辑帖子/评论时内容丢失
  • 使用了音频特性来进行帖子/评论音频录制、播放
  • 复制/粘贴上传图片
  • CSS3 动画

通过使用这些技术,Sym 可以让用户在分享、交流时更加便捷、舒服

功能图解

首页

帖子

个人设置

发布编辑

  • Markdown 编辑器,支持 GFM 语法
  • LaTeX 数学公式
  • 复制粘贴时自动转换为 Markdown
  • Chrome 下可以直接粘贴图片,其他浏览器支持拖拽
  • 除了使用文字,也可以在帖子内进行录音
  • 支持 Emoji
  • 使用本地存储保障数据在未提交时不丢

移动端

移动端使用单独的模版进行渲染,解决通过一套模版自适应不能达成的效果和体验。

安装

需求:Maven3+、MySQL5+、Jetty9+/Tomcat9+(理论上只要实现了 JSR356 规范的 Servlet 容器都可以)

  1. 下载源码
  2. 解压后修改 src/main/resources/local.properties 中的数据库配置,并创建数据库
  3. 可能需要修改 latke.properties 中的端口为容器端口
  4. 可能需要修改 init.properties 中的管理员账号
  5. 使用 mvn install 进行构建
  6. 部署到 Servlet 容器的 ROOT 下并启动容器,数据库表会在第一次启动时自动建立

注意:

  • 没有数据库建表 SQL 脚本,只需要手动建库,表会在第一次启动时自动生成
  • 只能部署到 ROOT 中,线上环境建议使用反向代理
  • Tomcat 用 9 以上版本,最好是使用最新版

商用授权

请看这里

思绪

在实现 B3log 构思的这几年:

  • 我们见证了 xAE(GAE/BAE/SAE/etc)的兴起与没落。2009 年选择了 GAE 作为服务器,并开始实现 Latke 框架来解决跨云平台,直到告别 GAE,不得不感叹技术更迭之快
  • 感受到了自造轮子的优缺点,并且可以肯定一点:对于一个想要长久的产品来说,自制技术框架优势远大于劣势
  • 一个好玩的产品或说是细节特性然并卵,需要做的是一个能够持续提供用户价值的产品/特性
  • 虽然直到目前 B3log 系产品用户不多,但我们已经初步证明了:Java 用来实现博客、论坛没有什么不好的
  • 使用开源软件,了解开源思想,融入开源

PS:欢迎加入开源技术 Q 群 13139268,让学习和分享成为一种习惯!

Java 实时论坛 - Sym 1.4.0 发布的更多相关文章

  1. Java 实时论坛 - Sym 1.3.0 发布

    简介 Sym 是一个用 Java 写的实时论坛,欢迎来体验! 初衷 Sym 的诞生是有如下几点原因: 我们想实现一种新的网络社区体验,独立博客+社区互动 大多数论坛用户体验不够现代化,想做一个和聊 Q ...

  2. Java 社区论坛 - Sym 1.5.0 发布

    简介 Sym 是一个用 Java 写的实时论坛,欢迎来 体验!(如果你需要搭建一个企业内网论坛,请使用 SymX) 非常详细的 Sym 功能点脑图 如果你在搭建或者二次开发时碰到问题,欢迎加 Q 群 ...

  3. Java 社区论坛 - Sym 1.6.0 发布

    简介 Sym 是一个用 Java 写的现代化的社区论坛,欢迎来体验!(如果你需要搭建一个企业内网论坛,请使用 SymX) 非常详细的 Sym 功能点脑图 Sym 的诞生是有如下几点原因: (正版) 好 ...

  4. Java 社区平台 - Sym 1.7.0 发布

    English | 中文 简介 Symphony([ˈsɪmfəni],n.交响乐)是一个现代化的社区平台,因为它: 实现了面向内容讨论的论坛 包含了面向用户分享.交友.游戏的社交网络 集成了聚合独立 ...

  5. Java 开源博客 Solo 1.4.0 发布 - 简化

    Solo 1.4.0 正式发布了!这个版本主要是简化了配置项,修复了一些缺陷并改进了很多细节体验,感谢一直以来关注和支持我们的朋友! 只需一个命令即可启动(不需要安装数据库.部署容器):也可以通过 w ...

  6. Java 开源博客 Solo 1.5.0 发布 - 新皮肤

    Solo 1.5.0 正式发布了!这个版本主要是加入了 一款新皮肤 next,感谢一直以来关注和支持我们的朋友! 只需一个命令即可启动(不需要安装数据库.部署容器):也可以通过 war 方式部署容器, ...

  7. 网页动物园2.0发布,经过几个月的努力,采用JAVA编写!

    网页动物园2.0发布,经过几个月的努力,采用JAVA编写! 网页动物园2.0 正式发布!游戏发布 游戏名称: 网页动物园插件 游戏来源: 原创插件 适用版本: Discuz! X1.5 - X3.5 ...

  8. 实时流式计算框架Storm 0.9.0发布通知(中文版)

    Storm0.9.0发布通知中文翻译版(2013/12/10 by 富士通邵贤军 有错误一定告诉我 shaoxianjun@hotmail.com^_^) 我们很高兴宣布Storm 0.9.0已经成功 ...

  9. 基于Java图片数据库Neo4j 3.0.0发布 全新的内部架构

    基于Java图片数据库Neo4j 3.0.0发布 全新的内部架构 Neo4j 3.0.0 正式发布,这是 Neo4j 3.0 系列的第一个版本.此版本对内部架构进行了全新的设计;提供给开发者更强大的生 ...

随机推荐

  1. 使用Chrome-headless模式下,截屏不全屏的问题

    在headless模式下,是没有打开浏览器窗口的,那么driver.maximize_window(),找不到目标也打不开. 我们可以换一种方式,去在无头模式下,指定浏览器的窗口大小运行即可. __o ...

  2. 关于nginx的一个错误操作记录

    今天在弄前后端同步的测试的时候,前端用Nginx代理访问后端接口,由于启动了多次nginx软件,没有将前几次启动的nginx进程关闭,导致在访问后端接口的request被挂起,过了半天也没有结果返回, ...

  3. mono for android 第三课--页面布局(转)

    对于C#程序员来说布局不是什么难事,可是对于我这个新手在mono for android 中布局还是有点小纠结的,不会没关系.慢慢学习.好吧我们开始简单的布局.在之前我们拖拽的控件都是自动的去布局,也 ...

  4. jquery mobile 动态加载标签时,无法正常展示样式

    原因 在chrome中审查元素,发现其增加了很多没有直接写在页面上的标签和样式.页面标签首先经过jquery.mobile-1.4.5.min.js的处理,添加了许多标签,然后再用css布局 解决方案 ...

  5. IO流(三)其他流与File类

    1:其他的流 1: DataOutputStream ;多了一些操作基本数据类型的功能 DataInputStream:读取文件. 用DataOutputStream流写进去的数据,就用DataInp ...

  6. 前端思想实现:面向UI编程_____前端框架设计开发

    引子,我去小说看多了,写博客竟然写引子了!!!不过,没引子不知道怎么写了.言归正传吧,前端这个职业,也就这几年刚刚火起来的职业,以前那个混乱的年代,前端要么是UI设计师代劳解决问题,要么就是后端程序员 ...

  7. linux和Android的Makefile和android.mk

    1. makefile 1.1 gcc的参数 -Wall: 是打开警告开关, -O:    代表默认优化,可选:-O0不优化,-O1低级优化,-O2中级优化,-O3高级优化,-Os代码空间优化. -g ...

  8. 网页title添加图标

    <link rel="shortcut icon" href="1.ico"> href="图片名字.ico"; 图片后缀名为: ...

  9. WinForm-SuspendLayout、ResumeLayout、PerformLayou——转载

    WinForm-SuspendLayout.ResumeLayout.PerformLayou——转载 https://www.cnblogs.com/si-shaohua/archive/2011/ ...

  10. github提交代码不用输入账号密码的解决方案

    1.在命令行输入命令: git config --global credential.helper store 这一步会在用户目录下的.gitconfig文件最后添加: [credential] he ...