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

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

一直想做一个自己的网站(非博客),但是又不知道做什么内容的好,又一次看到了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生成的这个网站: 前端教程

想学习hugo的同学可以参考我前几天发了一个hugo的安装教程, 参考[hugo - 最好用的静态网站生成器](http://www.cnblogs.com/bymax/p/5135757.html)

你可能感兴趣的:(我是怎么开发一个小型java在线学习网站的)