(1)————————
前端里移动端到底比pc端多哪些知识,为啥面试时好多公司都问h5水平如何?我做过几年的web前端开发,就简单谈谈自己的感受吧。
首先来看看PC端和移动端在前端开发上的一些区别:
(1)PC考虑的是浏览器兼容性,移动端开发考虑的更多的是手机兼容性,因为目前不管是android手机还是ios手机,一般浏览器用的都是webkit内核,所以做移动端开发,更多考虑的应该是手机分辨率的适配,和不同操作系统的略微差异化;
(2)在部分事件的处理上,移动端自然是偏向于触屏的,所以触屏事件的一些规律要多摸索一下,另外包括移动端弹出的手机键盘该如何处理,这样的问题在PC上肯定不会遇到,但在移动端,如果你没有经验,处理起来是相当麻烦的;
(3)在布局上,移动端开发一般是要做到布局自适应的,在这里我推荐用rem的解决方案,具体实现可以百度一下,相对比较简单,处理起来也比较灵活;
(4)在动画处理上,PC端由于要考虑到IE的兼容性,通常用JS做动画的通用性会好一些,但相比CSS3却牺牲了较大的性能,而在手机端,如果要做一些动画、特效等,第一选择肯定是CSS3,既简单,效率又高。
区别就说到这里,也许还不完全,我也是想到哪就说到哪,下面来谈谈如果要做移动端的web开发,也就是题主说的h5开发,在已有PC端的web开发基础上,还需要再研究哪些技术:
(1)微信的一些接口最好都能去实现一遍,熟悉一下肯定有好处的,比如领导让你通过微信分享的文章,title、description、以及icon图标怎么配置,你说你不清楚,那就太水了;
(2)百度地图的一些API接口,有时间也去熟悉一下吧,对于移动端来讲,LBS还是一个非常重要的特性,所以地图这块肯定也是需要了解的,再加上百度地图已经是一个比较成熟的平台了,学起来也不费事儿的;
(3)CSS3的动画去熟悉一下,至少最基本的一些动画实现和算法要了解,在移动端应该也算用得比较多的;
(4)一般pc用jquery,移动端用zepto,这没什么好说的,在这里主要是想提醒大家,移动端的流量相对还是比较重要的,所以引入的资源或插件,能小则小,一个30k的资源和80k的资源,在移动端还是相差挺大的;
(5)最好能掌握一套完整的前端开发架构,比如模块化、打包、压缩、缓存、发布,有条件的还能做一下自动化测试等等,我用过的有fis,还不错,牛逼的朋友可以自己写一套,另外再多说一句,如果想快速提升自己的前端开发技术,钻研前端架构这块是一个非常好的方向。