『回复列表(11|隐藏机器人聊天)』
我也在一个物联网公司实习,以前的平台把layui,bootstrap,jQuery,echars什么乱七八糟的都揉在了一起。最近因为硬件换协议,原来的云平台不能用才考虑重构,还在考虑用react还是vue
Vue.js被称为“渐进式JavaScript框架”,它对掌握现有技术的开发者更友好,它也可以与传统HTML/JS页面完美结合。
React则完全不同,它几乎是一种全新的前端标记语言,要使用它需要对传统的“JS操纵HTML DOM”的思维方式进行重大转变。这个过程可能对已经熟悉现有前端技术的人而言非常痛苦。并且混用传统HTML/JS组件和React/JSX组件可能也不太容易,因为JSX组件不能直接通过操纵HTML DOM改变,所以最终,所有组件都得是React的。
这样看起来,React更适合没有任何旧代码的全新项目,并且需要一群愿意改变自身思维方式的前端工程师。当然,如果这个人从刚开始学前端就学的React,那就无所谓改变了。
说起来,前端的React和后端最近兴起的Rust语言非常类似。组件的“不可变性”是这两个项目的核心,而正是这“不可变性”,在给项目带来运行速度快Bug少等有利特点的情况下,给开发者带来了无尽的思维挑战。在开发Vue.js项目时,你想的更多的是“我要用哪种方法实现这个功能”,因为方法可能有无数种,只是哪种更好。而React开发则不同,你必须时刻思考“我怎么才能实现这个功能”,因为组件“不可变性”时刻限制着你实现功能的方式,你可能得花一些时间才能想到一种实现方式。不过还好的是,通常只要你想到了,这个实现的效率就不会太差。
此外,还需要指出的是,一个同时使用layui,bootstrap,jQuery,echars等的前端项目不一定就很差,因为这些东西属于完全不同的层次,它们组合在一起才拥有前端所需要的所有功能。
Layui:提供一个如何组织代码的规范。
bootstrap:提供丰富的预定义CSS样式(组件样式库)。
jQuery:操纵DOM对象实现内容更新;更方便的实现网络请求(XHR)。
echars:绘制图表。
这里面没有任何一个部分的功能和其他部分重复,因此“混用”一词并不合适,这只是一系列不同部分的“组合”,并且我认为这个组合是完全合适的。
@老虎会游泳,Layui你觉得他是类似amd、cmd的规范,但是我看起来并不是一规范,至少从使用角度来我就是把它当作ui框架来用的。
它自己也说自己是一个ui框架,但是我觉得他和bootstrap比完全是两个方向,它的所有ui样式都需要使用js来配合,只是它的按需引入写法像Requirejs。个人觉得他只是Requirejs 和bootstrap的结合,单纯使用角度来说是不错的。但是:
我说的混用是指项目使用的iframe来做的后台,主框架用的layui的样式,iframe内用的bootstrap,两边引入了不同的jq版本,操作dom时有时候的jq的写法,有时候是原生的写法,有时候使用get相互转化;至于XHR,有时候使用$.ajax,有时候自己写XMLHttpRequest对象。
有时候使用layui的表格时,要求有搜索功能,后台居然没有接口? 你知道我怎么实现的吗,我只有拿到用户的搜索条件,遍历每一个单元格来隐藏不需要的行。
echars和他们的确都不冲突,我只是随口说的,但是我觉得layui和bootstrap绝对是冲突的,layui他并不是规范,他只是一个ui框架。
这个混用在维护的角度来说的,如果你看过它的代码就会有相同的感觉了。
当然,公司重构不是因为难维护而重构的,而是因为硬件设备更新,原来的通信协议是自己定义,现在换成了modbus协议,解析过程要求云平台完成,这才需要重构。
至于vue和react的选择是因为,写小程序那边的人在学react,前端这边在学vue才考虑的,我们根本没有考虑老的代码,并且这是创业公司,大家技术都不高的,都是在学习的过程中。
tp3.2已经比较落后了,tp3.2以:易用、明了的MVC设计模式,在当时国内的php生态圈是佼佼者,新项目最好不要使用它了,但它也是个经典,曾经辉煌过。
tp5.x现代框架,也是本人使用最多的一个版本了,仍保持着tp3易用的初心,同时有着很多的新特性,企业级中小型项目的不二之选。
laravel,工程级框架,面向中上等级程序员,上手较难(很多人被难在了文档),laravel适合中大型项目,laravel的设计哲学:
学习laravel你可以重新认识PHP,laravel也可以与swoole完美结合,参见 https://packagist.org/packages/swooletw/laravel-swoole
如果你的项目属于千万级别高并发场景,建议选择 swoft
CentOS 9