移动前端开发和 Web 前端开发的区别是什么? - 新闻资讯 - 云南小程序开发|云南软件开发|云南网站建设-昆明葵宇信息科技有限公司

159-8711-8523

云南网建设/小程序开发/软件开发

知识

不管是网站,软件还是小程序,都要直接或间接能为您产生价值,我们在追求其视觉表现的同时,更侧重于功能的便捷,营销的便利,运营的高效,让网站成为营销工具,让软件能切实提升企业内部管理水平和效率。优秀的程序为后期升级提供便捷的支持!

您当前位置>首页 » 新闻资讯 » 网站建设 >

移动前端开发和 Web 前端开发的区别是什么?

发表时间:2015-3-8

发布人:葵宇科技

浏览次数:24

转自知乎 业内人士的各种回答~~看帖子就是学习不断~~


程慕,乌拉拉乌!

王功贺、王晓勇、叶帆 等人赞同 前端是个很大的概念,我的理解是用户能够看到,直接接触到的层面都算是前端,比如IOS客户端界面,安卓客户端界面,网页界面,甚至PC/MAC 桌面端软件界面;现在最常见的说法一般是指Web前端,也就是针对于网页端开发的工作。

也有个说法就是前端就是大前端嘛,如果你的工作真的那么赞的话,那就包括了web啦安卓啦ios啦甚至pc mac客户端的界面啦。但我觉得现在一般大家都还是有专攻的。

Web App指的是【 Web application】,也就是以浏览器作为客户端的软件。比如你要写文档,一般会打开Office 2012之类的本地软件;但是你也可以选择在浏览器里输入一个网址,比如我很喜欢 StackEdit — *smart* markdown editor ,然后直接在里面写东西直接发布到gist上; 再比如用桌面客户端来收发邮件,但你也可以直接用浏览器登陆gmail亦或者QQ邮箱,直接把这个当客户端用。总之就是使用网页版代替本地软件。

Mobile Web App 当然就是指在手机端打开的Web App啦。我推荐看看Gmail的移动版。


感觉楼主问的问题还挺模糊的,所以我大概照我的理解依次解释下:
移动客户端的开发类型(因为我是个前端所以我是站在前端立场上来说的哈),主要是三种:

Native App(原生APP),也就是完全使用移动设备系统语言写的客户端,iPhone iPad就是纯Object-C,安卓就是纯JAVA, 就是用户看到的界面啦体验到的交互啦都是原生的。这是性能最棒的开发方式,但灵活性就没下面的好。

Web App, 这个就是在移动浏览器里打开的,纯HTML+CSS+JS,说白了就是个网页,只不过非常的富应用,比如手机浏览器访问的GMAIL啥啥的。但说白了就是在浏览器里打开的页面。。IOS支持可以在桌面创建访问的快捷方式,但是说到底还是打开Safari跑。。而且对设备硬件的接口什么的挺薄弱。

Hybrid App.[ HTML5 in mobile devices] 我觉得这个更为合适一些。实际上是使用原生写了一个容器,然后使用HTML+CSS+JS来实现用户界面和交互。Web App的短处便可以克服(因为自己写的容器可以辅助暴露偏底层的接口,比如本地存储或者麦克风控制之类),同时比起纯原生的java或者object-c开发灵活性要高(更新可以更快更迅速,也不依赖于市场,因为说白了,就是自己下载更新网页资源。。)实际上这种方式已经不限于移动端。。豌豆荚其实是个pc端的hybrid app 哇~~~ 而且说实在的,桌面开发的性能就现在来说要比移动好很多。。

以上三种开发方式的比较和分析谷歌里面一搜一大堆我就不废话啦哈。我记得2011年的Google io上就有一场talk是android native和web app等开发方式的大PK。。看俩工程师吵还是很有意思的。我顺手找着了 [ youtube.com/watch? ]



