Web App和Native App架构的对比
app类型划分
app类型划分
app类型分为native类型,web类型,hybrid类型
⼀.native类型
1.优点:直接依托于操作系统,交互性最强,性能最好,功能最为强⼤
2.缺点:开发成本⾼,⽆法跨平台,更新缓慢,审核周期慢,维护成本⾼
3.native类型是app的原⽣页⾯,做⾃动化⾛uiautomator
⼆.web类型
1.优点:开发成本低、可以跨平台调试⽅便、更新⽆需通知⽤户,不需要⼿动升级,⽆需安装App,不会占⽤⼿机存储空间
2.缺点:⽆法获取系统级别的通知,提醒,动效等等,⽤户留存率低,体验较差设计受限制诸多
3.web类型⼀般是浏览器app,⾃动化⾛的是chromedriver
三.hybrid类型
1.开发成本较低,可以跨平台,调试⽅便维护成本低,功能可复⽤、性能和体验要⽐web app好更新较为⾃由
2.相⽐原⽣、性能仍然有较⼤损耗、不适⽤于交互性较强的app
3.hybrid是native结合web,⼤多数app是这种类型。
是h5嵌⼊native的形式。
4.native原⽣页⾯和h5的区别:
(1)原⽣APP修改页⾯要重新发布,等待审核。
H5页⾯的修改可以随时上线,不⽤等待审核;
(2)H5跨平台,iOS和android需要各⾃开发。
相对原⽣,H5开发成本低;
(3)原⽣APP能很好的使⽤设备底层功能,如摄像头、⽅向传感器、重⼒传感器等。
H5有所限制;
(4)下拉刷新的时候H5会有⼀个明显的刷新现象,⽐如闪现、导航栏标题消失等;
(5)h5页⾯打开⼀个页⾯顶部可能有个加载进度条;
(6)页⾯的底部导航在上拉的时候如果跟着⼀起滚动,就是H5页⾯。
详解移动APP与web APP的区别
详解移动APP与web APP的区别对于APP与WEB APP的区别,很多人还不是很清楚,下面就让小编来简单介绍APP的功能以及与WEB APP的区别。
定义,什么是原生APP和web APP?Web App即是一种框架型APP开发模式(HTML5 APP 框架开发模式),该开发具有跨平台的优势,该模式通常由“HTML5云网站+APP应用客户端”两部份构成,APP应用客户端只需安装应用的框架部份,而应用的数据则是每次打开APP的时候,去云端取数据呈现给手机用户。
原生APP又称Native App,该开发针对IOS、Android、Windows等不同的手机操作系统要采用不同的语言和框架进行开发,该模式通常是由“云服务器数据+APP 应用客户端”两部份构成,APP应用所有的UI元素、数据内容、逻辑框架均安装在手机终端上。
开发方面的区别移动Web App1、因为运行在移动设备的浏览器上,所以只需要一个开发项目2、这种应用可以使用HTML5,CSS3以及JavaScript以及服务器端语言来完成(PHP,Ruby on Rails,Python)3、这里可没有标准的SDK,基本任意选择别忘了有一些跨平台的开发工具,比如PhoneGap, Sencha Touch 2以及Appcelerator Titanium等等。
原生App1、每一种移动操作系统都需要独立的开发项目2、每种平台都需要独立的开发语言。
Java(Android), Objective-C(iOS)以及Visual C++(Windows phone)等等3、需要使用各自的软件开发包,开发工具以及各自的控件能力方面的区别移动Web App,只能使用有限的移动硬件设备功能。
原生App,能够与移动硬件设备的底层功能,比如个人信息,摄像头以及重力加速器等等获取方法的区别移动Web App1、从移动设备上的浏览器访问2、不需要安装额外的软件3、软件更新只需要服务器就够了4、因为现在没有什么商品或卖场提供这种App,所以如何搜索这些移动Web App 相当不简单原生App1、直接下载到设备2、以独立的应用程序运行(并不需要浏览器)3、用户必须手动去下载并安装这些原生App4、有一些商店与卖场来帮助用户寻找你的App,目前app市场不计其数,比较版本控制的区别移动Web App,所有的用户都是用同样的版本。
native的用法
native的用法一、什么是native?Native这个词源于英语中的“本地的”或“本土的”,在技术领域中常被用来形容与操作系统、平台或环境相适应,具有原生支持和优化的应用程序。
它可以指代不同的概念和用法,包括Native App、Native Advertising和Native Language等。
二、Native App——实现更好用户体验1. Native App是指针对特定平台或设备编写并优化的应用程序。
与Web App相比,Native App具有更高的性能和更好的用户体验。
由于直接安装在设备上并充分利用硬件资源,Native App能够运行更快,提供更丰富的功能和交互体验。
2. Native App通常以操作系统提供的软件开发工具(如iOS上的Xcode和Android上的Android Studio)为基础进行开发。
通过使用平台独有的API和框架,开发者能够深度融合操作系统,并直接访问设备功能,如摄像头、GPS等。
3. 开发Native App需要掌握相应平台的开发语言和工具链。
在iOS平台上,Objective-C和Swift是主要选择;而在Android平台上,则使用Java或Kotlin。
利用这些现成工具和语言,开发者可以轻松构建出高品质、媲美原生应用的用户界面。
4. 与Web App相比,Native App在用户体验方面具有明显优势。
首先,Native App可以充分利用平台的特性,如推送通知、本地存储和离线访问等。
其次,由于直接运行在设备上,Native App能够更快地响应用户的操作,并提供更加流畅的交互效果。
最后,在设计和布局方面也更加灵活自由,能够为不同平台提供个性化的UI设计。
三、Native Advertising——融入内容之中1. Native Advertising是指将广告融入到应用程序或网站内容中,并与其形式和风格相符的一种广告形式。
相较传统广告而言,Native Advertising更具有隐蔽性和融合性。
Native app VS web app
Native app VS web appWeb App和Native App之争总是不绝于耳,究竟谁才是王者呢?开发者是应该努力把客户端的体验提升到最优,还是在网页应用层面上做出更多更好的设计呢?这一直是困扰大家的话题。
好吧,我们先来了解下各自的优缺点,再作定夺。
移动应用程序基本上可分为三种类型:1.Native应用程序2.Web应用程序3.混合应用程序(Hybrid:Native应用和Web应用结合)一、Native应用相信大家都使用过微软的PowerPoint或者Word,这些应用就是直接运行在电脑上和智能手机上的本地应用。
本地应用是专门开发某种类型的操作系统(比如iOS,Android,RIM 等)并且能在移动设备自身上运行。
优点:能够访问手机的所有功能(GPS,相机等)∙更好的运行速度、性能和总体的用户体验∙支持离线工作(因为是在设备上运行而非Web)∙支持丰富的图形和动画∙在应用商店轻易地找到应用并且在主屏幕上能轻易找到应用图标∙下载应用需要付费(应用商店保留20%--30%的收入)缺点:∙开发成本较高∙范围限制较多(只能访问在特定操作系统上运行的设备)∙未知的部署时间(应用商店审批程序)∙内容限制(应用商店限制)∙用户必须手动下载更新最新版本Yellow Pages Group就是个典型的例子,它针对不同平台开发了本地应用(iOS,BlackBerry,Android等等)以便能够适用于不同的本地应用商店。
二、Web应用程序可以这么说,Web应用程序基本是为网站设计的,当然它同样也适用于移动浏览器。
开发者正在努力开发出一款通用的Web编程语言,能够同时运行在手机Web浏览器中。
优点:∙适用范围广(覆盖所有智能手机)∙开发成本较低∙方便、快捷地部署(无需提交到应用商店)∙无内容限制∙用户总能访问到最新版本(没有手动更新需求)缺点:∙较差的和较慢的性能体验(大部分需要链接互联网)∙用户体验较差*∙支持图形和动画效果较差∙不适用于应用商店及没有靠下载应用盈利机会∙需要链接互联网∙限制用户使用功能(比如,相机、GPS等)*值得一提的是,随着HTML5的普及,上面提到的两个*的功能在Web应用中已得到很好的改进,尽管该技术性能提高了,但是依然无法与本地应用程序相媲美。
Native APP 和 WEB APP 在用户体验上的差别
Native APP 和WEB APP 在用户体验上的差别WEB APP的跨平台特性确实很吸引人,但是大家普遍都认为WEB APP在用户体验上,目前软硬件环境下,还是不如Native APP。
具体是那些方面不如呢?下面是我的总结:一、进程切换的体验差异不考虑机器性能和网速,WEB APP 最大的不足在于进程切换。
比如:Native APP 中,我能在Mail里面直接拖入图片作为附件,GMail就只能attach a file。
又比如:Gmail WebAPP for iPad 的手感不如Mail,虽然功能很好,但是手指滑动时,感觉非常滞涩,远远不如Mail的滑动体验。
WEB APP的滑动效果必须通过CSS3 和JS 写出来。
相对来说CSS3 的效果要比JS 流程些。
但是浏览器支持不支持,支持多少,性能优化的如何,都还需要慢慢演化。
一个用户操作,500毫秒的响应时间和250 毫秒的响应时间,在开发者来说其实差别不大,要让用户来描述两个的具体差别页很难说清楚,但是潜意识里这样的差距就会慢慢累计起来,成为影响用户体验的重要原因。
二、WEB APP 无法访问本地的外设比如:USB 接口,通讯录,录音设备等一些数据采集设备等等。
WEB APP 是无法使用的。
本机存储的文件也是无法读取的。
通过语音操作,通过复杂一些手势操作,在WEB APP 上都是比较困难的。
又比如WEB APP 暂时还没办法充分利用手机的特性,比如陀螺仪。
所以如果你是开发游戏APP的话,大部分时候,几乎只能选择Natvie APP三、网页的快捷方式不借助Native APP,无法把打开指定网页的快捷方式放入启动栏或者桌面。
Android 实现把特定网页打开的快捷方式放入桌面的请参看这篇文章。
它其实是借用了Native APP 才实现这个功能。
/llfjfz/article/details/5752017四、盈利模式试想一下,如果没有Native APP,全部是WEB APP,那盈利模式就会变成一个大问题。
webapp1
webapp1⼀、HyBrid App概述HyBrid App与Web App以及Native App的区别① Web App开发WebApp开发,严格来说并不是⼀个APP软件,只是⼀个Web型的微⽹站。
优点:开发时间短、兼容性强、⽅便系统移植。
缺点:必须有⽹络的⽀持,⽤户体验度相对较差,不能调⽤⼿机中例如摄像头,⼆维码扫描仪的模块。
在国内主要应⽤在:微信的公众号开发层⾯② Native App开发Native App开发,就是⼀个原⽣的APP软件,其主要是通过Java或Object-C来实现原⽣的⼿机APP软件。
优点:原⽣APP、⽤户体验度⾮常好、可以调⽤⼿机的底层组件。
缺点:开发时间长、兼容性差、必须要掌握Java或Object-C等编程语⾔。
③ Hybrid App开发介于WebApp、Native这两者之间的APP,开发时间短、成本低,⽤户体验度好,可以调⽤⼿机的底层组件,⽅便移植,是⽬前以及未来APP开发的流程趋势,为app应⽤⽽⽣,不为app的底层⽽⽣。
这种开发的缺点:⽆法调⽤系统的底层,例如:控制系统的内存.所以如果你开发⼀款游戏那么这种开发模式是⽆法帮你实现的.⼆、HyBrid App开发前期准备1、注册APICloud平台2、注册完毕后登录,进⼊开发控制台3.创建应⽤(粉椒⼴场)创建完后,其实apiCloud官⽅会默认给我们⼀些学习的⽰例代码,我们需要⽤svn把代码进⾏获取4.使⽤svn获取粉椒⼴场舞的app⽰例代码第1步:点击代码导航条进⼊代码获取模块第2步:分别svn的地址,账号和密码第3步:找1个app的开发⽬录,然后检出⽰例代码如果第⼀次检出需要输⼊⽤户名和密码,输⼊过后,以后都可以省略这个步骤5.使⽤apiCloud的官⽅云编译编译粉椒⼴场舞的app⽰例代码⽣成apk安装软件第1步:选择编译的平台为android第2步:编译完成后,就会出现⼆维码下载扫描和点击浏览下载链接6.海马玩模拟器的地址安装海马玩只需下⼀步下⼀步就可以完成安装,打开海马玩模拟器,点击点击apk安装选择我们要安装的⽰例app,选择打开就可以完成app的安装如果希望知道以上的效果是如何实现的,我们就需要分析和学习⽰例代码,然后才能实现我们⾃⼰的⾃定义开发三、配置开发⼯具与模拟器1、Sublime text32、绑定APICloud插件选择下载Windows版本,下载后,如下图所⽰:解压插件包,如下图所⽰:3、配置Sublime Text3第1步:选择sublime的插件安装⽬录,如下所⽰:第2步:把apicloud的插件复制的sublime text3的插件⽬录当中第3步:选择app的实例代码⽬录作为app项⽬第4步:检查插件是否可以被apiCloud的插件进⾏使⽤四.分析⼴场舞核⼼(从index.html⼊⼿)1.meta的分析这是开发app必须设置的meta标签,该标签⽤于定义html的响应式布局模式,如果这个meta标签没有编写这app的ui界⾯⽆法实现响应式布局关闭⼿机的⾃动识别功能,关闭⾃动识别电话号码(telephone),email,⽇期(date),地址识别(address),把他们全部设置为on,原因是有⼀些android⼿机(例如:三星和oppo)会认为如果你没有关闭⾃动识别的功能属于侵犯⽤户的⼿机隐私,因此⽆法在这些⼿机通过安装流程,但是如果只针对⼩⽶⼿机进⾏开发那么可以直接把这些识别设置yes2.必须引导css⽂件和js⽂件因为apiCloud的开发者是通过js来控制编译,在编译的过程中apiCloud官⽅会加载元素进去所以必须引导api.css的⽂件和api.js的⽂件,必须引⼊,否则⽆法通过编译3.index.html的html结构4.index.html的js代码详解①apiready代码如下:由于app的开发跟⽹页的开发是不⼀样的,因为app是在⼿机中运⾏,⽽⽹页是在浏览器中运⾏,因此⼿机的初始化不能使⽤window.load(),apicloud为了⽅便开发者做⼿机的初始化,所以他们建议做⼿机的初始化把初始化代码放在apiread的事件当中完成,所以apiread就相当于⽹页中windown.load②$api对象apiCloud官⽅要求引⼊api.js默认的情况下会有⼀个全局的对象叫$api对象,这个对象控制着app开发html所有的元素,如果要获取某⼀个元素作为对象可以使⽤以下的⽅法:byId⽅法就相当于document.getElementById,但是由于我们开发app⽤apicloud所以不建议使⽤document.getElementById⽽建议使⽤$api.byId③让app实现沉浸效果沉浸效果必须在ios7的版本或者android4.4以上的版本才能实现这段代码会⾃动判断是否可以让app的头部实现沉浸,如果开启这代码就会⾃动兼容实现,如果没有开启,那么所有app都不会实现沉浸效果④app的通⽤开发架构模型app的模型架构原理图:使⽤$api.offset()获取头部对象的位置,其中h表⽰当前位置⾼度,w表⽰当前位置的宽度获取了frame(头部)的⾼度,然后定义式尾部的⾼度为30px于是通过api的窗体⾼度(winHeight)减去头部的⾼度和尾部的⾼度得到主体的⾼度获取完成主体的⾼度后,使⽤openFrame打开主体的页⾯放在<div id=main>的元素当中openFrame中的参数name是代表打开的frame的名称,url是frame页⾯的位置,bounces表⽰是否可以启动弹动功能(如果设为true代表可以弹动,如果设为flase代表不可以弹动)rect⽤于控制main的位置,⼀般不做修改动态获取年份然后通过innerHTML把年分放到<span id=year>元素当中5.html/main.html⽂件的详解假设现在我们在html/main.html中修改Hello App的⽂字为粉椒⼴场舞app那么,app的页⾯(frame main)是否会发⽣改变呢?app开发的特点在于,⽹页是实时更新,⽽app必须更新⼀次就编译⼀次,那么如果我们希望在开发的时候,开到修改的效果,那么我们就需要使⽤apiCloud官⽅appLoader软件实现真机同步的测试功能。
Web app hybrid app native app 介绍及优劣对比
Web app\hybrid app\native app 介绍及优劣对比在高端智能手机系统中有两种应用程序:一种是基于本地(操作系统)运行的APP;一种是基于高端机的浏览器运行的Web App。
Web App:是基于高端机的浏览器运行的App,即是web app。
WebApp是指基于Web的系统和应用,其作用是向广大的最终用户发布一组复杂的内容和功能。
移动端Web App和WAP有什么不同?最直接的区别就是功能层面。
WAP更侧重使用网页技术在移动端做展示,包括文字、媒体文件等。
而Web App更侧重“功能”,是使用网页技术实现的App。
总的来说,Web App就是运行于网络和标准浏览器上,基于网页技术开发实现特定功能的应用。
特性:第一、使用W3C标准的HTML语言开发,能够轻松实现跨平台,移动应用开发者不再需要考虑复杂的底层适配和跨平台开发语言的问题。
与此同时,使用HTML来开发的Web App 在投入上会大大的低于传统的Native App。
第二、基于当下开始普及流行的HTML5,Web App可以实现很多原本Native App才可以实现的功能,比如LBS的功能、本地数据存储、音视频播放的功能,甚至还有调用照相机和结合GPU的硬件加速功能。
第三、移动应用的迭代周期平均不到1个月,用户不需要频繁的重新下载与升级。
而Web App 则无需用户下载,并且和传统网站一样可以动态升级。
第四、Web App有App的特性,更有Web的特性。
每一个Native App在当前的用户使用场景下是相对孤立的,而Web App则可以像传统互联网网页那样相互链接,从一个Web App 直接跳转到另外一个Web App。
这无论是从用户的使用体验层面还是从应用之间的数据传输来看都是非常不错的选择。
Native App:Native App因为位于平台层上方,向下访问和兼容的能力会比较好一些,可以支持在线或离线,消息推送或本地资源访问,摄像拨号功能的调取。
6.4.4 Native App 和Web App[共3页]
177
6.4.4 Native App 和 Web App
1.什么是 Web App ? Web 无需安装,对设备碎片化的适应能力优于 App,它只需要通过 XHTML、CSS 和 Java Script 就可以在任意移动浏览器中执行。随着 iPhone 带来的 WebKit 浏览体验升级,使 得专为 iPhone 等有 WebKit 浏览内核的移动设备开发的 Web 应用,也有了如 App 一般流畅的 用户体验。1 谷歌 Voice 和谷歌 Gmail 是 Web App 的设计典范,如图 6.86 所示。
1 /design-255047.htm。
妥协的完美主义—优秀产品经理的实践指南(卷二)
图 6.86 Web App 但是 Web App 有各种优缺点。如表 6.3 所示。
表 6.3 Web App 的优势和劣势
Web App 的优势 1.开发成本低 2.适配多种移动设备成本低 3.跨平台和终端 4.迭代更新容易 5.无需安装成本越原生应用 2.不支持离线模式(HTML 5 将会解决这个问题) 3.消息推送不够及时 4.调用本地文件系统的能力弱
Native App开发与web app开发
昆明天度APP开发模式通常分为两种,这两种模式均各自有自己的优势,到底是采用Native App开发还是采用Web App开发一直是业界争论的焦点,但是随着HTML5的发展及云服务普及,采用HTML5进行Web App开发正在成为一种趋势,用户可以根据应用特点和需求进行选择,亦可选择两者混合模式:本文提到的是APP客户端应用开发模式的区别,涉及到手机网站与APP应用的区别,请参考:手机WAP网站、触屏版手机网站、APP应用程序之间的区别。
Native App开发Native App开发即我们所称的传统APP开发模式(原生APP开发模式),该开发针对IOS、Android等不同的手机操作系统要采用不同的语言和框架进行开发,该模式通常是由“云服务器数据+APP应用客户端”两部份构成,APP应用所有的UI元素、数据内容、逻辑框架均安装在手机终端上。
Web App开发Web App开发即是一种框架型APP开发模式(HTML5 APP 框架开发模式),该开发具有跨平台的优势,该模式通常由“HTML5云网站+APP应用客户端”两部份构成,APP应用客户端只需安装应用的框架部份,而应用的数据则是每次打开APP的时候,去云端取数据呈现给手机用户。
原生APP开发及Web APP开发模式的区别Web APP需开发“html5云网站”和“APP客户端”,昆明天度网络公司总结这类型APP应用呈现以下特点:(1)每次打开APP,都要通过APP框架向云网站取UI及数据;(2)手机用户无法上网则无法访问APP应用中的数据。
(3)框架型的APP无法调用手机终端的硬件设备(语音、摄像头、短信、GPS、蓝牙、重力感应等)(4)框架型APP的访问速度受手机终端上网的限制,每次使用均会消耗一定的手机上网流量;(5)框架型APP应用的安装包小巧,只包含框架文件,而大量的UI元素、数据内容刚存放在云端;(6)APP用户每次都可以访问到实时的最新的云端数据;(7)APP用户无须频繁更新APP应用,与云端实现的是实时数据交互;适用企业:电子商务、金融、新闻资讯、企业集团需经常更新内容的APP应用。
Web版App,原生App,混合App的区别以及优缺点
Web版App,原⽣App,混合App的区别以及优缺点Web版App,原⽣App,混合App的概念1.原⽣App原⽣APP,⼜称为Native App,就是利⽤Android、iOS平台官⽅的开发语⾔、开发类库、⼯具进⾏开发。
⽐如安卓的java语⾔,iOS的object-c 语⾔。
在应⽤性能上和交互体验上应该是最好的。
该模式通常是由“云服务器数据+APP应⽤客户端”两部份构成,APP应⽤所有的UI 元素、数据内容、逻辑框架均安装在⼿机终端上。
⼀般⽤户只能通过卖场和⽹络商店获得。
每⼀种移动操作系统都需要独⽴的开发项⽬。
2.Web版AppWeb版App,以Web开发语⾔开发的,在浏览器上运⾏的App。
其本质是浏览器功能的叠加。
3.混合App混合App,就是结合Web版App和原⽣App两种技术来进⾏开发,两种技术的混合⽐例不限。
三种App的优缺点1.原⽣App优点:(1)拥有⼿机的各种功能的权限,⽐如获取个⼈信息,摄像头以及重⼒加速器等等(2)运⾏速度是三种App中最快的,⽤户体验最好(3)即便加载⼤量的图⽚和动画,也依旧很快,不卡。
⽀持容易发现(在App Store⾥⾯)和重新发现(应⽤图标会⼀直在主页上)(4)快捷调⽤设备接⼝(5)官⽅提供⼤量的开发⼯具和⼈⼯⽀持来帮助开发(6)不需要浏览器直接下载独⽴的应⽤在设备上运⾏(7)⼿机⽤户⽆法上⽹也可访问APP应⽤中以前下载的数据(8)应⽤下载能创造盈利(但App Store抽取20-30% 的营收)缺点:(1)开发成本⾼,周期长,安卓和ios都需要单独开发,且⽀持设备有限(2)APP应⽤更新新功能,涉及到每次要向各个应⽤商店进⾏提交审核,审核期长2.Web版App优点:(1)⽀持范围⼴,兼容多种设备,开发成本低,周期短,可以即时上线(2)跨平台开发,⽤户通过浏览器访问,开发者更新仅需要通过服务器更新即可缺点:(1)和原⽣App相⽐,性能和体验都⼤打折扣,对动画和图⽚⽀持较差(2)因为不通过App store下载,所以⽆法通过下载盈利(3)并不能访问⼿机的所有功能,很多权限受到限制,⽐如摄像头和GPS,重⼒加速器等(4)假如没有联⽹,则不能使⽤(5)⽤户使⽤更新型的浏览器,则更可能出现兼容性问题3.混合App优点:(1)和Web版App⼀样可兼容多平台(2)部分内容不需要联⽹也可以获取(3)可以访问⼿机的功能要⽐Web版App更多,但是依然⽐不上原⽣的App(4)可以在App Store下载缺点:(1)性能和速度依旧⽐不上原⽣App(2)技术不够成熟常见的关于三种App的问题:总结:在开发中,到底应该如何选择这三种App?具体还是需要看团队的需要,从预算,上线时间,功能等⼏个⽅⾯来考虑。
21个webApp前端开发技巧
自Iphone和Android这两个牛逼的手机操作系统发布以来,在互联网界从此就多了一个新的名词-WebApp(意为基于WEB形式的应用程序,运行在高端的移动终端设备。
我相信各位童鞋应该和我刚开始一个样子,到处查找贴子,学习如何制作WebApp项目,我们(切图网)长期从事webapp开发外包服务,累计了非常多的开发经验,希望和大家共同探讨学习WebApp。
那么WebApp与Native App的区别是什么?Native App:缺点:1、开发成本非常大,一般使用的开发语言为JAVA、C++、Objective-C。
2、更新体验较差、同时也比较麻烦,每一次发布新的版本,都需要做版本打包,且需要用户手动更新(有些应用程序即使不需要用户手动更新,但是也需要有一个恶心的提示)。
优点:1、非常酷因为native app可以调用IOS中的UI控件以UI方法,它可以实现WebApp无法实现的一些非常酷的交互效果2、Native app是被Apple认可的Native app可以被Apple认可为一款可信任的独立软件,可以放在Apple Stroe出售,但是Web app却不行。
Web App:开发成本较低使用web开发技术就可以轻松的完成web app的开发升级较简单升级不需要通知用户,在服务端更新文件即可,用户完全没有感觉维护比较轻松和一般的web一样,维护比较简单,它其实就是一个站点Webapp说白了就是一个针对Iphone、Android优化后的web站点,它使用的技术无非就是HTML或HTML5、CSS3、JavaScript,服务端技术JAVA、PHP、ASP。
在此所说的移动平台前端开发是指针对高端智能手机(如Iphone、Android)做站点适配也就是WebApp,并非是针对普通手机开发Wap 2.0,所以在阅读本篇文章以前,你需要对webkit内核的浏览器有一定的了解,你需要对HTML5和CSS3有一定的了解。
Web App开发入门教程文件
W e b A p p开发入门WebApp与Native App有何区别呢?Native App:1、开发成本非常大。
一般使用的开发语言为JAVA、C++、Objective-C。
2、更新体验较差、同时也比较麻烦。
每一次发布新的版本,都需要做版本打包,且需要用户手动更新(有些应用程序即使不需要用户手动更新,但是也需要有一个恶心的提示)。
3、非常酷。
因为native app可以调用IOS中的UI控件以UI方法,它可以实现WebApp无法实现的一些非常酷的交互效果。
4、Native app是被Apple认可的。
Native app可以被Apple认可为一款可信任的独立软件,可以放在Apple Stroe出售,但是Web app却不行。
Web App:1、开发成本较低。
使用web开发技术就可以轻松的完成web app的开发。
2、升级较简单。
升级不需要通知用户,在服务端更新文件即可,用户完全没有感觉。
3、维护比较轻松。
和一般的web一样,维护比较简单,它其实就是一个站点。
Webapp说白了就是一个针对Iphone、Android优化后的web站点,它使用的技术无非就是HTML或HTML5、CSS3、JavaScript,服务端技术JAVA、PHP、ASP。
当然,因为这些高端智能手机(Iphone、Android)的内置浏览器都是基于webkit内核的,所以在开发WEBAPP时,多数都是使用 HTML5和CSS3技术做UI布局。
当使用HTML5和CSS3l做UI时,若还是遵循着一般web开发中使用HTML4和CSS2那样的开发方式的话,这也就失去了WEBAPP的本质意义了,且有些效果也无法实现的,所以在此又回到了我们的主题–webapp的布局方式和技术。
在此所说的移动平台前端开发是指针对高端智能手机(如Iphone、Android)做站点适配也就是WebApp,并非是针对普通手机开发 Wap 2.0,所以在阅读本篇文章以前,你需要对webkit内核的浏览器有一定的了解,你需要对HTML5和CSS3有一定的了解。
Web App和Native App 谁将是未来
Web App和Native App 谁将是未来本文详细分析了Web App和Native App的优势和劣势,指出Web只是我们作为设计者和开发者所期待的一种理想化结果,是一种趋势,将会是一个相当久的过渡阶段,对复杂产品来说,Native App + Web App也许是个不错的解决方案。
AD:未来是Web App的天下,还是Native App的天下?作为设计师,我们是应该努力把客户端的体验提升到最优,还是在网页应用层面上做更多的设计?这个一直是大家关心的话题。
那么,我们首先应该立体的认识一下Web App和Native App。
一、Web AppWeb无需安装,对设备碎片化的适应能力优于App,它只需要通过XHTML、CSS和JavaScript就可以在任意移动浏览器中执行。
随着iPhone带来的WebKit浏览体验升级,使得专为iPhone等有WebKit浏览内核的移动设备开发的Web应用,也有了如App一般流畅的用户体验。
图1 谷歌 Voice 和谷歌 Gmail是Web App的设计典范Web App的优势:1.开发成本低2.适配多种移动设备成本低3.跨平台和终端4.迭代更新容易5.无需安装成本Web App的劣势:1.浏览的体验短期内还无法超越原生应用2.不支持离线模式(html5将会解决这个问题)3.消息推送不够及时4.调用本地文件系统的能力弱图2 街旁和百度小说,采用HTML5实现了接近Native的体验效果二、Native App而App因为位于平台层上方,向下访问和兼容的能力会比较好一些,可以支持在线或离线,消息推送或本地资源访问,摄像拨号功能的调取。
但是由于设备碎片化,App的开发成本要高很多,维持多个版本的更新升级比较麻烦,用户的安装门槛也比较高。
但是比较乐观的是,App store培养了一种比较好的用户付费模式,所以在Apple的生态圈里,开发者的盈利模式是一种明朗状态,其他market也在往这条路上靠拢。
移动端学习之理解WEBAPP、NativeAPP、HybridAPP以及ReactNati。。。
移动端学习之理解WEBAPP、NativeAPP、HybridAPP以及ReactNati。
因为⼯作需要,需要进⼀步了解移动端的开发,遂返回复习移动端的知识点,在开始学习之前,产⽣了疑惑WEB APP 、Native APP 、Hybrid APP、React Native、Uniapp、H5这些东西到底是什么?感觉是那么熟悉,单词拆分开每⼀个都认识,但是合在⼀起就完全不知道什么意思了,遂⾃⾏百度查询,⾃⼰解⾃⼰的惑吧。
个⼈博客,理解不具权威性。
⼀.WEB APP 通俗的理解,WEB APP 即为使⽤HTML、CSS、JS三⼤前端基础进⾏开发的WEB APP,是基于浏览器进⾏运⾏使⽤的;使⽤HTML、CSS、JS可以在浏览器上怎么开发⽹页,那么WEB APP也是⼀样,只是浏览器的使⽤场景放在了⼿机等移动端设备上。
那么产品转移到了移动端上,跟电脑端有⼏点不同和需要注意: ①适配,⼿机的屏幕尺⼨是⽐电脑⼩很多的,因此不能⽤传统的电脑端去衡量⼀个⼿机端的屏幕显⽰,在开发的时候可在CSS头部加上@media屏幕⼤⼩判断(可选择REM取代PX来进⾏⼤⼩适配),也可使⽤JS提供的navigator对象获取客户使⽤的设备,根据设备来相应的显⽰,这与在CSS中配置@media是⼀样的道理。
②交互,电脑端的交互就是⿏标点点点,然后键盘可以敲敲敲,但是⼿机端不⼀样,⼿机端其实交互很单⼀,现在都是⼤屏⼿机,基本上⼤家也就是点点、滑滑然后再输⼊,所以在使⽤移动端开发WEB APP的时候,要注意客户的使⽤场景,WEB APP⽐电脑端操作少很多,也功能简单了很多。
③性能与速度,⼿机端不⽐电脑端,电脑端的⽹络都是⽐较稳定的,要么是光缆,就算是wifi也是信号很强的,但是⼿机端是不⼀定的,2G、3G、4G都有可能,⽤户的⽹络有不稳定的因素,所以在开发WEB APP时应该注意不能使⽤较⼤的资源,⽐如引⼊⾮常⼤的js⽂件,花费客户⼤量的时间去请求,且因为是运⾏在⼿机浏览器上,不同移动设备的浏览器也是参差不齐的,⽤户容易出现页⾯根本加载不出来,或者运⾏及其缓慢的现象。
web app
原生app:可以调用设备底层的功能,例如个人信息,摄像头以及重力加速器等等。
移动web app:只能使用有限的功能,不过目前越来越多的功能开放。
研发考虑
原生app:不同的操作系统需要独立开发;需要各自的软件开发包;开发工具入Java(Android), Objective-C(iOS)以及Visual C++(Windows Mobile)。
移动web app:由于运行到浏览器上,只需要一个开发项目,属于跨平台的。
开发工具
入phonegaps。
优势和劣势
原生app比web app运行要快;
原生app比webapp调用设备的底层功能更方便
原生app更新需要上卖场,需要审核,不能即时更新,web app不需要审核,版本更新快,且所有用户统一更新;
原生app开发成本高,尤其设计到多款移动设备;webapp只需要开发一款产品。
该如何选择原生app和web app?
1.你的app是否需要设备的特殊功能,如摄像头等;
2.您的是app是否一定需要网络
3.你的预算是多少
4,对性能的要求。
我个人一般认为,对于交互较多的产品,在预算足够的请款下,原生app是最适合的。
本文为作者@eyudechibang 总结投稿发布,转载请注明来源于人人都是产品经理并附带本文链接
人人都是产品经理()中国最大最活跃的产品经理学习、交流、分享平台。
应用开发之争:App终将回归原生
与此同时,APP开发领域的两大阵营也逐渐划分出来,可以说Web App和Native App的战争从爆发的那一天开始就没有过结束。
首先,我们先来了解一下Web App和Native App的概念——Web APP,本质上采用的是普通Web开发语言,是可以在各种智能手机浏览器上运行的专为移动浏览器设计的基于Web的应用。
Native App,则是特别为某种操作系统而开发的,比如iOS、Android等,它们可以在这些移。
智能设备发展到今天,摄像头、GPS、陀螺仪等功能都相当卓越,Web APP恰恰无法使用到移动设备的这些独特功能,图片和动画支持性都不高,所以对于在此方面有着更高要求的游戏APP,一般情况下都必须选择Native APP。
当然,既然Web APP是基于Web的应用,那么它对网络环境的要求就会更高,而这也就造成了不少Web APP的使用者抱怨加载慢的情况。
好了,说完了Web APP,我们再来好好看一下Native APP吧。
较之前者,我们可以轻易感觉到,Native APP对网络环境的要求不高,甚至可以支持离线操作,这意味着它的系统的稳定性非常高,作为用户,人人都爱运行速度快的APP,不是吗?与此同时, Native APP可以完美贴合移动设备的诸多功能,所以用户体验好,也更能让用户记住,因此,在应用市场上,这类APP的留存率比较高。
不过,Native APP也并不是完全没有缺点的。
从目前来看,Native的主流平台就有ios、Android、Windows三个,因为是不同的开发语言,所以开发者要需要使用不同的设备进行测试,与此同时,每个平台上的运营、推广都有不同的规则,所以后期维护的难度也比较大。
而这恰恰是为什么大家都知道Native APP的好,却还是对Web APP趋之若鹜的最大原因。
从目前来看,由于Web App依赖于浏览器的性能,Web App还只是适合做一些信息浏览类型的应用,如果想做一些复杂功能,特别是频繁与网络交互的应用,还是只能选用Native App。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Web App和Native App架构的对比
Web App和Native App 谁将是未来
Web App和Native App的优势和劣势,指出Web只是我们作为设计者和开发者所期待的一种理想化结果,是一种趋势,将会是一个相当久的过渡阶段,对复杂产品来说,Native App + Web App也许是个不错的解决方案。
AD:
未来是Web App的天下,还是Native App的天下?作为设计师,我们是应该努力把客户端的体验提升到最优,还是在网页应用层面上做更多的设计?这个一直是大家关心的话题。
那么,我们首先应该立体的认识一下Web App和Native App。
一、Web App
Web无需安装,对设备碎片化的适应能力优于App,它只需要通过XHTML、CSS 和JavaScript就可以在任意移动浏览器中执行。
随着iPhone带来的WebKit浏览体验升级,使得专为iPhone等有WebKit浏览内核的移动设备开发的Web应用,也有了如App一般流畅的用户体验。
图1 谷歌Voice 和谷歌Gmail是Web App的设计典范
Web App的优势:
1.开发成本低
2.适配多种移动设备成本低
3.跨平台和终端
4.迭代更新容易
5.无需安装成本
Web App的劣势:
1.浏览的体验短期内还无法超越原生应用
2.不支持离线模式(html5将会解决这个问题)
3.消息推送不够及时
4.调用本地文件系统的能力弱
图2 街旁和百度小说,采用HTML5实现了接近Native的体验效果
二、Native App
而App因为位于平台层上方,向下访问和兼容的能力会比较好一些,可以支持在线或离线,消息推送或本地资源访问,摄像拨号功能的调取。
但是由于设备碎片化,App 的开发成本要高很多,维持多个版本的更新升级比较麻烦,用户的安装门槛也比较高。
但是比较乐观的是,App store培养了一种比较好的用户付费模式,所以在Apple的生态圈里,开发者的盈利模式是一种明朗状态,其他market也在往这条路上靠拢。
图3 Gowalla和Awesome Note,是移动客户的经典设计案例
Native App的优势:
1.提供最佳的用户体验,最优质的用户界面,最华丽的交互
2.针对不同平台提供不同体验
3.可节省带宽成本
4.可访问本地资源
5.盈利模式明朗
Native App的劣势:
1.移植到不同平台上比较麻烦
2.维持多个版本的成本比较高
3.需要通过store或market的确认
4.盈利需要与第三方分成
三、融合
乔布斯有一次谈到这个问题,他说Web是未来,虽然现阶段Native给了用户更好的体验。
如果现在的开发者不有效的利用Web技术,那他就落伍了。
但如果过分依赖Web,完全不用Native那也未必就是好事。
iOS平台上的App有三类:Web App,通过浏览器访问;Native App,通过App store安装;第三类叫Hybrid App,它虽然看上去是一个Native App,但只有一个UI WebView,里面访问的是一个Web App,比如街旁网最开始的应用就是包了个客户端的科,其实里面是HTML5的网页,后来才推出真正的原生应用。
再彻底一点的,如掌上百度和淘宝客户端Android版,走的也是Hybrid App的路线,不过掌上百度里面封装的不是WebView,而是自己的浏览内核,所以体验上更像客户端,更高效。
图4 掌上百度和Naver客户端都是Web App+Native App的架构
图5 掌上百度的架构说明,客户端嵌套服务端,保证服务的高效迭代与更新
谷歌的Chrome OS和Android都是操作系统,但走的是两条路。
Chrome OS走的是Web app的路。
从Chrome OS 大会上发布的Chrome Web App能看出来,谷歌想为未来的Chrome OS做铺垫,鼓励更多的开发者开发出具有应用程序体验的Web App,正如Chrome OS官网上说的——“Nothing but the web”。
而Android走的是Native App的路。
Android作为手机平台的操作系统,明显更注重应用程序开发,这一点从Android Market可以看出来。
也许前微软首席架构师Ray Ozzie的评价更加一针见血:“谷歌的战略中Android(以app为主)是在赌过去,而Chrome OS(完全基于Web)则是在赌未来。
”
于是我们可以得到这样一个启发,你要想服务于未来,必须不断的跟随技术发展的脚步,提供更好的网页服务和体验。
但是人们是活在当下,为了当下用户的需求,又必须提供现阶段浏览体验最好的客户端产品。
但是,客户端是笨重且迟缓的,它不能像传统网页那样,一有风吹草动就华丽转身,只能规划好功能点,一步一步迭代,毕竟用户的升级成本太高了。
所以,就有了这种Web App + Native App的架构,在现有条件下给用户最好的浏览体验和升级迭代。
四、未来趋势
虽然我们都愿意相信,当Web的体验和Native的体验逐渐趋近的时候,人们更愿意把精力花在内容获取上,而不是软件交互上,但是现阶段的交互体验,恰恰是影响人们获取内容的主要短板。
所以,趋势摆在那里,我们却无法预测这个时间差。
就跟电脑端的应用一样,虽然现在Web化的趋势已经非常明显了,但是还是无法取代你本机安装的一些工具类的、游戏类的应用,在Web技术没有达到本地应用的效率和体验之前,Web是无法颠覆Native的。
总得来说,Web只是我们作为设计者和开发者所期待的一种理想化结果,开发成本低、轻松跨平台、迭代更新快,但是显然,现阶段用户的期待和手机设备厂商的期待还是体验上更胜一筹的Native。
Web之于我们,只是一种趋势。
在这个也许会非常久的过渡阶段,对复杂产品来说,Native App + Web App也许是个不错的解决方案。