LeetCode专题 分而治之

我是怎么开发一个小型java在线学习网站的

callmelanmao 发布于 2016年01月27日
tinyfool 等1人欣赏。

一直想做一个自己的网站(非博客),但是又不知道做什么内容的好,又一次看到了w3schools,就萌发了开发一个在线java学习的网站, 最好可以像w3schools网站一样可以在线执行,想法是很好,就是要填的坑有点多。

技术选择

使用过wordpress和jekyll两个工具。wordpress是需要php的支持,由于没有php开发经验的,没有很强烈的使用意愿。

jekyll是使用ruby开发的静态博客生成系统,阅读完官网上的文档之后开始搭建环境,过程还是很顺利,但是在使用jekyll 提供的功能开发模板的时候感觉不是很顺手,又开始了漫无目的的搜索。

搜索“static website generator” 意外的发现了两个比jekyll更新更潮流的静态网站生成器,一个是hexo,一个是hugo。

hexo台湾人使用nodejs开发的,hugo是外国人使用go语言开发的,两者都很轻量级,由于最近买了一本《深入浅出node.js》 对nodejs比较熟, 就先试验hexo,发现确实很好用, hexo的插件系统很方便就能编写自己的插件,由于代码写的不是很成熟, 这里就不贴了。

hexo比jekyll是简单方便很多,但是从源码和文档两方面看都不算特别成熟的项目,加上开发者只有一个人,功能更新方面也很慢, 执行速度比jekyll是块了很多,用来生成博客基本是可以了,但是我的计划是网站最少也有几千页面,还是想找一个更快的工具, 而且heox运行不太稳定,会有些意料之外的错误(sorry,具体错误没有记录下来)。

hugo号称是速度最快的静态网站生成器,只能把希望寄托在hugo上面。 就开始了阅读hugo文档, 看过几页文档之后心想————这就是我要 找的东西。

hugo比jekyll安装方便,执行速度快,功能上略少点,但是稳定性,更新速度,文档丰富程度都算的上很优秀。 虽然出现时间差不多,但是hugo比hexo成熟很多,原因就是 hugo是一个大神开发的,而且是真正开源,不是只开放源代码。

怎么编辑java?

最简单的方式就是使用editarea,但是界面太丑陋了,又上网搜索,发现了一个叫aceeditor的在线代码编辑器,支持嵌入到任何网页, 支持多大几十种编程语言以及几十种语法高亮主题。 开源的东西也很强大啊,多探索总是会有意外的收获。

怎么执行java?

像js,css,html这种技术,在线编辑和展现都很简单,但是java在线执行就要复杂很多。 查找很多网站,只发现几个可以在线编译和执行java的网站,有一个ideone的网站提供api可以远程调用,传入源码,返回java 代码执行结果, 但是每一个月只有1000次的免费调用次数。目前用的就是ideone的api。

网站模板

几个关键问题解决之后,剩下的就是怎么组织和展现网站内容了, 网站样式的话由于不熟悉前端,就偷懒使用了laravel的文档页面的 样式。

网站内容这块,引文静态网站生成和动态网站一样支持模板, 只需要编写几个模板文件就大功告成。 参考了一下hugo官网提供的主题源码之后, 就会写了。现在考虑要不要放到github上面去。

最后贴下hugo生成的这个网站: java union

想学习hugo的同学可以参考我前几天发了一个hugo的安装教程, 参考 hugo - 最好用的静态网站生成器

共4条回复
tinyfool 回复于 2016年01月27日

不错,挺好看

为啥想做java的教学站?

另外为啥拘泥于静态内容?为什么加交互啥的应该会比较不方便啊

赵木木学code 回复于 2016年01月27日

小白一只,最近在学java,希望以后能到 java union学习知识哈。好运

callmelanmao 回复于 2016年01月27日

1楼 @tinyfool 主要是管理维护方面比较简单, 交互的话可以使用第三方评论的, 以后打算加上

梦中醒不过来 回复于 2016年01月28日

java有几个热部署框架,不过安全性是个问题,要建好沙盒靠个人有些难度,业内还有用虚拟机来处理的。

几个参考

https://playframework.com/

http://osgi.com.cn/

登录 或者 注册