• 码农的转型之路-这款轮子可以造吗?



    从昨天发表的《码农的转型之路-多年以来的反思》收到了不少猿友的评论和关注,还有几个加了wx,给了很多正面的反馈。趁着热度还在:) 也有很多人不知道这个人要干嘛,索性今天正式介绍一下,但名字还没有想好,她应该是一款浏览器工具。

    一、什么应用场景?
    1.C/S开发

    大概是7年前当时公司接了一个区域品牌羊肉追溯项目,其核心是通过RFID的卡标识人(养殖户)、货(羊)、场(屠宰场)以防止洗澡羊冒充品牌羊,应用价值就不多说了。技术点包含RFID读写器控制、轨道秤的重量数据采集、信号灯控制、屠宰场温湿度采集、打印溯源标签以及摄像头直播和录像等功能。
    我做为项目的技术经理,一堆硬件数据采集和控制,按照当时主流做法是采用WPF/Winform做为上位机的控制终端,架构师都做了基础的技术研究,最后我提议考虑引入B/S和C/S混合架构,从易用性、扩展性、维护性等几个维度分析两种方式的优劣势。
    考虑到会C/S的人员有少(更别说熟悉了),扩展性差(更新升级不方便,工控环境鼠标键盘都没有,将大部分业务界面使用web开发,刷新就是最新版)、C/S开发的界面比较low(也不是不做出来,做出来的成本比较高),所以最终采用WPF+CEF Chromium来做C/S底盒,用控制台Web Api来控制硬件设备。这样一来只需要1个人做硬件对接再开放一个http接口,1个前端人员就可以完成核心功能开发。

    2.大屏展示系统
    大屏展示系统有2个问题:

    第一、静态资源加载多、加载慢,现在ZF项目喜欢高大上的界面,传统的2D地图看腻了。为了解决领导们的喜好,很多都使用3D地图+倾斜摄影做模型展示,视觉效果确实杠杠的,但是好看意味着资源文件大,往往加载这些资源都要卡成狗。
    所以使用本地微服务加载资源,可以大大提高效应速度。
    第二、界面全屏、开机启动功能,大屏系统大部分也是一个web界面,都是用浏览器展示,如果可以看到浏览器就显得太low了,所以必须全屏展示,电脑基本也是专用功能需要开机就自动打开系统。
    所以这个工具可以完美解决这两个问题,其实其他项目也有类似的问题,主打一个DIY版本的浏览器。

    3.工业互联网项目
    与我遇到的羊肉追溯项目类似,核心的设备都是按照在屠宰场内部,屠宰场就是一个简易版的工业生产环境,都是基于上位机控制下位机,比如称重采集、RFID、信号灯、打印机等串口开发。

    二、功能清单
    1.支持加载远程服务器html,可以使用Java、.NET、PHP或者其他动态网页技术。支持加载本地Html、js、css开发UI,同时支持vue 混合模式,也就是可以开发单机版Windows App。
    2.支持Get、Post等Web接口,可以通过web请求控制物联网设备相关的接口。
    3.支持工控常规的关机、界面全屏、开机自启等操作。
    4.支持调起开发者调试工具,方便界面调试。
    5.支持Flash播放,也就是支持视频播放和直播等功能。
    6.支持多种电子秤协议,支持实时推送串口数据,并且可以扩展新的品牌型号。
    7.支持多种RFID设备协议,并且可以添加的品牌型号。
    8.支持打印插件,可自定义打印模板。
    9.支持调用执行任意代码或插件,实现桌面定制功能开发。
    10.支持语音播放和语音识别模块。
    11.支持html转pdf。
    12.支持图片文字识别,基于OneNote实现。
    13.支持窗口截图,实现抓屏或抓拍直播画面。

    三、写作最后
    如果单纯的有这些功能,也仅仅是一个轮子而已,稍微花点时间就可以复制一套。那么有什么特殊或装b的亮点吗?我想说跟xx一样挤一挤还是有的,总结了2个:

    一个是功能多,尤其是RFID的厂家和型号至少支持5款以上,基本上大部分都支持了,电子秤已经支持耀华、托利多、顶尖等常用的品牌型号。

    另外一个是扩展性,系统封装了通用的基类,只要继承实现编译dll或exe放到插件区域就可以自动加载,比如支持一个新的称重仪表,具体可以看一下称重驱动二次开发教程

     

    通过上面的介绍不知道有没有表达清楚,这个轮子是给程序猿打辅助的,所以为了避免自我YY,现面向各位客户(程序猿、老板、架构师),通过此文做个小调研,这个轮子是您需要的吗?您愿意花多少银子呢?还有其他想说的评论区见:)

     

     

     

  • 相关阅读:
    2022年第四届计算机视觉与模式识别国际会议(CCVPR 2022)
    未来装备探索:数字孪生装备
    基于RuoYi-Flowable-Plus的若依ruoyi-nbcio支持自定义业务表单流程的集成方法与步骤(一)
    elk下载地址
    使用QT实现http里面的get和post
    PyTorch实例:简单线性回归的训练和反向传播解析
    机器学习(20)---神经网络详解
    JAVA 学习笔记 2年经验
    什么是构造函数?(JavaScript)
    ant design vue 的getPopupContainer
  • 原文地址:https://www.cnblogs.com/yizhuqing/p/17927816.html