Ruby 前阵子自己写的一个 Ruby Web 框架 Swee 玩玩,分享一下

XYoshiki · 2015年04月16日 · 最后由 kikyous 回复于 2015年04月16日 · 1607 次阅读

项目地址: https://github.com/yoshikizh/swee

  1. 底层接受 http 请求 基于 EventMachine 的 event loop
  2. 内部一些特性都是基于 event loop 如:服务器重启,以及代码 reload 等特性
  3. 处理请求并包装为 request 结构暂时使用的是 Thin 的 http_parser, 所以暂时依赖 thin
  4. 应用层轻量级包装 实现 route 和 controller 目前支持 rails 的一些特性
  5. 使用部分 rack 的 middlewaves 和 一些自己实现的 middlewaves,所以暂时还需要 rack 的依赖

使用方法:

gem install swee

用以下代码创建一个新项目 跟 rails 一样,创建完毕会自动创建好 初始 controller ,action,和 启动 server

swee new myproj

PS

对 model 层的实现想法较多,所以暂时没有 model 层,大家可以自己先用 AR 或者其他 第三方 modle

由于 SWEE 全部的处理,包括 接受请求 到 响应给浏览器 全部在 EM defer 中执行,所以并发应该比较好

后续准备把 thin 的依赖 和 rack 的依赖拿掉,完完全全变成自己的一套 web 框架,主要是 HTTP 解析自己实现一下,还有几个必备的 middlewaves 实现一下

最后

由于版本还比较初级,供大家学习研究

需要 登录 后方可回复, 如果你还没有账号请 注册新账号