`
gaojingsong
  • 浏览: 1182672 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
文章分类
社区版块
存档分类
最新评论

【微型Web框架(Ruby) Sinatra】

阅读更多

Sinatra:一个优雅地包装了Web开发的DSL


 

Sinatra程序的三个基本组成部分:

路由(route):

'/' 就是路由。路由可以是单一的路径,或者带有参数的路径(比如 /:name),甚至是正则表达式。对于Sinatra不知道的路由,Sinatra会返回404错误(作为App运行的时候),或者传递给下面的中间件(作为中间件运行的时候)。

 

方法(method):

get是方法。在Sinatra中,HTTP的四个方法GET/POST/PUT/DELETE都有相应的方法get/post/put/delete。

 

处理器(handler):

处理器就是最后的代码块,处理器的返回值就是Sinatra返回给客户端(主要是浏览器)的内容。返回值主要以字符串为主,也可以是包含状态码,消息头,消息体的数组。

 

 

Rack在Ruby的世界里面是一种构建服务端的最基本,但也是非常有意思的方式。 而且理解Rack也是理解Sinatra的基础,毕竟Sinatra是在Rack的基础上写出来的。 我们可以只用Rack搭建一个简单的后端程序。 直接上实例,代码保存到 config.ru ,然后在该文件夹下执行 rackup ,默认会在 http://localhost:9292 下显示。

 

 

构建一个Sinatra

Sinatra是一个基于Ruby的快速开发Web应用程序基于特定域(domain-specific)语言。在一些小项目中使用过它后,我决定一探究竟。

 

什么是Sinatra?

Sinatra的核心是Rack。 我写过一篇文章关于Rack,如果你对Rack的工作原理有些困惑,那篇文章值得一读。Sinatra构建在Rack之上:它在Rack之上提供了一个给力的DSL。

  • 大小: 105.2 KB
0
1
分享到:
评论

相关推荐

    .NET开源的微型Web框架Nancy.zip

    什么是Nancy呢?如果你学习过Ruby的话,就会知道Ruby中有个框架叫做Sinatra,Nancy就是Sinatra的.Net版本。如果你感觉微软的MVC过于笨重、过于繁琐,那么Nancy可能就是你苦苦寻找的东西。... 标签:web框架

    Ruby-Sinatra-SampleApp:Ruby + Sinatra + Sequel的示例应用程序

    **Sinatra** 是一个用Ruby编写的微型Web框架,它允许开发者以简洁的方式定义路由,从而快速搭建Web应用。Sinatra的核心概念是将HTTP请求映射到处理函数,这使得代码更加可读和易于维护。例如,你可以这样定义一个...

    cosmic-source-code-dev-site-blog-051119:通过微型框架Eucalypt和Bootstrap模板,使用Ruby和Sinatra为自己开发者siteblog-bootstrap source code

    这个项目利用了“Eucalypt”微型框架以及“Bootstrap”模板,以Ruby编程语言和Sinatra框架为基础进行构建。下面我们将深入探讨这些关键知识点。 **Ruby**: Ruby是一种面向对象的、动态类型的编程语言,以其简洁、...

    Ruby-ginatraGit仓库的一个Web前端

    这个项目被称为“ginatra”,很可能是因为它结合了“Gin”(一个流行的Ruby Web框架Gin gem)和“Sinatra”(另一个知名的Ruby微型框架)。在Git仓库中,它被作为一个Web前端来使用,这表明它可能提供了对Git仓库的...

    gimlet:受Martini和Sinatra启发,用Moonscript编写的OpenResty微型Web应用程序框架

    标题中的“gimlet”是一个基于Moonscript的微型Web应用程序框架,受到了Martini和Sinatra设计哲学的影响。在本文中,我们将深入探讨这个框架以及它所关联的技术领域。 首先,让我们了解一下“Martini”和“Sinatra...

    bloggable:使用Ruby,Sinatra和Redis的博客网站

    Sinatra是一个基于Ruby的微型Web框架,它允许开发者用简洁的代码定义路由,处理HTTP请求。在bloggable项目中,Sinatra作为核心框架,负责接收用户请求,如GET和POST,然后调用相应的Ruby方法来执行操作,如显示博客...

    sinatra-template-源码.rar

    Sinatra是一个轻量级的Ruby框架,用于构建Web应用程序。它以其简洁、直观的语法著称,使得开发者能够快速地搭建RESTful Web服务。在"sinatra-template-源码.rar"这个压缩包中,我们有机会深入理解Sinatra的工作原理...

    sample_sinatra:Ruby CLI 应用程序通过 Rspec 测试移植到 Sinatra

    2. **Sinatra**: Sinatra 是一个 Ruby 的微型 web 框架,它允许开发者使用简单的 DSL(领域特定语言)来定义路由和处理 HTTP 请求。 3. **CRUD**: 创建(Create)、读取(Read)、更新(Update)和删除(Delete)是...

    Ruby-DashingRailsRails框架的非常帅气的仪表板

    它使用Sinatra(一个微型Ruby web框架)作为基础,并提供了丰富的预定义小部件(widgets),如图表、计数器、列表等,帮助用户快速创建自定义的仪表板。Dashing支持WebSockets,可以实现实时更新,确保数据的即时性...

    ImBrewer:非常简单的社交啤酒应用程序,以 ruby​​ sinatra 为特色

    Ruby on Sinatra是Ruby编程语言的一个微型框架,用于快速、简洁地构建Web应用。Sinatra以其简洁的语法和模块化设计而闻名,开发者可以轻松地创建路由、处理HTTP请求,并返回响应。在ImBrewer中,Sinatra被用来搭建...

    PDF-JumpStartSinatraFreePdfBook-英文版.rar

    2. **Sinatra 框架**:Sinatra 是基于 Ruby 的一个微型 web 框架,它允许开发者使用简洁的 DSL (Domain Specific Language) 来定义路由和处理 HTTP 请求。Sinatra 非常适合创建 RESTful API 和小型 web 应用程序。 ...

    codeafterhours-ruby:下班后使用 Sinatra 制作的代码网站

    Sinatra,作为Ruby语言中的一个轻量级Web框架,以其简洁、高效的特性深受开发者喜爱。本文将详细介绍Sinatra框架以及如何运用它来创建一个功能完备的代码分享平台。 **Sinatra简介** Sinatra是基于Ruby的HTTP微型...

    sina.rarsina.rar

    Sinatra是Ruby语言的一个轻量级Web应用框架,它允许开发者快速地构建Web服务。因此,这个压缩包可能包含了一个使用Sinatra框架开发的项目,或者是一些关于Sinatra编程的教程、示例代码或笔记。 标签“sinatra”...

    fishbowl_api:Fishbowl Ionic 应用程序的 API 和服务器逻辑。 Ruby 通过 Sinatra

    1. **Ruby on Sinatra**:Sinatra 是一个基于 Ruby 的微型框架,用于快速开发 Web 应用程序。它简化了 HTTP 请求和响应处理,使得开发者能够更专注于业务逻辑。在 Fishbowl API 中,Sinatra 被用来定义路由、处理...

    what-to-do-today:使用此基于Sinatra的Web应用程序,用户可以创建一个帐户并轻松管理他们每天需要完成的任务

    Sinatra是一个基于Ruby的微型Web框架,它遵循模型-视图-控制器(MVC)设计模式,但比传统的Web框架更加简洁。在Sinatra中,你可以用一种声明式的方式定义路由,即通过将URL路径映射到处理方法。例如: ```ruby get ...

    sinatra_simple

    2. **Sinatra框架:** Sinatra是Ruby的一个微型web框架,它允许开发者以一种简洁的方式定义HTTP路由,将特定的URL映射到处理代码上。例如,`get '/' do`表示当访问根路径时执行的代码块。 3. **Gem管理:** 在Ruby...

    Tasker:Sinatra任务跟踪器应用程序

    Sinatra是Ruby语言中的一个微型Web框架,它允许开发者以声明式的方式定义路由,将HTTP请求映射到特定的处理代码。Sinatra基于Ruby的 Rack库,可以与各种服务器和中间件集成,如Puma、WEBrick等。其特点在于代码结构...

    goalgetta-sinatra-app

    2. **Sinatra 框架**: Sinatra 是一个基于 Ruby 的微型 web 框架,它允许开发者通过简单的DSL(领域特定语言)来定义路由、控制器和视图。例如,`get '/' do` 表示当用户访问网站根路径时执行的代码块。 3. **路由*...

    sinatra-skeleton:我自己的Sinatra骨架

    1. **Sinatra基础**:Sinatra是一个基于Ruby的微型Web框架,它允许开发者通过定义路由来处理HTTP请求。比如,`get '/hello'` 将处理GET请求到'/hello'的路径,而`post '/submit'`将处理POST请求到'/submit'的路径。 ...

    Ruby-Pliny帮助Ruby开发人员编写和维护优秀的APIs

    它基于Sinatra,一个微型的Web应用框架,但增加了更多的结构和功能,特别适合于构建RESTful服务。 Pliny的主要特点包括: 1. **中间件支持**:Pliny允许开发者使用和编写中间件来处理请求和响应。中间件可以用来...

Global site tag (gtag.js) - Google Analytics