‘壹’ 前端和后端的区别,哪个好学一点
前端和后端是从开发者角度来说的,前端就是用户可见部分的优化、交互功能开发,随着软件WEB化,Html5前端开发技术的发展,前端的技术方向越来越多,可开发解决的功能很多。
web前端有广阔的发展空间,app、小程序、移动端、pc端等都是需要前端技术的开发支持才能够完成,技术门槛相对较低、需求量较大,薪资待遇良好。只要是互联网端的客户界面,就需要前端来制作完成,前端开发的编程量不大,但是需要部分编程,入门简单,但是要学的深入需要一个过程。
Web前端招聘岗位
• 前端开发工程师、Web开发工程师、网页开发工程师、HTML开发工程师...
• H5开发工程师、移动应用开发工程师、App开发工程师、小程序开发工程师...
• JS开发工程师、Vue.js开发工程师、Node.js开发工程师、前端架构师...
• 小游戏开发工程师、数据可视化开发工程师、WebGL开发工程师、WebVR开 发工程师、Web安全工程师...
在互联网行业,前端有WEB前端、HTML前端等,随着互联网技术发展,就业方向也有很多。web前端的就业方向有web架构师、web前端工程师、HTML前端开发工程师、网页设计师等等。
HTML前端开发
与Web前端开发不同的是,使用HTML5不仅仅可以开发前端,还有网页游戏,手机APP,使用浏览器进行3D渲染等一系列建立在HTML5标准与搭载其标准浏览器上的开发,而未来可能会有更多的功能分支并入HTML5标准。web前端工程师
这个方向是目前从事Web前端开发的主要就业方向
Web架构师
薪资普遍比较高,技术要求高,掌握多种技能,包括:后端技术、DBA、Platform等等,甚至包括网站优化SEO技术。
数据方向
数据研发这个是在Web开发的基础上用数据附能,懂可视化的一定是有前端能力的,懂hadoop的一定java要熟悉,属于Web开发的拓展方向。
大前端方向
比如阿里,在大量实践rn和weex;由于公司内部安卓/ios式微,一定程度上,前端把ios和安卓收编了,统称大前端。
图形学方向
前端自然是与图形学有千丝万缕的联系,除了上面提到了可视化,还有相关3d引擎的开发工作。做这一行要求也非常高了,图形学相关的算法,3d引擎的开发,这都需要图形学相关知识。
‘贰’ 前端大屏幕项目(数据可视化)的一点思考
想必近几年前端的数据可视化越来越重要了,很多甲方爸爸都喜欢那种炫酷的大屏幕设计,类似如下这种:
遇到的这样的项目,二话不说,echarts或者antv,再搭配各种mvvm框架(react,vue),找二次封装过的组件,然后开始埋头开始写了,写着写着你会发现,如何适配不同屏幕呢?css媒体查询吧,用vw吧,哪个好点呢。其实写到最后,我觉得都不好
对于这种拿不定主意的情况呢,最好还是参考大厂的做法,于是去找了网易有数,网络suger等,他们是如何写这样的页面的
提供2个他们的案例链接:
网络
网易有数
仔细观察他们都采用了css3的缩放 transform: scale(X) 属性,看到这是不是有种豁然开朗的感觉
于是我们只要监听浏览器的窗口大小,然后控制变化的比例就好了
以React的写法为例
监听window的 resize 事件最好加个节流函数 debounce
然后一个简单的组件就封装好了
只要把页面放在这个组件中,就能实现跟大厂们类似的效果。这种方式下不管屏幕有多大,分辨率有多高,只要屏幕的比例跟你定的比例一致,都能呈现出完美效果。而且开发过程中,样式的单位也可以直接用px,省去了转换的烦恼~~~
注:图表插件bizcharts在css缩放下会有鼠标移入时像素偏移的bug,由于是基于antv的,这主要是antv的bug,我写这篇文章的时候官方还未修复这个bug,echarts没有这个bug。
最后附上npm链接: https://www.npmjs.com/package/react-scale-box
‘叁’ 前端开发会一点后端有什么好
有时候可以自己在postman里面跑接口,反正技多不压身
‘肆’ 前端有哪些方面的工作
Web前端开发所涉及的内容主要包括W3C标准中的结构、行为和表现,那么这三项中我们需要掌握的核心技能是什么呢?1.开发语言HTML发展历史有二十多年,历经多次版本更新,HTML5和CSS3的出现又是一次革新。有些人认为前端开发要掌握的技能简单,不就是制作网页嘛,其实不然,web前端需要掌握的核心语言xHTML+CSS+JavaScript,JavaScript作为最难的语言之一,许多编程高手也不敢妄自菲薄自封精通。由于JavaScript与html的差异性,以及静动态分开处理的一些好处。在大公司编写静态效果和动态效果往往是分开由不同的人完成的。小公司因为需要压缩成本,就要求每个人会的越多越好,如果您想往项目经理发展,能懂一两门后台语言,绝对是锦上添花!2.浏览器兼容性互联网目前主流浏览器有IE6\7\8\9,Firefox,Chrome,Opera,Safari,遨游,包括国内主流的搜狗,腾讯TT,360,theWorld等等;从内核上讲主要有IE的,遨游版IE,safari,firefox以及opera的,这些都是大家常见的,如果你身边有老网虫喜欢收藏浏览器,你翻翻他的硬盘,相信几十款肯定是有的。每种内核对代码的解析是不完全一样的,即使同样内核也可能存在很大差异,如IE和遨游版的IE。不说非主流的浏览器,就主流的浏览器要做到完全兼容,也并非易事,需要长时间的积累和测试,需要前端开发工程师对前端开发的热爱和激情。目前移动互联网的发展趋势也不容小觑,将慢慢占据互联网的主要份额。移动互联网最突出的好处是方便和及时,试想一下,走在某地风景很好,拍下来后自动分享给各路好友,因此手机上的浏览器兼容也看刻不容缓,现在手机上的浏览器也是纷繁复杂,主流的UCWEB,safari,IE,3G门户的,以及symbian低端机的“残缺儿童”,包括国外流行手机我们不知道的一些浏览器,更糟糕的是这些浏览器解析因为手机硬件的不同,每个浏览器得到的结果都是完全不同的。3.hack技术由于不同的浏览器对CSS的解析认识不一样,因此会导致生成的页面效果不一样,这个时候就需要针对不同的浏览器写不同的CSS,这个过程叫CSShack。虽然我们写代码都要求按照标准,不写hack代码,但实际工作中为了兼容主流浏览器,hack代码是免不了的,所以这也应该是每个前端开发人员必备的技能。4.业内标准目前Web前端开发中提到最多的就是W3C标准,这是一系列标准的集合,代表了互联网发展的方向,也代表了前端开发的一种信仰。写的代码都要100%通过标准验证,为通过标准验证而感到自豪,会有效推动互联网的快速发展。5.开发工具目前比较流行的是Dreamweaver,其曾经风靡一时,到现在也没有退出历史舞台,证明DW还是有很大优势的,尤其是针对初学者,其强大的提示功能可以帮助我们很快的熟悉并掌握网页布局,但现在更提倡的是纯手写代码,既体现技能方面的卓越,也可有效避免使用DW等工具产生的冗余代码。此外再掌握一些photoshop技能,即使没有美工,也能简单处理一些图像。小结,掌握以上技能,可以说你是一个合格的前端开发人员,能够参与到一个大的项目中,或者自己独立写出一个网页。虽然这看起来和网页制作设计差不多,从效果上来看,都是制作网页的,但实际上,技术上所超出的已经是好几个档次的东西了。
‘伍’ 关于前端节流的一点思考
节流,主要目的是减少一段时间内单个客户端对后端请求的次数,降低单个客户端的QPS,减轻服务器压力,为什么叫节流呢,感觉还是比较形象的,比如输入框输入,需要远程搜索的时候,不希望每输入一个字母都触发一次搜索,这时候就需要在输入期间每隔一定时间发一次请求,这就是节流。
节流可以放在触发的地方,也可以统一放在请求的地方,一般来说,有下面几种做法。
那么,这几种做法有什么区别呢?我们就用输入搜索作为例子来看一下
A:隔一段时间发一次请求,服务器正常响应,结果返回正常更新页面。
B:一直发请求,但是前面的请求会被取消掉,当然,这个服务器如果没有支持取消请求的话,依然是会响应的,只不过客户端取消请求的话,是收不到返回的,也不会相应做页面更新,只会相应最后一次请求更新页面。所以其实这里是假性的节流的。
C:一直发请求,但是会取消掉中间的请求,隔一段响应一次,和B一样,如果服务端不支持取消,则还是会响应。
但是如果要服务端支持取消网络请求,取消请求的请求也可能有延迟,所以不如用websocket,一个普普通通的get请求,何必用到websocket呢。
综上,A最符合节流的目的,B是用户体验最好的,但是只是假节流,所以如果服务器没压力,可以用这种方式,C也是假节流,而且用户体验还差。