WEBAPP是一种能够像浏览网页一样使用应用,国外很流行了,原本安卓系统的应用是开放的,你安装一个应用,应用就能调用你的底层数据,所以有些软件,尤其是游戏软件,你已安装他就偷偷下流量,然后你就给电信交钱了;苹果是封闭系统,这个问题小,但一旦你给应用授权,一样可以调用你的底层数据,比如说他可以调用你的通信录,给别人偷偷发短信。这种问题外国人老早碰到了,所以基于浏览器的WEBAPP就兴起了,因为安全,就像浏览网页那样。这点老外和我们一样,谁都不想收到类似于我儿子犯错被抓,要赶快汇钱到某某账号的短消息,特别还是从亲人手机里发过来的。
(摘自互联网)
http://baike.baidu.com/view/8346651.htm?fromId=2174567
web app
概念
WebApp是指基于Web的系统和应用,其作用是向广大的最终用户发布一组复杂的内容和功能。[1]从一个简单的帮助消费者计算汽车租借费用的网页,到为商业人员和度假者提供全套旅游服务的大型复杂的WEB站点,都是WebApp。它包括一些完整的WEB站点,WEB站点的专门功能以及在Internet、Intranet或ExtraNet上的信息处理应用。webapp 框架是一种简单的与WSGI兼容的网络应用程序框架,可以与 App Engine 配合使用。不必为了使用 App Engine 而使用webapp:网络服务器支持任何使用 CGI 的 Python应用程序。webapp 提供一种简单的方式来开始为 App Engine 开发应用程序。响应式网页设计的大部分技术,是可用在WebApp开发中的。移动端WebApp和WAP有什么不同?最直接的区别就是功能层面。WAP更侧重使用网页技术在移动端做展示,包括文字、媒体文件等。而WebApp更侧重“功能”,是使用网页技术实现的App。总的来说,WebApp就是运行于网络和标准浏览器上,基于网页技术开发实现特定功能的应用。情况
撇开各种不同的Web技术不谈,弄清楚Web Apps定义最困难的是如何从各种纷繁复杂的WebApp中提取出他们的共同特征。当用户登录一个网站(如Pixlr),大家很容易理解这是在访问一个WebApp。但是对那些仅仅提供基础服务(如电话查询或是信息查询)的网站,区分用户是否在访问Web App就变得相当困难了。其实这些服务大多都是WebApp。我常常这样问自己“这个程序是否完成了某个任务?”。即便它只完成了某个非常小的任务,那么它也是一个WebApp。Google的搜索引擎就是一个Web App,它本质上和电话查询服务没有什么区别。这样说来,也并非所有的网站都是Web App。如果这个网站并没有执行任何任务,那么它就并不是Web App。界面
元素变化
力求简洁明了是用户界面设计的重要原则。在同一时间给用户展示的功能越多,用户需要寻找和思考的时间也就越多。同样,界面中存在的选项越少,可用功能就越明显、越容易浏览。不过简化界面并非轻而易举,尤其是你不想减少应用程序功能的情况下。将高级功能隐藏起来是一种有效的简化方法。搞清楚在界面中用户最经常用的是哪些功能,然后把其他功能隐藏处理。这些可由下拉式菜单和控件完成。例如,搜索栏中的高级过滤器可以做成尾部的特殊下拉菜单样式。当用户需要这些过滤器的时候只需要几次点击就可以使用。决定哪些功能保留展示哪些需要隐藏起来,并不是一个简单的工作,需要取决于功能控件的重要程度和被使用的频繁程度。[1]增加阴影
弹出式菜单和窗口周边的阴影不仅仅是为了视觉美观。阴影一方面增大了菜单或窗口的尺寸,有助于将菜单或窗口从背景中区别开来;另一方面通过灰度化的边缘阴影可以屏蔽背景内容的噪音干扰。这个技巧根植于传统桌面程序,帮助用户将注意力集中在弹出的窗口。由于很多模态窗口不容易从桌面程序内容页面中凸显出来,阴影可以使它们看起来具有立体效果、仿佛悬浮于其他内容之上,于是拉近了模态窗口与用户的距离。为实现这样的效果,设计师往往将透明的PNG背景图片作为容器,再把内容填充到容器中,同时等距离填充弹出框各边缘。或者使用具有透明边框的背景图片,并将内容框绝对定位在其中。另外,也可以使用基于JavaScript的lightboxes命令或者CSS3中的drop shadows命令,但需要注意浏览器是否支持。提醒用户
当设计webapp的时候,不仅需要关心一般情况下的信息展示,还要确保界面在空白状态时表现良好、具有指引作用。页面中还没有产生任何信息的时候,可以在空白区域放置一条帮助信息告诉用户如何开始。例如,一个项目管理的应用程序主页会列出用户的项目,假如还没有什么项目信息,可以为用户提供一个项目创建页面的链接。即使这个页面上已经存在了这样一个功能按钮,一个额外的帮助并不会有什么妨碍。这个技巧可以有效地鼓励用户试用该服务,并在注册后立即进行使用。通过应用程序的单一操作步骤可以帮助用户理解这个应用的优势以及对他们是否有用。此外,只为用户展示最重要的功能选项也很关键。一股脑的将众多功能倾泻给用户并没有什么实际意义。需要牢记的是,用户通常想从应用中获得或多或少的信息,但却不想跳进细节中,用户没有时间也没有兴趣。在空白状态中激励用户,可以显著地降低用户的流失率,并帮助潜在的用户更好的理解程序系统是如何工作的。Button
许多webapp拥有自定义样式的按钮。默认的输入按钮可能不适合某些情景,文字链接有时候看起来又太含蓄。需要注意的是,把链接做成Button样式的时候,它们就应该有button的表现形式。比如,在点击button的时候它们应该会出现被“压”过的样子。这不仅仅是纯粹的视觉变化。及时反馈给用户,可以使webapp感觉起来更灵敏,与桌面应用程序的用户体验更接近。可以使用CSS添加按钮的“pressed”等状态,实现在不同状态下显示不同背景图片的功能。情境导航
在既定的情境下考虑用户希望看什么、需要什么是非常重要的。不需要在每一个地方都放置相同的导航控件,因为用户不是在任何情况下都需要它们。上下文情境导航最好的一个例子就是Office2007中,原先默认的工具栏集合被换成了带状控件形式。每一项tab控制着一组相关联的功能,如编辑图形、校对或者简单书写。Webapp可以从这种上下文情境导航中获益,仅展示用户需要的、而不是所有可用的功能,从而保持用户界面的整洁清爽。关键功能
并不是所有的控件都拥有相同的重要性。例如创建一个新的条目,页面中会有“创建”“取消”两个button.这里的“创建”就要更加重要些,因为这是大多数情况下用户即将要做的事情。极少的情况下用户才会去点击取消。虽然这两个控件并排放置,但是不要给予相同的重视程度。为了将注意力引导到“创建”上,我们可以尝试使用不用的风格或样式。一种方式是将“创建”设计成button样式,“取消”设计成文字链接样式。另一种方式是在视觉上使用使用不同的颜色,并使button略有凸起的效果。这样便于抓住用户的目光。优点
第一、使用W3C标准的HTML语言开发,能够轻松实现跨平台,移动应用开发者不再需要考虑复杂的底层适配和跨平台开发语言的问题。与此同时,使用HTML来开发的WebApp在投入上会大大的低于传统的Native App。第二、基于当下开始普及流行的HTML5,Web App可以实现很多原本NativeApp才可以实现的功能,比如LBS的功能、本地数据存储、音视频播放的功能,甚至还有调用照相机和结合GPU的硬件加速功能。第三、移动应用的迭代周期平均不 到1个月,用户不需要频繁的重新下载与升级。而WebApp则无需用户下载,并且和传统网站一样可以动态升级。第四、Web App有App的特性,更有Web的特性。每一个Native App在当前的用户使用场景下是相对孤立的,而WebApp则可以像传统互联网网页那样相互链接,从一个Web App直接跳转到另外一个WebApp。这无论是从用户的使用体验层面还是从应用之间的数据传输来看都是非常不错的选择。[2]制作
常用工具
ASP,PHP,HTML,JAVA等。使用这些常见的网络开发工具,可以制作绝大部分的webapp程序,使其在网站页面上实现传统的C/S架构软件的功能,也就是我们常说的SaaS模式。其他工具
CBX,AthTekWebAPPKit等。CBX和AthTek WebAPP Kit都是国产软件,它们的主要功能就是以将使用传统编程语言如C,C++,Delphi等开发的C/S架构客户端软件工程,以所见即所得的方式,快速部署到网络服务器上,让传统的编程语言也能够实现基于web的互联网应用程序开发。一键生成webapp工具
百度SiteApp是致力于为开发者、站长提供从生成WebApp到流量、用户引入再到变现的综合服务平台,亦是国内首家的WebApp在线生成服务平台。监测性能
测试工具:qtestin,Keynote,YouMonitor等。通过这些在线监测可以对webapp的性能指标如:不同地区不同设备的响应时间、可用性、用户体验等进行监测。当然,有些服务是需要付费的。其中qtestin(又名云测宝)是国产,其他两家是国外的。本地测试:如在不同设备上测试webapp的兼容性等等,需要自己布置设备和收集反馈结果,特点是真实有效。Web App、Hybrid App、Native APP对比Web App(网页应用) | Hybrid App(混合应用) | Native App(原生应用) | |
开发成本 | 低 | 中 | 高 |
维护更新 | 简单 | 简单 | 复杂 |
体验 | 差 | 优 | 优 |
Store或market认可 | 不认可 | 认可 | 认可 |
安装 | 不需要 | 需要 | 需要 |
跨平台 | 优 | 优 | 差 |