什么是luci
Luci是 Lua ConfigurationInterface的简称,意在OpenWrt整个系统的配置集中化,是一个web框架。通俗点讲,就是一个web页面渲染器,我们可以通过lua语言编写luci规则代码,经过luci渲染后生成html页面,通过luci框架我们可以省去很多前端的逻辑处理,只需要按照模板定义即可,当然如果你想要不同风格的页面,需要对luci进行深度定制。
luci和openwrt的关系
openwrt是一个系统框架,支持集成各种第三方软件包,而luci是一个web框架,在openwrt中也是以插件的形式存在,openwrt可以不依赖luci运行,比如官方发布的版本默认不集成luci界面的,需要通过手动opkg安装,当然我们自己在编译时可以默认集成。
openwrt开源项目地址: https://github.com/openwrt
luci开源项目地址: https://github.com/openwrt/luci
luci版本
luci在最新的openwrt版本中已经做了大量修改,而很多第三方插件基本都是基于18.06以前的框架进行开发,包括一些路由器厂商,比如小米。
src-git luci https://git.openwrt.org/project/luci.git src-git luci https://git.openwrt.org/project/luci.git;openwrt-18.06
luci界面
以下为openwrt luci主界面,采用bootstrap样式

为什么学习luci
随着物联网的发展,openwrt已经成各大芯片厂商的标配,在提供sdk都开始采用openwrt系统,这就意味着招聘openwrt相关人才越来越多。luci做为openwrt官方的web框架,深入学习luci是很有必要的。 市面上很多路由器基于openwrt系统定制,并基于luci做了深度优化,小米的web页面都是基于luci框架进行开发。