JPress,一个wordpress的java代替版本,使用JFinal开发。支持类似wordpress的几乎所有功能,比如:模板,插件等。同时在模板上,JPress提出了“模板即模型”的概念,方便模板制作人灵活制作业务模型,移除了widget等繁杂功能,同时在模板和插件制作商比wordpress更加灵活简洁。
但是,JPress又不是wordpress的java版本,它天生融合了微信公众平台,独创的“模板即模型”概念是wordpress所不具备的,只有资深的wordpress玩家才能体会里面的微妙关系。同时后续会添加QQ公众平台,今日头条,一点资讯等新媒体的文章同步功能,更加本地和国产化。
JPress有以下诸多好处:
1、轻。轻到只有8张数据表,却能实现wordpress的几乎所有功能。依赖的jar包也极度轻,目前只有cos-26Dec2008.jar、druid-1.0.16.jar、ehcache-2.7.5.jar、fastjson-1.2.7.jar、freemarker-2.3.23.jar、javax.mail.jar、jfinal-2.2-bin-with-src.jar、jfinal-weixin-1.7-bin-with-src.jar、jsoup-1.8.3.jar、log4j-1.2.17.jar、mysql-connector-java-5.1.36.jar、slf4j-api-1.7.7.jar、slf4j-log4j12-1.7.7.jar、jetty-server-8.1.8.jar 这14个jar包,而且其中jetty-server-8.1.8.jar 不是必须的,只用于方便调试。
2、快。无论多么复杂的页面,JPress响应几乎在10毫秒内,同时JPress支持阿里云,七牛,又拍云等CDN作为加速,就算是香港的服务器,只能用“飞快”来形容。
3、灵活。JPress提出的“模板即模型”的概念,模板制作人可以用JPress来做博客,新闻系统,论坛,问答社区,商城…加上其灵活的插件功能,几乎可以用来做任何类型的网站。
4、国产。因为国产,所以更符合国人需求,JPress内置了 阿里大鱼 的短信发送功能,支持了QQ邮箱,163邮箱等作为邮件发送服务器,后续会增加微信模板消息发送通知用户等更加符合国人需求的功能。
在技术方面:
1、自豪的采用了JFinal作为核心。
2、使用freemarker和thymeleaf作为模板引擎。JPress的UI渲染速度已经和模板引擎无关。
3、使用了tinymce做可视化编辑器,使用simplemde做markdown编辑器。两者可以后台自由切换。
4、文件和图片上传的UI插件使用了fine-uploader。
5、在前端上,JPress使用了jquery,bootstrap,admin lte,font-awesome,x-editable,fastclick,toastr,tag-editor,pace,layer等。
6、在安全方面,尽管我个人做了非常多的努力,已经在XSS,CSRF,SQL注入,Cookie安全等方面做了很多的工作,但是还是需要更多的人来一起挖掘和完善,安全是一个永恒的话题,但是对于新手朋友来说,这些安全应该都是值得去学习和了解的,不是吗?
在功能方面:
1、支持自定义模型,自定义模型通过模板来定义,而不是后台功能。同时模型内容支持自定义类别,比如文章模型支持专题、分类、标签等类别。
2、支持多模板引擎,默认使用freemarker,模板制作者可以使用其他引擎比如thymeleaf来渲染,同时支持后台在线编辑模板(目前暂时只支持freemarker)。
3、支持多数据库类型,目前暂只支持mysql。
4、支持多编辑器,后台可视化编辑和markdown编辑自由切换。
5、支持插件化,几行代码就可以完成一个插件的开发,github上已经有插件的helloworld实例。
6、支持自定义URL,网站内容URL风格自定义。
7、API支持,方面APP或其他第三方调用数据。
8、国际化支持,目前还不完善。
9、极简的SEO功能,支持sitemap输出。
10、用户注册支持短信验证,目前暂时只支持阿里大鱼。
11、支持CDN设置,包括七牛,阿里云,又拍云等。
12、上传附件支持水印设置。
13、用户登录支持第三方登录,支持QQ、微信、微博、开源中国、github、Facebook、twitter、linkedin(目前只完成了部分)。
14、在微信方面:
a )支持微信菜单设置。
b )支持自动回复,添加关键字和回复内容。
c )支持默认回复,包括:用户关注时、进入多客服时、退出多客服时、发送图片时、发送语音时、发送视频时、发送位置时、发送连接时、用户扫描了带参数的二维码时、用户摇一摇时。
d )所有的自动回复或默认回复支持“高级回复功能”,比如回复一篇文章,回复一个网址…高级回复是由JPress内置开发的特殊回复,但完全可配置。
e )自动回复或默认回复支持插件回复,调用JPress插件完成回复。
f )支持文章搜索,回复关键字即可返回关键字匹配文章。
g )未来会支持文章同步或微信导入等实用功能。
最最重要的的是:
JPress使用了最宽松的LGPL开源协议,和国内的那些采用了私有协议的“开源”产品并不是一个级别的。