支持 PC 访问类似于 TPLINK 等路由器的配置界面,需要查看数据、查看简单图表。 看了下貌似有很多方案, React 、 Vue 、 Angularjs , JQuery 等等,头大…… 只会基础的 Html 和 JavaScript ,哪个容易上手? 资源放在嵌入式设备里面,所以追求轻量化,最好能兼顾移动端的
1
wobuhuicode 2016-12-12 14:39:00 +08:00
刚毕业的时候做过路由器的控制界面,用 JQ + bootstrap 三天交货。图标用 chart.js 。不过那时候还没有什么鬼 react/vue 的东西。感觉如果新手的话, JQ 还是比较友好的,兼容性也说得过去
|
2
ZOwl 2016-12-12 14:42:36 +08:00
轻量化的还是选择 Vue 好一些,兼顾移动端,可以参考这个: http://getvum.com/
|
3
Miy4mori 2016-12-12 14:47:56 +08:00 via Android
java 写的多的话 ng2 好上手,看文档 vue 也很好上手, react 不想多说,坑多,当然,最快最简单的还是 jq ,毕竟不折腾
|
4
southwolf 2016-12-12 14:57:00 +08:00
直接套个 bootstrap 现成模板完事
|
5
Ahri 2016-12-12 15:21:18 +08:00
React 门槛高,不想入坑不推荐。你这种用传统的后端渲染就行了吧。
|
6
learnshare 2016-12-12 15:32:17 +08:00
有一点很重要,代码量一定要小,小,小。
我记得之前做路由器的时候,只有几百 K 的存储; 而且静态资源传输也会影响路由器性能吧。 另一个难题是路由器没有 HTTP API (自己定制开发就另说了),所以一般是后端程序直接驱动 Web 内容(连渲染模板都算不上)。 简单点,精简的 Bootstrap css + jqLite 如何? |
7
Shazoo 2016-12-12 16:17:32 +08:00
嵌入式设备其实无需太多在意前端框架的量级。
因为,即使使用 gohead 、 boa 之类的嵌入式 web server ,对前端来说,也几乎是透明。 只要控制好,不需要加载过多文件就好了。 举个例子,你页面里面有 1 个图片,一个很重的 jQuery ,对嵌入式设备来说,开销其实要比 10 个图片,一个轻量级的 vue 来的省。 另,欢迎来到 C++写 CGI 的世界~~~呵呵 |
8
q397064399 2016-12-12 16:56:30 +08:00
jquery 吧,发布后反正也没打算更新了,
而且用户更新路由器软件的机会很小,自动更新会导致断网等情况,客户肯定是不愿意看到的 |
9
q397064399 2016-12-12 16:57:06 +08:00
@Shazoo 一般都是 lua 吧,谁会脚本程序也脑残到用 C++ 不是作死么?
|
10
aleen42 2016-12-12 16:59:48 +08:00
都既然是嵌入式系统的 app , 你还引用框架= =。选型之前要考虑,你的嵌入式设备能消耗不?不然,就会得不偿失。
|
11
q397064399 2016-12-12 17:01:07 +08:00
@learnshare 现在一般是 8M flash 起步吧, 16M 也不贵,而且 容量越大 软件开发的成本越低,毕竟可以上 linux 了,开源一大抄
倒是一些存储空间不能看的路由器 用的 VxWorks 简直要吐血 |
12
q397064399 2016-12-12 17:01:35 +08:00
@aleen42 不消耗,渲染都是浏览器完成,路由器只负责数据跟文件
|
13
lalalakakaka 2016-12-12 17:08:33 +08:00
参考 openwrt 后台
用 bootstrap+jQ |
14
kohos 2016-12-12 17:09:15 +08:00
如果觉得 jQuery 文太大( 84K )可以换 Zepto ( 9.6K ),用法和 jQuery 一样
|
15
mingff258 OP @learnshare 我用 C++基于 http_parser 写了个简单的 HTTP Server ,用起来倒是够用
|
16
mingff258 OP @Shazoo 百度了下 CGI ,第一次听说这名词……确实是用 C++写了个 HTTP Server ,然后对外提供 json 格式的数据,方便客户端获取数据
|
17
mingff258 OP 看大家的回复,看来 bootstrap + jQuery 组合推荐较多,这下有重点了,哈哈
|
19
mingff258 OP @Ahri 后端渲染,也是第一次听说,原谅我前端知识的匮乏……我的情况应该是属于前端渲染,设备只存静态文件,浏览器请求文件后负责后续的任务。
|
21
mingff258 OP @q397064399 现在弄了块样板 128M nand flash , ARM+Linux ,但后续出于成本考虑可能会砍掉变小。空间不足的情况确实很头疼,之前有个要求把 16M falsh 弄成 8M ,然后各种砍砍砍,搞得要吐血。
|
22
learnshare 2016-12-13 10:53:14 +08:00
@mingff258 根据实际的存储空间要求, Bootstrap 和 jQuery 也可以做必要的精简
|
23
Shazoo 2016-12-13 11:47:01 +08:00
@q397064399 嵌入式设备使用 C/C++写 CGI 是很常见的。脑残这词可不对哈。举个例子,很多 CM3 、 CM4 的控制台都是 web service 。一般都是用 C/C++来实现 CGI 的。
@mingff258 个人经验推荐 boa ,这个写 cgi 会比较简单。量级也很轻。 gohead 也不错,可以试试。 线程安全很重要,小心些哈。 |
25
mingff258 OP @learnshare 好的,我先学下这两个框架
@Shazoo 看了下 BOA 好像好久没更新了,但简单轻量; gohead ,应该是 goAhead ,比较新,功能也比较全,也会大一点。当初怎么都没发现……刚开始的时候脑子一热,入了 libuv 的坑,然后想反正都入坑了,自己再干脆写个合适的 HTTP Server 算了,于是……已经遇到过线程死锁的问题了,还好解决了。目前还凑合,已经写了个配套的 Android APP 用着。但缺了 PC 上面的客户端,于是就想通过 Web APP 来实现,省去了安装过程,还有跨平台的优势。 @Ahri 发给浏览器的数据还是来自设备,只不过都是 json 纯数据,第一次请求静态文件后就不再包含 html 等界面代码 |
26
q397064399 2016-12-13 18:45:53 +08:00 via iPhone
@Shazoo sorry 用词不当了,
只是很多场景 像 openwrt 都是 lua 做 http 应用的 |
27
q397064399 2016-12-13 18:47:12 +08:00 via iPhone
@mingff258 如果是路由,建议直接从 op 改,不过 op 这么多年 确实不好改
|