前端开发那点事儿

        嗨,今天我们来聊一聊前端开发的那点事儿。

        首先说,什么是前端?很久以前是没有前端这个概念的,那时候java、.Net、PHP很流行。各自也有各自的页面模版,java的jsp,.Net的组件库,php的Smarty 等等。他们都是把页面渲染逻辑与业务逻辑分离。那时候MVC。就这么干的。

        等到了XMLHttpRequest被W3C正式纳入标准才有了前端这个概念。

        为啥呢?因为能调接口了啊,可以异步了,最主要是浏览器支持了。之后的几年前端就百花齐放,各种你没见过的东西都出来了。当然,想把前端玩的炫。多去看看国外的资源。国内什么瀑布流各种视觉效果。追述根源都是国外写的。然后被国内大厂发现,他们有钱敢玩,拿过来优化一下子。就成了自己的了。小公司是不会花时间成本去挖掘先进的技术的,都是拿现成的人家已经做好的改。

        有很长一段时间JQ那叫一个火。写什么原生?$(‘’)随便点你想用的方法。基本上再low的前端,也能写出来看上去很好看的页面。你说性能?对不起,那时候人们不考虑性能,好看就行。当然也别太卡了,搞得把页面卡死了肯定是不行。你说多了1s、2s的,用户其实不知道,他只会认为网不好。

        人家后台有工程,后来前端也工程化了。因为啥?因为有了node。你可以在你的环境里搭建工程。有npm  可以集成你想要的资源,还有webpack打包器。

        后来mvc也满足不了开发了。搞出来什么MVVM ,衍生出各种vue、react、angular。招人也正式八经的职位叫前端开发工程师了。

        如今嘛,前端在国内市场机遇饱和。又为啥?

        是个人都以为前端简单呗,那些搞后台的,不屑于画个页面。这里我要郑重的鄙视下那些以为前端就是画个页面的人。

        所以什么是前端?

        前端如果你做了10多年你就知道,其实前端比任何一样语言都复杂。我没说难,说的是复杂。因为他需要你知识要多,见得要多。什么东西,你一看就知道怎么做的,跟你聊什么东西,你就知道什么原理,如果是你,你知道怎么做。这样才行。如果一个东西,你都没听过,没见过。那你咋做?

        JS这个东西,现在已经什么都能搞一搞了,一切皆JS。你说页面那不在话下,你说做个中间件node很擅长,你说就用node搞后台,完全可以。不要扯什么性能。中小企业能做的东西,实际都谈不上性能做的多好。就是满足客户需求、性能不够硬件来凑。但什么人扯性能,就是那些搞后台的。我问你一共就那几十条几百条数据,你跟我聊算法?我一个sort满足不了你了还?非要什么二叉树了,什么高级的排序是没有意义的,只会加重代码复杂度。请求一个数据返回10万条,你让前端优化什么?能把请求时间加长不至于超时中断就算已经优化了。至于拿到了数据前端怎么用,那确实有的聊了。当然,像地图、切片这种东西。比如页面分成12宫格,当前屏幕在哪就获取左上角和右下角之间的数据也算优化。诸多优化措施都是根据使用场景来搞的。中小型公司可能搞不出什么百万级千万级数据的。基本上就是做的东西用都不见得有人用或者用户量也就那样的。当然了,上个班而已,人让你做你就做,用不用的起来跟你也没关系。大公司,什么都好,但是你只是做安排你的那点事,你永远不知道这里面所有的事情。也会养成个错误的习惯,我不需要知道。我只知道每天分给我的1234个任务完成了就行。所以真有个项目20万给你,你说你就会个vue。你能接下来搞吗?你不行不代表别人不行。钱不就让更厉害的的人赚了去。

        前端很复杂,但也专注。有的公司专门研究canvas,有的搞音视频,有的有的还有的。总之做什么的都有。但是国内市场决定着,小企业你得先能活下去,先能发得起工资。所以呢CRUD的占很多,真正那种我就以技术主导的公司,我就下了本的找一帮人研究技术,靠研究成果赚钱,那都死的很惨。举个例子,让你做个抖音APP,你咋做?自己从0开始写源码?小企业就给你一周时间。你只能找第三方比如腾讯云音视频接口,看看人家推流拉流API,再融入到你业务里。短短的时间你也只能保证流程能走通,可见的bug你能修复。实际用起来,比人家真正的抖音那是差的老鼻子远了。你代码写的再好,第三方的bug你总是规避不了,谁让你用呢。

        那么CRUD就是很low的事情么?并不是。CRUD从前端的角度,你要是个初学者,那写的大概就跟面向过程的代码一样,写到哪是哪,丝毫没有可读性。实际真的要做好crud。你的前端架构一定要清晰。耦合或者不耦合看你的架构思路而定。这个东西很活。没有固定的套路。

        想起当年很多流行CMS这个东西,道理是一样的,每一个cms代码都不一样。都有它的道理,当初dedecms啊 后来的thinkPHP啊,人家的代码你看看会发现想法都很好。所以前端你应该也自己搞一套出来,比如我web也好小程序也好都有自己的core代码。当你玩明白js稍微高级点的东西,写写class,继承封装多态 都会用了。写起crud那就很简单了。主要时间就是跟后太较劲了,毕竟后端开发的人员,给你的接口有错了从来不承认,你得多个心眼把调用、传参、反参都给截屏记下来,和他对峙。不然有时候后台偷偷暗改了什么,也不跟前端说。哪天一测试,点了按钮各种没反应的,你当也蒙。心想当时做的时候好的啊。你看code200 我代码流程都对,当时也没说code还反401 502的。你这突然反个503,也没跟我说啊。你明白问题出在哪了,但是后端装糊涂。检查的人又不知道。那最后就是前端永远在背锅。

        但是你以为调个接口,知道跟后端合作的那些坑就叫会前端了吗? 错了,你还要掌握很多很多技能。如今的刚学会前端的小朋友。以为会个vue,会个react,就牛逼的不行。以为会了全部。实际上很多东西他都没见过。而且前后端分离有个很麻烦的事情,就是跟后台合作,容易被玩。很少有公司去做后端代码的压力测试各种测试。他们拿postman自己本地测测就说接口写好了。实际呢?可能接口都跨域了,你都调不成。然后你要不是很懂,他们就说跨域是前端的问题。一句话,你琢磨去吧,给你一辈子时间你也解决不了。什么proxy代理啊那些办法都不好使,为啥呢?后端人倒不至于不知道写那三行跨域代码,但他可能是token机制,拿不到你浏览器cookie就报错了之类的。最后浏览器的解释就是跨域了。反正后台说他没错,你有脾气么?

        我所说的话糙理不糙,实际工作中大家心里应该都有数。

        总之,前端的路很长,随着时间的推移很多新的东西都要学习。而且还要和后端人员斗智斗勇。因为很多bug难以界定到底谁的错。甚至说不是错,只是需要个界定。里面的事情还很多。但单说前端,后续我会分享一些总结出来的代码。直接拿去用就能上手做事情了。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值