h5做app和原生app有什么区别?

html-css09

h5做app和原生app有什么区别?,第1张

H5APP即是一种框架型APP开发模式(HTML5APP框架开发模式),该开发具有跨平台的优势,该模式通常由“HTML5云网站+APP应用客户端”两部份构成,APP应用客户端只需安装应用的框架部份,而应用的数据则是每次打开APP的时候,去云端取数据呈现给手机用户。

原生APP又称NativeApp,该开发针对IOS、Android、Windows等不同的手机操作系统要采用不同的语言和框架进行开发,该模式通常是由“云服务器数据+APP应用客户端”两部份构成,APP应用所有的UI元素、数据内容、逻辑框架均安装在手机终端上。

1、开发方面的区别(这个地方太专业啦,请教了团队的开发小伙伴)

目前ReactNative开发越来越火,微信小程序是基于ReactNative开发的,体验接近原生APP,发展前景值得重视。不过好在现在非原生APP同样可以调用蓝牙、相机等硬件,也能顺利发布到苹果APPstore。

移动WebApp

1、因为运行在移动设备的浏览器上,所以只需要一个开发项目

2、这种应用可以使用HTML5,CSS3以及JavaScript以及服务器端语言来完成(PHP,RubyonRails,Python)

3、这里可没有标准的SDK,基本任意选择别忘了有一些跨平台的开发工具,比如PhoneGap,SenchaTouch2以及AppceleratorTitanium等等。

原生App

1、每一种移动操作系统都需要独立的开发项目

2、每种平台都需要独立的开发语言。Java(Android),Objective-C(iOS)以及VisualC++(Windowsphone)等等

3、需要使用各自的软件开发包,开发工具以及各自的控件

2、能力方面的区别

移动WebApp

只能使用有限的移动硬件设备功能。

原生App

能够与移动硬件设备的底层功能,比如个人信息,摄像头以及重力加速器等等。对于这一点感触很深刻,2016年做新年H5营销小活动的时候,就是因为没有考虑到H5不能使用移动硬件端重力加速器而导致临时替换设计方案。

3、获取方法的区别

移动WebApp

1、从移动设备上的浏览器访问

2、不需要安装额外的软件

3、软件更新只需要服务器就够了

4、因为现在没有什么商品或卖场提供这种App,不过一般都是嵌套在系统内部,或者内部系      统中使用

5、跨平台开发,用户不需要去卖场来下载安装App

6、需要过度依赖网络,没有任何缓存数据

7、任何时候都可以发布App,因为根本不需要官方卖场的审核

8、如果你已经有了一个WebApp,你可以使用responsivewebdesign来辅助改进(这也是优势?)

9、所有的用户都是用同样的版本

原生App

1、直接下载到设备

2、以独立的应用程序运行(并不需要浏览器)

3、用户必须手动去下载并安装这些原生App

4、有一些商店与卖场来帮助用户寻找你的App,appstore里面应有尽有。

5、原生型APP应用的安装包相对较大,包含UI元素、数据内容、逻辑框架

6、手机用户无法上网也可访问APP应用中以前下载的数据。

7、原生型的APP可以调用手机终端的硬件设备(语音、摄像头、短信、GPS、蓝牙、重力感应等)

8、APP应用更新新功能,涉及到每次要向各个应用商店进行提交审核。

9、用户可以自由地选择是否更新软件版本,所以会出现不同用户同时使用不同版本的情况

即使两者之间有很大的区别,即使H5有一大堆的坑和问题,但是仍旧不妨碍移动WEB无所不在,移动web是目前唯一的支持各种设备访问的平台,也是唯一一个可供开发者发布移动应用的平台,它将各种移动交互与PC系统任务有效的结合在一起。而原生nativeapp可以充分利用设备的特性,这一点是它得天独厚的优势。

正式因为它有复杂多变的CSS样式消耗了大量性能,它才有一个更有竞争力的优势——它带来了多样性的排版,能够细致到每一个字宽行高和风格的像素级处理,能够给你带来不一样的图文汇合的排版。