题主似乎是想学移动方向的前端开发?那是针对哪个方向的捏?个人觉得其实如果还是html+CSS+js的话核心都是一样的,只不过移动端可能在页面建构时有些关于尺寸方面(物理像素css像素设备独立像素这一堆)的细节需要注意下,包括图片处理之类的,这些可以参见苹果和安卓的官方文档,虽然是针对原生开发者的,但很多地方前端是完全该知道的;此外js方面可能就是注意性能方面的问题,我觉得就眼下的情形来说国内要做依赖于html css js又要非常富应用和高性能的移动端可能不太现实。。。而且我觉得移动端开发就目前现状而言。。拼的完全是痛苦的设备测试和调试。。


然后我跑题感慨下。。。这种遍地都是坑的节奏。。。在我刚开始高兴哈哈不用兼容IE了的时候,我发现webkit和安卓碎片化的坑才是最大头的。。。



---------
知乎说我的内容不符合社区规范?!why? 编辑于 2014-01-09 7 条评论 感谢 分享 收藏 ? 没有帮助 ? 举报

季楠,三流的前端开发者,二流的音乐爱好者,好…

陈大卫 赞同 平台不同,所以用户体验的设计上也会不同, 触屏的交互方式和鼠标有很多不同 。比如相对手机来说,屏幕比较下,而手指相对有比较大,所以要把可进行操作的按钮做的大一些;再比如触屏还包括多手指的操作,等等。 发布于 2012-05-31 添加评论

车三七,前端转产品 chesanqi.com

王功贺、林瞎、厘米2014 等人赞同 移动前端开发可分为:

1、手机网页开发。这部分跟web前端开发差别不大,使用的技术都是html+css+js。区别为手机浏览器是webkit的天下,pc端是IE的天下。手机网页可以理解成pc网页的缩小版加一些触摸特性。因为是在浏览器中进行的网页开发,所有最终代码具有跨系统平台的特性。

2、app前端开发。使用的技术也是html+css+js,但它需要基于PhoneGap等开发平台调用手机核心功能接口(包括地理定位,加速器,联系人,声音和振动等)模拟native app,这部分跟web前端开发完全不同。最终代码发布要分别编译成各系统平台的app。 编辑于 2012-05-31 6 条评论

Leon,内心的强大才能战胜一切人生的不如意!

郑三、谭小谭、舍远 等人赞同 可以分成两部分理解
1.服务器端开发,也叫后台开发,这是唯一的,对应不同的平台,他负责数据的分发与存储,和一些逻辑的处理.逻辑处理的多少由业务的复杂程度决定。服务端相对独立,与平台没啥关系.

2..1中不同的平台指web平台、移动设备平台等,移动设备又可分为andriod平台、iPhone平台等
每个平台都有自己的规范和开发技术。web平台的规范是键盘+鼠标,开发技术是html+css+javascript;移动设备平台的规范是键盘+手指(触摸和手势),技术iphone是Objective-C,android是java。

业界很少有说移动web前端开发的,都是移动web开发.而web app特指的是用html5技术开发,之所以叫web app是因为他比较接近客户端应用程序的用户体验,可以和系统深度融合,调用一些只有客户端才能调用的功能(比如在移动设备上利用html5开发出的网页可以访问电话、摄像头等本地功能).
通常你看到的一些文章中会提到web app 和native app,这里的web app指的是mobile web app,而移动web和web开发没本质的区别,但需要不同的开发框架,以解决在移动设备上的适配问题和一些特殊的操作以及功能调用。

最后总结一下,web开发利用的是基于浏览器的网页语言技术,native app开发利用的是基于操作系统的程序语言技术,web app介于两者之间.当然现在比较流行混合型app,这个可以多百度一下. 编辑于 2012-07-12 1 条评论

张铮铮,不攻城的前端攻城尸

雷泽尔曼 赞同 1,操作兼容性和各移动版浏览器的兼容性
2.各种不同的尺寸,包括宽高比(横屏竖屏)
3.触摸或手机键盘的操作
----------------
app是应用,每个操作系统有专门的开发工具和语言
web是网页,使用html+css+js,有工具可以生成转化为app,不过效果一般 发布于 2012-05-31 添加评论

