Ⅰ 为何感觉做网页的不多但是前端却比安卓ios的需求大
因为现在网页开发人员已经不再单纯的只开发网页
在Web2.0时代
前端开发人员都是往大前端方向发展
HTML CSS JS只是基本功
还得需要会Vue React Angular三大框架
小程序和Web APP开发
服务端的NodeJS
前端工程化Webpack gulp
gitlab github等
还有MongoDB Redis等数据库
前端是越来越复杂了
并不是传统意义的前端只做界面
现在简单的CURD都是前端自己完成
后端更多的是做数据相关的工作
一个非常好的问题。题主说的前端应该是包含了H5跨平台开发的“大前端”。
一,大前端
随着移动互联网的发展,前端开发成为重点。移动端有多个平台,Android,iOS,微信小程序,还有重任在肩的华为鸿蒙,为了支持这些平台和系统,越来越多的应用开始使用H5跨平台架构,这时有个新名词叫做“大前端”。
为了满足实际业务需求,现在软件系统的功能和架构都日趋复杂:多层架构,数据中台,动静分离,微服务、集群化部署,自动化运维,等等。曾经总结过这么一个现象:
早期的小型团队,前端手忙脚乱,需求易变,盯着页面整天改来改去。
成熟稳定的团队,后端比较忙,持续不断的开发新功能。
从实际情况看,前端工程师数量比较多。
二,H5跨平台开发
这时的H5开发已经不单单是网页开发了,而是前端应用开发。具体到H5 Hybrid架构,常用三剑客:HTML, css, JavaScript
1) HTML和css是页面设计 ,没有代码逻辑
2) JavaScript编程 ,还有其它衍生语言,比如常用的TypeScript
JavaScript是一种脚本语言,由解释器加载执行,常用在网页前端动态展示、和服务后端交互等场景。
3)常用框架
有很多成熟的框架可用,比如JQuery, AngularJS,React,还有前后端都跑通的NoteJS
三,Android,iOS原生开发
这是几年前的一个话题了,中间经历了很多波折,当2012年Facebook宣布放弃H5转向原生开发的时候,似乎已经有了阶段性定论。然而随着微信还有H5技术、开发框架的快速发展,天平又再次偏向了H5。
目前来看,“大前端”H5跨平台开发工程师的需求数量,远多于Android、iOS原生开发的需求。
只能说你这个感觉偏差非常大!
web 层面的前端开发人员比原生 app 的开发人员数量上多了很多。抛开 web 其原有的领域不说,现在很多 Android 和 ios 的开发都采用了 hybird 技术,一种原生和 web 混合的开发手段。
很重要的一个原因就是 web 的开发部署周期非常迅速,而 native app 挂到市场后都会有一个审核过程,现在互联网企业对产品的设计规划变化非常多,特别是 Apple store 的审核时长较长,跟不上频繁的迭代开发而产生的更新,所以就有了将更新评率较高的部分分离出来用 web 技术来实现的这种变通手段。
这样一来,web 前端的技术人员又覆盖了一部分原本不是他领域内的工作。
其实前端这几年火爆的发展还是源于对软件开发团队的配置以及成本投入的需求,目前web前端开发已经占据软件开发招聘市场很大的比例了!
接下来给大家谈谈web前端发展迅速的主要原因:
互联网企业属于创投类比较青睐的项目,当你有一个很好的idea的时候,只需要一定的启动资金,将你的idea落地为互联网产品,借此去吸引一定的流量,有了流量之后就可以找风投进行入股,在资本介入之后就会有非常迅速的发展,甚至还有上市的可能,风投只要在众多的投资项目中有少量成功的案例,那么就可以赚的盆满钵满,这也是互联网成为这些风险投资资金的蓄水池。
至于互联网产品的流量入口就很多了,例如:有的用户从电脑端网络访问、有的用户从手机网络访问、有的用户会从微信小程序访问、有的会下载官方推荐的APP、有的用户使用安卓系统、有的用户使用的是iOS,无论哪种方式都会产生很大的可能性,其背后都是一类用户的访问习惯,而作为产品必须尊重每一种习惯,否则将会丢失一部分的客户群体,对于一个起步阶段的互联网产品来说,丢失的任何一个用户都是不可接受的失败,必须使出浑身解数来迎合用户,增加产品粘合度以及用户的体验度。
面对如此多的流量入口,对于早期尚未拿到风投的创业型互联网公司来说,软件开发团队的工资将占据整个项目启动资金很大的比例,以至于很多项目还没搞出来上线就已经over了或者项目草草上线之后发现运营的资金也是捉襟见肘,导致了整体项目的失败!
这类公司已经功成名就,各自在自己的领域已经是大象般的存在了,资金势力雄厚、技术能力与产品也已经非常成熟,前端软件开发的任务也从早期抢市场,谁先上线谁就赢得先机,转型向产品维护以及功能的迭代更新,所以工作量也会大幅下降,自然招聘量也会随之降低,而且未来面对新的产品开发也会不断的尝试新的技术来满足团队优化的目的。
对于外包公司来说承接的项目会比较杂、业务类型也是多种多样的,所以如果一个前端团队可以解决来自iOS、安卓、pc端的所有需求那将是再好不过的选择了,既节约了成本,又可以提升开发效率并能整合团队资源何乐而不为!
对于非IT类企业来说,这类企业主营业务不是IT产业类,对软件的需求就是满足企业本身管理与生产的信息化,所以不可能在IT团队的投入上有着过高的追求,如果自身的IT能力即可以满足日常的生产与管理,又可以在商业上有所建树那将是非常完美的选择,目前的前端框架完全可以满足这类企业在软件界面端开发的所有需求,也是得到企业青睐的原因所在!
做网页的需求量是做安卓、iOS原生前端页面的需求的百倍都不止,你的感觉没错。
而你觉得做网页的不多也很正常,因为借助于前端UI框架、开源项目、工程构建、组件化等,现在前端更侧重于JavaScript工程构建,很少吭哧吭哧写页面了。
前端开发除了有传统的网站PC页面、朋友圈的网页、小程序以外,还在不断渗透它的影响力和扩大它的势力范围,比如:
1、跨多端,安卓、iOS、Windows、Mac、Linux等很多应用都开始采用hybrid的方式来开发,甚至直接用JavaScript生成;
2、前端SaaS、PaaS服务,随着云计算的发展,将人工智能、大数据等做成第三方服务的公司越来越多,这个趋势在美国比较明显,中国也在跟进,而很多服务都是线上服务,比如线上Office、线上PS、线上OA平台、线上大数据展示平台、线上表格、低代码等,将服务线上化已经是大势所趋,而所谓线上就是基于浏览器,而只要基于浏览器就是前端开发。
基本所有企业都有操作系统吧!都是前端开发!你平时用的app,也基本都是前端开发的。那种活动啥的,全是前端
对于题主的提问,其实回答很简单,不需要虚头巴脑说前端各种华丽花哨的,我就反问题主,安卓ios只做移动端应用,而web前端做的是跨平台应用,现在单把移动应用拿出来单说,由于原生应用开发周期长,更新审核繁琐,很多原生应用的内容都是web写的,安卓iOS相当于做了个框,可以理解为内嵌一个浏览器,这样一对比,量级就明显了,另外现有各平台的小程序都是前端从业者,还需要列举更多吗
app很多都是前台做的,原生的都很少工作量了。还有各种微信,支付宝,美团,等等小程序的前端都是给网页前台做
Ⅱ HTML5和原生APP优缺点大对比,世界究竟是谁的
随着HTML5和Node.js的流行,Javascript这门在互联网初期就已诞生的语言正迸发出勃勃生机,Javascript将前端和后端开发统一起来,“一切皆为JS”看起来只是时间的问题。唯一的障碍是在移动端,因为无论是Android还是iOS平台,当前仍是原生应用大行其道。HTML5曾经被寄予厚望过,但是以Facebook为代表的一批公司在移动端对HTML5技术进行实践的心酸血泪史表明,HTML5可以是原生应用开发的一种有效补充,但远不足以替代原生。但是现在,随着iMAG.js的渐渐流行,这种状况正在发生改变。
iMAG.js是国内的爱码哥移动平台推出的Javscript移动跨平台开发框架,它的特点简单高效,同时又功能强大,可以用Javascript来替代原生开发。iMAG.js的原理和在服务器端运行的Node.js有些相似,都是封装了Javascript引擎,用Javascript去调用底层的API接口。不同的是因为移动应用的控件主要是UI模块、用户交互界面开发,iMAG.js为此引入了XML模板技术,XML和Javascript结合,这样很适合手机界面的展示。
H5开发的web APP和原生APP的区别有以下几个方面:
一、开发方面
原生App
⊙ 每一种移动操作系统都需要独立的开发项目
⊙ 每种平台都需要独立的开发语言。Java(Android), Objective-C(iOS)以及Visual C++(Windows Mobile)等等
⊙ 需要使用各自的软件开发包,开发工具以及各自的控件
移动Web App
⊙ 因为运行在移动设备的浏览器上,所以只需要一个开发项目
⊙ 这种应用可以使用HTML5,CSS3以及JavaScript以及服务器端语言来完成(PHP,Ruby on Rails,Python)
⊙ 这里可没有标准的SDK,基本任意选择别忘了有一些跨平台的开发工具,比如PhoneGap, Sencha Touch 2,APPcan以及Appcelerator Titanium等等。
二、能力方面
原生App
⊙ 能够与移动硬件设备的底层功能,比如个人信息,摄像头以及重力加速器等等
移动Web App
⊙ 只能使用有限的移动硬件设备功能。
三、获取方法
原生App
⊙ 直接下载到设备
⊙ 以独立的应用程序运行(并不需要浏览器)
⊙ 用户必须手动去下载并安装这些原生App
⊙ 有一些商店与卖场来帮助用户寻找你的App,目前app市场不计其数
移动Web App
⊙ 从移动设备上的浏览器访问
⊙ 不需要安装额外的软件
⊙ 软件更新只需要服务器就够了
⊙ 因为现在没有什么商品或卖场提供这种App,所以如何搜索这些移动Web App相当不简单。
四、版本控制
原生App
⊙ 用户可以自由地选择是否更新软件版本,所以会出现不同用户同时使用不同版本的情况
移动Web App
⊙ 所有的用户都是用同样的版本
五、优势
原生App
⊙ 比移动Web App运行快
⊙ 一些商店与卖场会帮助用户寻找原生App
⊙ 官方卖场的应用审核流程会保证让用户得到高质量以及安全的App
⊙ 官方会发布很多开发工具或者人工支持来帮助你的开发
移动Web App
⊙ 跨平台开发
⊙ 用户不需要去卖场来下载安装App
⊙ 任何时候都可以发布App,因为根本不需要官方卖场的审核
⊙ 如果你已经有了一个Web App,你可以使用 responsive web design来辅助改进
六、缺陷
原生App
⊙ 开发成本高,尤其是当需要多种移动设备来测试时
⊙ 因为是不同的开发语言,所以开发,维护成本也高
⊙ 因为用户使用的App版本不同,所以你维护起来很困难
⊙ 官方卖场审核流程复杂且慢,会严重影响你的发布进程
移动Web App
⊙ 无法使用很多移动硬件设备的独特功能
⊙ 要同时支持多种移动设备的浏览器让开发维护的成本也不低
⊙ 如果用户使用更多的新型浏览器,那问题就更不好处理了
⊙ 对于用户来说,这种App很难被用户发现
附:原生App 与 移动Web App:您如何选择?
所以在你准备做移动App时,你应该先问问自己以下几个问题:
1. 你的应用是否需要使用某些设备的特殊功能,比如摄像头,摄像头闪光灯或者重力加速器
2. 你的开发预算是多少?
3. 你的应用是否一定需要网络
4. 你的应用的目标硬件设备是所有的移动设备还是仅仅只是一部分而已
5. 你自己已经熟悉的开发语言
6. 这个应用对于性能要求是否苛刻
7. 如何靠这个应用赢利
Ⅲ 使用H5开发的App和原生App有什么区别
1.H5的性能很差,一般经常改的地方可以用H5,比如论坛,咨询之类的,而且限制也是很大,很多效果是没办法做到的。GUI框架的WebView普遍是这样的。如果一个APP全部由H5来做(不太可能,送审很可能被拒),那么会显得非常卡。
2.用iOS SDK,如果实现热更新是比较麻烦的。对于论坛,咨询这种模块,动不动就改版,做起来比较头疼,用H5就很合适了。尤其在APP跨安卓和iOS的时候,这类模块如果直接用H5,那么就很容易共用。
Ⅳ 为什么web app比原生APP体验要差
首先对比一下web app和原生APP
一、功能上
原生APP是一个系统性的应用程序,而Web APP更多是页面展示类的APP。
原生APP可以调用手机终端的硬件设备(语音、摄像头、短信、GPS、蓝牙、重力感应等),Web APP则不可以。
二、加载速度上
原生APP, 访问的时候,不需要重新下载加载。
而Web APP每打开一个页面,都需重新加载,访问速度受手机终端上网的限制,每次使用均会消耗一定的手机上网流量,加载速度慢。
三、稳定性
市场的web版的APP多为模板,稳定性根本无法保证。
原生的APP的技术更加成熟,而且功能可以拓展。
综上所述,web app比原生APP体验要差,原生app的优势明显优于web app,因此在选择app开发公司时,要注意这点,好的app开发公司都会采用原生app制作app软件。
Ⅳ H5和原生APP之间的区别
实际上他们的底层都是一样的。
H5写的APP是基于html、js等语言编写的。原生APP用原生的语言与java、c等编写的。
H5写的APP调用机子的一些设备时仍是需要通过底层接口实现的。H5写的APP在不同系统的机子上兼容性更好。
原生APP调用一些接口的速度一般比H5的快,不过现在智能机处理速度都很快,因此用户基本上都看不出来。
Ⅵ H5实现APP和原生方式有多大差距,多少坑
H5开发的web APP和原生APP的区别有以下几个方面:
一、开发方面
原生App
⊙ 每一种移动操作系统都需要独立的开发项目
⊙ 每种平台都需要独立的开发语言。Java(Android), Objective-C(iOS)以及Visual C++(Windows Mobile)等等
⊙ 需要使用各自的软件开发包,开发工具以及各自的控件
移动Web App
⊙ 因为运行在移动设备的浏览器上,所以只需要一个开发项目
⊙ 这种应用可以使用HTML5,CSS3以及JavaScript以及服务器端语言来完成(PHP,Ruby on Rails,Python)
⊙ 这里可没有标准的SDK,基本任意选择别忘了有一些跨平台的开发工具,比如PhoneGap, Sencha Touch 2,APPcan以及Appcelerator Titanium等等。
二、能力方面
原生App
⊙ 能够与移动硬件设备的底层功能,比如个人信息,摄像头以及重力加速器等等
移动Web App
⊙ 只能使用有限的移动硬件设备功能。
三、获取方法
原生App
⊙ 直接下载到设备
⊙ 以独立的应用程序运行(并不需要浏览器)
⊙ 用户必须手动去下载并安装这些原生App
⊙ 有一些商店与卖场来帮助用户寻找你的App,目前app市场不计其数
移动Web App
⊙ 从移动设备上的浏览器访问
⊙ 不需要安装额外的软件
⊙ 软件更新只需要服务器就够了
⊙ 因为现在没有什么商品或卖场提供这种App,所以如何搜索这些移动Web App相当不简单。
四、版本控制
原生App
⊙ 用户可以自由地选择是否更新软件版本,所以会出现不同用户同时使用不同版本的情况
移动Web App
⊙ 所有的用户都是用同样的版本
五、优势
原生App
⊙ 比移动Web App运行快
⊙ 一些商店与卖场会帮助用户寻找原生App
⊙ 官方卖场的应用审核流程会保证让用户得到高质量以及安全的App
⊙ 官方会发布很多开发工具或者人工支持来帮助你的开发
移动Web App
⊙ 跨平台开发
⊙ 用户不需要去卖场来下载安装App
⊙ 任何时候都可以发布App,因为根本不需要官方卖场的审核
⊙ 如果你已经有了一个Web App,你可以使用 responsive web design来辅助改进
六、缺陷
原生App
⊙ 开发成本高,尤其是当需要多种移动设备来测试时
⊙ 因为是不同的开发语言,所以开发,维护成本也高
⊙ 因为用户使用的App版本不同,所以你维护起来很困难
⊙ 官方卖场审核流程复杂且慢,会严重影响你的发布进程
移动Web App
⊙ 无法使用很多移动硬件设备的独特功能
⊙ 要同时支持多种移动设备的浏览器让开发维护的成本也不低
⊙ 如果用户使用更多的新型浏览器,那问题就更不好处理了
⊙ 对于用户来说,这种App很难被用户发现
Ⅶ web app和 原生app的区别
web app和原生app有三种区别:
1.开发方面有区别:
(1)原生APP:每一种移动操作系统都需要独立的开发项目,iphone版本、Ipad版本、安卓版本。每种平台都需要独立的开发语言。Java(Android), Objective-C(iOS)等等。需要使用各自的软件开发包,开发工具以及各自的控件。
(2)开发成本高、开发速度慢、维护成本高。三个平台(IOS、安卓、windows)的规则、推广、运营都不相同。官方应用商店对APP上线审核流程比较复杂而且很慢,会严重影响APP的发布上线。
(3)Web App :因为运行在移动设备的浏览器上,所以只需要一个开发项目。可以通过HTML、 CSS或者JavaScript来进行Web APP的开发。开发成本低、开发速度快。
2.功能有区别:
(1)原生App:原生APP是一个系统性的应用程序,可以类比于电脑上的软件。原生app可以调用移动终端的硬件设备, 比如:麦克风、摄像头、短信、GPS、蓝牙、重力感应等。实现功能丰富
(2)Web App:Web APP可以类比于电脑上的网页。Web APP更多是页面展示类的APP。只能使用有限的移动硬件设备功能。更多用于页面展示,侧重于简单的交互,无法使用很多硬件设备独特的功能。
4.版本控制有区别:
(1)原生App:用户可以自由地选择是否更新软件版本,所以会出现不同用户同时使用不同版本的情况。同时也会导致维护成本比较高。使用旧版本的用户无法体验新版本的完整功能。
(2)Web App:所有的用户都是用同样的版本,所有用户获得的功能都是相同的。版本更新比较方便,直接在服务器侧更新数据即可。一个功能做好了就能上线,一天更新几十次都毫无压力。如果客户端只是个浏览器,那一切都会变得很简单。
(3)另外web统一性高,跨平台适用时开发量少。由于其入口不明显(浏览器导航或者随意点击链接进入),让用户记住的门槛也随之拔高,每次推广导入的流量都可能沦为一次性努力,用户留存率低。
Ⅷ 微信小程序出来了,原生 App 和 Web App有什么区别
原生 App 是为了实现某项功能,针对特定设备设计的产品,他们需要安装到设备上使用,通常能都调用设备上的其他硬件功能,我们通过App Store或者各大安卓应用市场下载的App均属于原生 App范畴;而Web App直接利用设备上的浏览器访问,不需要下载安装,实现了跨平台。就目前而言原生 App可以最大程度的对手机硬件资源进行利用,在性能、交互、设计、展现效果上远远超过Web App的软件和服务,但是由于开发成本低、发布周期短、维护简单等优势,也不乏一些创业者通过这种轻量级的应用进行产品快速的市场验证。
Ⅸ 移动前端开发和web前端开发有什么区别
移动前端开发和 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,不过效果一般