【Go web开发之revel+mgo】第1章 述与环境

演示地址   http://gblog-revel.herokuapp.com/

1.自述

为什么是go,不是说好的android游戏开发的吗?恩,起初是这么做的,但是在做android的时候发现不能真机调试了,这很恶心,每一次的卸载,安装拔线插线的过程实在是受不了了,好吧,玩点其它的把,然后就选择了go,如果以后google把android的改成了用go开发,我也不用担心不是吗(虽然看起来还是比较遥远的事情)。那么为什么这次是blog了呢?你的创意呢?你的idea用完了吗?恩,也许吧,先做个简单的blog,等我再有什么创意的时候再做吧。Nodejs不玩了吗?暂时不玩而已,不过不得不说nodejs真的很不错,有很多不错的东西值得去学习,等等吧,哪天把它系统的看一看,再回来搞。android呢?目前不太清除啊,以后会不会继续要看心情。。。。(你妹的心情啊)。

2.环境与框架

go:1.2.1

revel:0.9.1

mgo:r2014.03.12

我们假设你已经安装并配置好了go(如果你还没有安装,请自己搜索一下,安装与配置的帖子太多了),这里说一下为什么选择revel(不管怎么说它看起来还是很young),当时,自己去搜索了一下go 的web框架,然后首先看到的就是这个,看着它的官方站挺简洁(这是选它的主要原因),然后就。。。。
为什么是mongo?本地就只有一个mongo数据库,所以。。。。
请保证你的GOPATH是存在的,其实这个路径就是来配置你的workspace位置,用来存放你的project的。我自己的GOPATH位置是:/home/jov/sapp/gopro(不管你是windows还是linux,环境的配置我希望不是问题)

revel的安装,这个是官方地址http://revel.github.io/,当初安装的时候也是比较曲折的revel中文社区的命令与官方的安装命令竟然不一样,很纠结差点放弃了。安装命令:

go get github.com/revel/cmd/revel 

当然官方还有运行它的demo的例子,这个自行研究,如果这个命令安装之后使用revel new MyTest发现还是不能使用revel,请不要放弃,再使用命令:

go build -o bin/revel github.com/revel/cmd/revel

这个是编译命令,他会在你的GOPATH目录的下面的bin目录里面生成有一个没有后缀的revel文件,把它添加到你的PATH中,比如我的PATH=$PATH:$GOPATH/bin,如果你是windows,那应该是%GOPATH%\bin。

mgo的安装(http://labix.org/mgo),命令:

go get labix.org/v2/mgo

这个是要有bzr命令的(在官方的Installing中有下面这句话:To install mgo, make sure you have the bzr command available and then run:注意bzr,这是一个链接,如果你没有安装点击进去安装)

开发工具用什么呢?这次没办法用eclipse,好把,用了下sublime.
如果以上环境都陪好了,我们差不多可以工作了。
开始~~~~~:

jov@jov:~$ revel new MyTest
~
~ revel! http://revel.github.io
~
Your application is ready:
   /home/jov/sapp/gopro/src/MyTest


You can run it with:
   revel run MyTest
jov@jov:~$ 
revel new MyTest是建了一个新的project,它会放在你在GOPATH中配置的路径的src目录下,我们来revel run MyTest看看

jov@jov:~$ revel run MyTest
~
~ revel! http://revel.github.io
~
INFO  2014/04/24 10:22:31 revel.go:320: Loaded module testrunner
INFO  2014/04/24 10:22:31 revel.go:320: Loaded module static
INFO  2014/04/24 10:22:31 run.go:57: Running MyTest (MyTest) in dev mode
INFO  2014/04/24 10:22:31 harness.go:165: Listening on :9000
恩,打开浏览器。localhost:9000看看:




nice,你成功了吗?


我们来看一下它的目录结构:




大的目录分为app、conf、messages、public、tests。其中:
app下面是我们的主要业务逻辑,又分为controllers、views、init.go和两个不能修改的routes、tmp文件夹。controllers相当于我们的action主要处理都放在这里面,views就是我们的html页面,里面的东西也是一目了然。init.go是一些初始化加载的东西。
conf下面的两个文件app.conf是配置文件,routes则是呢我们后面需要用到的路由配置文件。
messages主要是做国际化的,目前用不到。
public里面是一些资源,css,image,js等
tests则是我们的跑case的地方,博主比较懒,重来不写测试。


好了,这一章你应该知道revel怎么用了,也可一做一些简单的东西了。下一章开始我们的blog教程。

由于blog早就写完了,源码地址:https://github.com/joveth/GBlog
目前还没办法部署,直接看到效果,下面先给几张图片看看:






交流QQ: 158325682

阅读更多

更多精彩内容