移动前端开发和 Web 前端开发的区别是什么
移动前端开发和web前端开发都属于前端开发,具体有以下区别。
1、业务的应用场景
web前端开发主要指传统的PC端网页开发,页面主要是运行在PC端浏览器中,移动前端开发出来的页面主要是运行在手机上。
直观上会感觉,PC端页面大一些,移动端页面小一些,但是根据开发经验,页面大可并不代表书写的代码复杂,页面小也并不意味着开发简单,难与易主要还是取决于具体的业务需求。
2、新技术的使用
由于在移动端主要以webkit内核为主,对于HTML5等新技术支持的更好,所以可以更大范围的使用新技术,而PC端开发由于很多场景下要求兼容IE等老版本浏览器,出于浏览器兼容性的考虑,有些情况下限制了新技术的使用。
3、页面的适配性
传统PC端的页面开发一般都会选择给页面设定一个固定宽度,两侧有留白,但是移动端的页面由于其载体手机屏幕比PC要小很多,一般都会选择尽可能多的在手机屏幕上显示内容,这就要求移动端页面要能够充分适应各种屏幕尺寸的手机并进行最大程度的利用。
从这一点上来说移动端页面的适配难度更高一些。
4、页面的性能
PC端的网络情况一般比较稳定,都是通过网线或者Wi-Fi连接网络,但是移动端就比较复杂,除了Wi-Fi,还有2G、3G、4G甚至是在几种不同的网络连接中交替切换也经常发生。
不稳定的网络连接对页面性能带来的挑战是移动端的页面资源不能太大,否则在恶劣网络情况下时,页面将会无法访问 ,严重影响用户体验。
5、框架选型
由于移动端网络情况的不稳定,导致我们在移动端页面框架选型时,一般只考虑小而美的框架,例如像zepto.js这样的压缩之后只有9.6K,就能满足一般业务的需要,如果是想要构建更复杂的单页面应用,可以选择像vue.js这样的框架,功能强大,但体积压缩后却只有20多K。
而web端相对选择的范围就比较大,一些比较重型的框架也可以根据项目需求加以考虑,例如古老但庞大的ext.js,依然凭借着众多UI组件活跃在一些企业的后台管理系统项目中。
移动前端开发和 Web 前端开发的区别是:
1、前端是相对比较大的概念,一般是指用户能够看到、直接接触的界面都算是前端,比如iOS界面,安卓界面,网页界面,PC/Mac桌面软件的界面。最常见的是Web前端,也就是针对于网页端开发的工作。
2、Web App即Web application,也就是以浏览器作为客户端的软件。例如,用桌面客户端来收发邮件,但也可以直接用浏览器登陆gmail或者QQ邮箱,直接使用网页版的软件来使用。总之就是使用网页版代替本地软件。
Mobile Web App就是在手机端打开的Web App。例如Gmail的移动端软件
3、目前,移动客户端的开发主要包括三种类型:
Native App(原生APP):也就是完全使用移动设备系统语言写的客户端。iOS系统就是使用Objective-C语言来编写本地应用,也可以使用苹果于2014年苹果开发者大会上发布的SWIFT语言;Android平台就是使用Java语言来开发。原生APP就是从界面到交互都是使用官方标准语言来编写,效率和稳定性都是最好的,但欠缺灵活性。
Web App:这个就是在移动浏览器里打开的,使用Web前端开发语言HTML CSS JavaScript来开发的,基本上就是个网页,
Hybrid App:主要使用HTML5实现。一般使用Native语言实现一个容器,然后使用HTML CSS JS来实现用户界面和交互。这样方式既克服了Web App容器暴露偏底层的接口这样的问题,同时比起原生的开发灵活性要高。这样就更新可以更方便快捷,也不依赖于市场。例如,豌豆荚其实是个PC端的hybrid app 。
对于以上三种开发方式的比较和分析搜索引擎里面有太多的内容了,这里也就不再赘述了。
4、移动端网页布局方法与pc的差异。
主要是css方面,外加如何做到同一url,不同客户端展现不一致的做法,俗称pc和mobile都兼容。还有会说一下rem的相关用法和一段比较经典的rem.js
最后总结一下:
其实这两者最显著的区别就是,web app是不依赖于具体的设备的,通用性较强,只要手机或PC有相应内核的浏览器就基本OK。而mobile的app则依赖于具体的设备,一旦更换设备,需要重新下载才能继续使用。
移动前端开发 主要来说的是Native Client的开发Android为Java,iOS为Objective-C,然后么HTML5应用号称跨平台其实差异很大。
Web前端开发么基本上就是HTML JavaScript CSS,不过有些人把Servelt/JSP, PHP,Ruby,Python,C#之类的只要关系到页面的也叫做Web前端开发。
app是应用,每个操作系统有专门的开发工具和语言
web是网页,使用html+css+js,有工具可以生成转化为app,不过效果一般
标签:前端开发,Web,移动