刘杨,小白程序员

何某某、garfield、知乎用户 等人赞同 移动前端开发 主要来说的是Native Client的开发Android为Java,iOS为Objective-C,然后么HTML5应用号称跨平台其实差异很大。
Web前端开发么基本上就是HTML JavaScript CSS,不过有些人把Servelt/JSP, PHP,Ruby,Python,C#之类的只要关系到页面的也叫做Web前端开发。 发布于 2012-05-31 4 条评论

沈金根,web 前端 .

陈大卫、何某某 赞同 大体应该是类似的吧!移动前端使用新技术 Html5+Css3+JavaScript 发布于 2012-05-31 2 条评论

waynelu,mt.tencent.com webapp

知乎用户 赞同 总体上应该一样,技术体系都差不多。不过pc需要兼容的浏览器更多些,mobile下andorid,ios都是基于webkit,所以相对好些。不过android下也是一堆坑,另外现在各种第三方浏览器也越来越多。。。 发布于 2014-06-26 添加评论

王炜,前端痞子

一个基于webview的开发 一个是基于浏览器的开发 发布于 2014-08-01 添加评论

张少南,前端开发

前端开发在pc和mobile通常使用js CSS html,但两者不同。技术上可以尝试css3和h5,使用情景也不相同,移动端禁止页面跳转,移动端还可以包括ios等。其实两者差别很大,主要是行为吧 发布于 2014-11-30 添加评论

耿彪,我很幸运,活在了移动互联网的时代

陈大卫、知乎用户、匿名用户 等人赞同 1.比如说具体的应用在不同地方的形态。
一款计算器:
web app: 其实就是在网页上的应用。这个很广泛,只不过大家平时都不这么叫而已,你在 网页上使用一款计算器都可以称作web app。
mobile web app:额,就是能在手机浏览器中打开使用的计算器,只不过根据手机的屏幕,调整了 自己的按键大小,布局等等。
mobile app: 你在应用商店下载了一个计算器。
2.比如说如何用代码编写:
web前端:

基本上就是html+css+javascript。至于html5,css3什么的就是具体到你应该用什么规则的代码去写了。这个如果楼主想要入门学习的话,推荐 w3school 在线教程(中文)。
mobile web 前端:
其实还是那套东西,但是加入了一个叫做响应式设计的东西。而且据我了解,这个概念还要从html 5标准的普及说起,说通俗点就是屏幕多大的时候布局,字体是什么样的。网上有很多前端模板都提供了这个功能。比如比较火的 Bootstrap中文网(中文)深层次点,比如通过html5的API调用手机的硬件等。
mobile 前端:
这个目前还分两大阵营,一个是Android,一个是iOS。而且就我的了解,web前端有专门的岗位叫前端攻城师,但是很少听说过只写mobile前端的移动工程师,至少我至今没有听到过。
Android:
静态的话就是xml,动态的话就是android的layout那堆东西。
developer.android.com/g(可能需要翻墙)
比较简单的layout,比如:
Linear Layout(可能需要翻墙)
FrameLayout | Android Developers(可能需要翻墙),想学习的话可以参考下。
还有一些动画效果。
developer.android.com/g l(可能需要翻墙)
当然,提到Android的UI,不得不提的是那坑爹的适配。只能说,学习Android UI需谨慎。
iOS:
UIKit那套东西,其实现在感觉如果不是太复杂,.xib直接拖界面也还可以。 UIKit Framework Reference 。storyboard就算了,不是太推荐。简单的页面还可以,想试也可以试试。反正我用的不是很舒服。当然还有一些动画效果。 Graphics and Animation
3.比如说其他区别:
其实最显著的区别就是,web app是不依赖于具体的设备的,通用性较强,只要手机或PC有相应内核的浏览器就基本OK。而mobile的app则依赖于具体的设备,一旦更换设备,需要重新下载才能继续使用。

暂时就想到这么多,以后想到了再补充吧。

如有侵权~联系我 立即删帖~~

相关案例查看更多