2015年国产LUA WEB框架一览

1.3k 词

2015年国产LUA WEB框架一览

国内框架

  • Vanilla
  • LOR
  • SingeLUA
  • 国外框架:

  • Lapis
  • Gin

    概况

    现在是2016年的开始, 这次想说说LUA国内外的WEB框架,国内开发者的开发框架。据平时的观察,国内做LUA的WEB框架的目前知道的有3到4个,有3个已经开源,有一个至少在一个月后可能开源。

    先说已经开源的3个框架: Vanilla、LOR、SingleLUA。国内框Vanilla、LOR、SingleLUA至少这三框架代码在Github上都要以找到。从框架完成度上来看, 三者完成应最高的是Vanilla,LOR有些是借Vanilla的风格,例如目录结构。

    简单说一下,3个框架的渊源。(Gin,Vanilla,LOR)Vanilla是一款向国外的框架致敬的作品, 从代码和设计上借鉴了国外的Gin框架, 而LOR借鉴了Vanilla,作者本身也在Vanilla的社区里。从基因的延续的关系来看,三者之间的关系是:爷爷(Gin)->父亲(Vanilla)->孙子(LOR)的关系。

    SingleLUA,没太看出和以上说的三个框架有什么太大的联系,但是他们有一个共同点,框架的目录结构类似,延续了PHP框架目录结构特点。Vanilla,SingleLUA框架的作者本身就是PHP程序员。

    国外框架Lapis

    平时本人用的比较多的LUA WEB框架是国外的Lapis,Lapis框架本身的和以上所说的框架有着明显的区别,在写这篇文章的同时, Lapis的作者已经更新Lapis的路由式样,有了新的路由网格。Lapis框架的使用体验上,更接近于Python、Ruby风格,而不同于PHP的风格,Lapis的路由很像Python的Flask。有意思的是,Lapis的作者,也写PHP,做出的框架风格,没有像国产框架那样,延续PHP框架网格的特点。

    有人反应Lapis的框架的Lua代很乱,其是也确实挺乱的,为什么呢?Lapis的作者本身也MoonScript的作者,MoonScript语言与CoffeScript有着类似的思想,CoffeScript用来翻译成JavaScript, Moonscript会翻译成LUA,MoonScript写的代码更短,更简洁。Lapis框架不是直接用LUA写的,而是用MoonScript编写,然后翻译成LUA后,被Openresty使用的,所有翻译后的LUA代码看着很乱,如果直接在Github上看Moonscript代码其实不太乱。

    Openresty

    性能?本文说的所有的框架都是基于春哥的Openresty,所有说性能的基础都是基于Openresty之上的。从WEB框架的考量,基本的就是三个方面:路由、模板,ORM。

    其它的因素有:文档完善、REST API、WEB安全性CRSF、加密、SESSSION、Cookie等。

    资源

    1.Vanilla 2.LOR 3.SingleLUA 4.Lapis 5.Gin

    作者:糖果

    PS:转载到其它平台请注明作者姓名及原文链接,请勿用于商业用途。