HTML5的APP,指的是使用HTML5技术实现的,功能与交互类似于APP的移动端网站。

原生APP,指的是使用iOS或Android开发语言实现的APP(iOS开发语言为Object C、Android开发语言为Java)

使用HTML5技术与Object C / Java语言合并开发的应用被称为“Hybird APP”。

此外,2015年Facebook出品了可用于JavaScript开发的移动端原生应用 - React Native,React Native实现了对iOS和Android两大平台的支持。

HTML5技术目前并不广泛应用于APP的开发。

我们先来看看APP:伴随智能型移动终端的迅速崛起,使得App蔚为新世代宠儿,不仅满足了广大消费者之于食衣住行育乐等日常生活所需,对企业而言,更是赖以扩散创新应用服务,并与用户互动的主流路径;正因如此,不论是隶属于信息服务范畴的IT软硬件开发商或内容供货商,乃至于一般企业用户,显然都无法自外于这股趋势潮流。

再来看看Html5:近两年来,HTML5的发展势头确实很猛,甚至都出现了很多言论说:HTML5终将取代原生app,app终将消亡的言论。HTML5确实有着很多的优点,但是原生APP的开发也有着自己的优势。现在我们来对比一下HTML5和原生APP开发的优缺点。

1、在跨平台上,HTML5胜出

HTML5采用网络通用语言,不用考虑终端设备或者操作系统的不同。目前,W3C(万维网联盟World Wide Web Consortium,简称W3C)正在与汽车业、出版业、电视业进行讨论,将web引入新的设备平台中。随着平台逐渐丰富,这方面的成本问题将会日益凸显。

2、在用户体验和表现上原生APP开发胜出

在用户体验和表现这个方面,HTML5仍然面临着不同移动终端设备本地浏览器的功能接入问题,同时在提供用户展示图形界面和数据展现的丰富性方面还有不足,继续得到提高。

3、在开发速度和成本方面,HTML5胜出

HTML5的开发确实比原生开发更节省时间和人力,开发周期相对较短,人力投入也比较少,毕竟HTML5有着跨平台带来的无可比拟的好处。不需要投入两个团队或者更多的人去开发。

4、在版本控制和BUG修复方面,HTML5胜出

HTML5是web网页端的内容,如果出现BUG可以不用迭代版本,只需在后台修改即可修复bug,这是原生APP开发所不能做到的。

5、在变现能力方面,原生APP开发胜出

原生应用的分发平台,如App Store和Google Play,目前是获得收入的较为成熟的商业模式而HTML5应用,除了付费下载以外,还没有形成其他成熟的商业模式。

6、对于碎片化挑战而言,HTML5胜出

尽管二者同样面临着严重的碎片化问题,不过HTML5先天具备的跨平台特性,可以在这方面占据先机。

虽然通过对比,原生APP开发略站弱势,但是原生APP的优势确实有的是不能被HTML5所代替的。或许将来的某一天HTML5的发展会很好,能力,技术已达到一个好的地步,能够替代原生APP的的先天优势,那你为什么不会去想象原生APP的开发也是一直在进步的呢?当然这仅是小编个人观点,时代在变化,尤其是在这移动互联网时代更是这样。

但是就目前状况来说,最好的开发模式是两种技术混合使用。比如同时在一个app中,使用原生的框架加载html5的内容之类的。要用变化的眼光看世界,世界上没有什么时候是绝对的。其实原生APP和HTML5决胜的关键就是:谁能打破分配、货币化、平台制约、网络影响力、功能性的瓶颈,谁就赢了。

达内Java培训专家提醒Html5和原生APP各占优势,结论就是:

1、预算有限的情况下,建议选择HTML5技术

2、用户体验要求高的情况下,更适合原生技术

3、开发速度要求快的情况下,建议选择HTML5技术

4、必须用到某个HTML5不支持的系统功能的情况下,适合原生技术