起航学习网

- 让每个人都能学到最前沿新知识、新技能!
起航学习网
当前位置: 起航学习网 > 短期培训 > 编程语言 > Revel教程好学吗

Revel教程好学吗

时间:2019-01-22 14:56:26来源:编程网 作者:IT培训网 已有: 名学员访问该课程

  快捷搜索:Revel教程

前言:Revel 从Rails 和 Play! 中吸收了许多成熟的设计思想, 许多相同的思想被用到了框架的设计和接口中。Revel 通过简单的约定来支持 MVC 设计模式,轻量、开发效率高。

Revel教程好学吗,当今社会学习一技之长,对于稳胜职场来说至关重要,那么学习Revel怎么样呢,Revel教程难吗,怎么样才能精通Revel教程呢?来看看吧,Revel教程让你从零基础学起,轻松无忧掌握新技能!

Revel 概念

Revel 从Rails 和 Play! 中吸收了许多成熟的设计思想, 许多相同的思想被用到了框架的设计和接口中。

Revel 通过简单的约定来支持 MVC 设计模式,轻量、开发效率高。

MVC

模型 描述基本的数据对象,特定的查询和更新逻辑。

视图 一些模板,用于将数据呈现给用户。

控制器 执行用户的请求,准备用户所需的数据,并指定模板进行渲染。

一些不错的MVC结构概述,像 Play! 框架 与Revel框架完全匹配。

多端阅读《Revel教程》:

手册简介:

Revel教程

手册说明:

Go语言Web框架Revel介绍

Revel是一个Go语言的web框架,其具有热编译,高性能,无状态,模块化等特性,非常适合做web开发。这个框架源于java的 Play! Framework.清晰的MVC结构,是现在go语言Web框架中优秀的框架。

Revel框架特性

热编译

编辑, 保存, 和 刷新时,Revel自动编译代码和模板,如果代码编译错误,会给出一个 错误提示,同时捕捉 运行期错误。

全栈功能

Revel 支持: 路由, 参数解析, 验证, session/flash, 模板, 缓存, 计划任务, 测试, 国际化 等功能。

高性能

Revel 基于 Go HTTP server 构建。 这是techempower发布的 最新评测结果 。在各种不同的场景下进行了多达三到十次的请求负载测试。

框架设计

同步

Go HTTP server 对于每个请求都运行在 goroutine上。Write simple callback-free code without guilt。

无状态

Revel 提供了保持Web层无状态的可预知的扩展。例如,会话数据被存储在用户的cookie中,缓存由memcached集群提供支持。

模块化

Revel框架由被称为 过滤器 的中间件组成,它实现了几乎所有的请求处理功能。 开发者可以自由地使用自定义的过滤器,比如如自定义的路由器,用以替换Revel默认的路由过滤器。

快速开始

1、安装revel之前,先安装go环境

2、安装还需要hg和git支持

3、设置GOPATH,然后把revel下载并安装到GOPATH内

mkdir ~/gocode ​
cd $GOPATH ​
​go get github.com/robfig/revel 

4.编译revel命令行工具,revel自己封装了go的命令行工具,创建revel项目、打包发布基本都用这个工具,执行下面的命令

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

5.可以将编译出来的revel命令行工具加到$PATH变量中方便调用

export PATH="$PATH:$GOPATH/bin"

6.最后验证revel是否可以工作了

$ revel help
~
~ revel! http://robfig.github.com/revel
~
usage: revel command [arguments]
The commands are:
    run         run a Revel application
    new         create a skeleton Revel application
    clean       clean a Revel application's temp files
    package     package a Revel application (e.g. for deployment)
Use "revel help [command]" for more information. 

概要说明

本节简要介绍框架的几个主要组成部分:

路由

采用简单的声明性语法。反向路由类型安全。

控制器

组织端点到控制器。提供易用的数据绑定和表单验证。

模板

使用 Go 模板支持大规模应用.

拦截器

在一个函数运行之前或之后被调用. 控制器的方法都可以被注册拦截.

过滤器

通用的功能可以使用过滤器来实现.Revel路由

路由采用声明性语法. 所有的路由都定义在一个routes文件中。 使用简单的语法匹配路由, 并从 URI 中提取参数到控制器中. 下面是带注释的示例:

# conf/routes
# 这个文件定义了所有的路由 (优先级按照先后顺序)
GET    /login                Application.Login       # 匹配一个简单的路由
GET    /hotels/              Hotels.Index            # 匹配一个带或者不带斜线的路由
GET    /hotels/:id           Hotels.Show             # 绑定到一个控制器参数
WS     /hotels/:id/feed      Hotels.Feed             # WebSockets
POST   /hotels/:id/:action   Hotels.:action          # 自由绑定到一个控制器的多个方法
GET    /public/*filepath     Static.Serve("public")  # 静态文件服务
*      /:controller/:action  :controller.:action     # 自动捕捉所有动作,自动生成路由

反向路由以类型安全的方式生成. 例如下面的Save程序:

// 展示信息.
func (c Hotels) Show(id int) revel.Result {
 hotel := HotelById(id)
 return c.Render(hotel)
}
// 保存信息,并重定向到Hotels.Show.
func (c Hotels) Save(hotel Hotel) revel.Result {
 // validate and save hotel
 return c.Redirect(routes.Hotels.Show(hotel.Id))
}

文章出自:http://qh.itpxw.cn/peixun/software/201946531.html

文章标题:Revel教程好学吗



免责声明:本站文章均由入驻起航学习网的会员所发或者网络转载,所述观点仅代表作者本人,不代表起航学习网立场。如有侵权或者其他问题,请联系举报,必删。侵权投诉

你也许会喜欢如下的文章?
(责任编辑:IT培训网)
顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
培训学校
IT培训网 访问该机构站点 报名留言 加为好友 用户等级:注册会员 用户级别:10 机构名称:IT培训网 联 系 人:罗老师 联系电话:13783581536 联系手机:13783581536 在线客服:起航学习网客服 在 线 QQ:起航学习网客服 电子邮件: 网站域名:http://www.itpxw.cn 注册时间:2016-07-18 11:07 最后登录:2024-02-20 13:02
推荐内容