移动APP如何做好产品app界面优化都有什么内容

  据了解整个移动App客户端的設计和开发是一项非常庞大的工程。若想开发一款相对较优秀的App没有3至6个月是不可能竣工的。移动App客户端的开发流程包含哪些?重要环节叒有哪些?人员配备怎么样?本文将进行简单介绍:

  一般的及上线流程 步骤如下:

  开发一款App首先要有明确的产品思路。然后根据需求进行App的主要功能设计以及界面设计其实严格来讲,App的开发是一个不断推敲的过程

  一.App产品应用需求分析与设计:

  针对产品的功能需求,找到合适的方案和设计理念;比如页面风格、整个界面的布局、关键界面的设计、文字及其他的UI等确认在通过一轮用户需求分析之后,将整理出来的需求分类、整理、排序成功能结构模块此时可以利用现有的功能模块搭建一个简单的产品原型,有点类似于一个App產品的草图它可以将基本的功能结构展示给需求方,可以借助产品原型设计软件模拟出相似的App产品

  二、App修改美化效果图

  产品原型出来后,我们在正式设计中还要对其进行美化处理根据App的表现内容进行版面结构设计,然后对每一块区域进行相应的配色并绘制烸个功能菜单的图标及其他页面元素的设计,最终设计出所有的App界面效果图

  按照需求分析整理出来的功能数据处理情况,建立合理嘚数据库表结构app界面优化都有什么内容数据算法,提升数据的处理效率保证在使用APP的过程中数据的安全性、准确性、稳定性和及时性。

  App在核心处理过程中均是由服务器端的完成的,客户端仅仅需要进行数据的收发即可这是因为用户的移动端设备配置及存储容量囿限,因此核心数据的计算不会放在这里需要返回服务器处理才行。服务端的强大也决定一个App的使用承载量比如直播类app的带宽需求则異常庞大。

  有了服务端客户端就更不能少,这也是最终的应用终端在按照产品经理设计的App进行开发时,主要是对设计效果图的代碼进行实现并写入功能调用的接口,连接服务器端口方便与服务器端的数据进行交互。最后在根据手机系统的不同对Android和iOS的设备软硬件情况进行App开发和app界面优化都有什么内容,最终开发出与效果图一致的App客户端

  总的来说:App产品应用需求分析与设计+UI设计+数据库搭建+垺务端的开发+最终应用终端=开发完成。

  ps:最后必须对App程序进行系统的测试再分别上传到各应用商店中。App在使用过程中还要注意做好ㄖ常维护工作

  免费获取App开发解决方案和详细报价单:

1、先把网站的功能和信息架构梳悝出来建议使用mindmanager工具。
2、整理成list然后区分出哪些是主要功能,哪些是次要功能做个取舍,因为APP放不下所有功能excel即可。
3、了解下各岼台产品标准化界面和控件是什么情况再参考同类产品设计个初步产品形态。用白纸白板,excelword,axure都可以画
4、详细评估下各模块和主偠逻辑设计是否有误,评估下每个主要操作流程是否符合使用习惯并且有很好的体验。邀请一些典型用户做测试5个测试人就可以基本判断出设计是否合理。
5、现在可以请开发人员做实现评估(前期最好有沟通)评估完开发可行性后设计就算完成了。产出原型/文档/Function list等等嘟可以
6、开发过程中保持和开发人员的及时沟通,一定会有些变更和调整做好变更记录和文档更新。
7、最后就是测试发布了。发布仩线后就算告一段落了完成了阶段性的工作。

手机没法截小图就删除了重新安裝一下私以为图标的做的很有逼格和清爽

上图为为更新前,下图为更新后 [图片未上传成功]

还可订阅各种关键词的标签专栏

不论是用户操莋和ui都深得俺心唯一讨厌的就是最后安装时有个绑定安装的有道云笔记,太操蛋…安装时请注意

看文章下面会经常弹出一个聊天窗口看的很难受有心发展社交功能,可惜弄巧成拙了

刚刚get了一个新的体验,长时间切出lofter界面时再打开可获得文艺buff加成

[图片未上传成功] [图片未上传成功]

原标题:如何设计移动APP的加载与刷新策略

编辑导读:移动APP在使用时,经常会遇到需要加载和刷新的情况当用户停留在加载界面的时候,注意力都集中在这里我们应該如何设计这个页面呢?本文作者对此发表了自己的看法与你分享。

你好我是馊面包,本文 4489 字分享一些移动端APP的加载和刷新机制。

夲篇文章我会从“加载目的”的维度来对加载进行分类主要分为:数据加载和操作过程加载。

包含从单个元素到整个页面在内的所有对數据的加载

应用中所有操作(提交信息、关注、订阅等)的加载过程。

数据加载分为两种情况:页面有缓存和页面无缓存

大家可以尝試关掉WiFi和4G,然后打开淘宝和美团你会发现它们的首页都是有内容的,或者说只会存在少部分内容缺失这时候页面的内容就是上次打开APP緩存的内容。

APP为了避免空白情况的出现会对数据做缓存处理,这样即使用户网络不好的时候打开APP也不会出现空白的现象然后APP再进行加載,就能把内容衔接上

这样处理的目的有两个:

  1. 一是提升用户体验,增加使用流畅感
  2. 二是减少用户关闭APP的概率,增加粘性人的注意仂和忍耐有限,一旦出现空白而网络又不流畅用户耐心耗尽的后果就是关闭APP,除非你是微信这样的户“不得不用”的产品

那么网络不恏的时候有缓存和无缓存该如何处理,用户体验会更好

现在大多数APP都做了缓存处理,打开APP的时候首先展示缓存内容然后才进行数据的加载,这样处理的目的前文也说过:用户体验更好使用更流畅。

先显示缓存再加载新内容的知乎

知乎会把用户上次浏览的内容缓存下来用户再次打开APP的时候显示的是上次最后浏览的内容。

但是值得探讨的是在网络连接的时候知乎的‘推荐’和‘热榜’板块以及虎嗅网嘚首页新闻并没有自动加载内容,而是选择让用户手动加载而知乎的‘关注’板块却在进入页面时自动进行刷新。

我想这里的策略应该昰基于用户的习惯而来的对于‘关注’的内容,用户既然单击了它说明用户是想看自己关注的内容的最新动态就如我们每次进入朋友圈时想看的一定是最新的朋友圈动态,这是人的习惯或者说人性

对于热榜的手动刷新起初我是不理解的,但是当我多次切换tab的时候就发現了如果我每次切换热榜都更新一次,那么就会导致这样一种情况:我点击热榜热榜更新,此时我查看榜单的内容我看到了一半,這时候我突然又想搜索一下“怎么瘦小腿”看完了之后我想去把剩下的热榜内容看了,这时候我点击热榜热榜刷新,我发现榜单完全變了我看不到之前的内容了。现在知乎的热榜有50条如果频繁刷新的话,那么可能导致热榜后半部分内容展现率很低

除了内容资讯类APP外,音乐视频类也是缓存大户

毕竟这些产品是由内容撑起来的,一旦没有内容APP就空了。

网易云音乐目前采取的方式是WiFi环境自动缓存歌曲这样就能在无网络的环境也能听歌。

利用这个方法可以让我用过期的会员账号听会员才能听的歌曲不过一旦联网……就game over了……

显示緩存同时给与无网络提示的网易云音乐

无缓存的刷新场景较有缓存的情况会多很多,毕竟手机容量有限总不能把所有内容都给用户缓存丅来。

无缓存有以下几种加载方式:

白屏加载意思是进入界面前无缓存进入界面后才加载内容,由于事先没有缓存会出现白屏的现象。

白屏加载的加载方式有进度条加载和loading动画

H5页面和浏览器网页一般会使用进度条加载,APP原生加载一般使用加载动画也就是常见的‘菊婲’加载,或者有的APP为了缓解用户点焦虑感和提升品牌曝光度会自制有趣的加载动画

浏览器使用进度条,美团使用菊花

白屏加载在APP中适匼界面内容不固定或者内容不多的页面

顾名思义即是先加载数据少的文字,后加载数据大的图片

目前很多应用包括美团和得到都包含這种设计方式,这样的加载策略可以很大程度上提升产品的流畅性

如下图,美团商家详情先加载文字信息后加载商家图;以及得到的課程详情也是先加载文字信息后加载图片信息。

上一点说的是分步加载先图片后文字,那么如果图片加载比较慢怎么办

这时候就可以使用兜底图的方式。

兜底图是在加载图片的时候对图片或者类似图片的位置做的一个占位图

加载顺序是:兜底图→线上图

兜底图是目前市面上产品应用得比较多的加载策略,我想几乎每个叫得上名字的APP都会使用这个加载方式少数产品会直接使用色块显示,多数产品会展礻品牌logo

36氪和网易新闻的占位图则直接使用的纯色色块,个人比较倾向于增加品牌曝光和趣味性的logo展示但是纯色色块的好处是可以让研發直接写,不用切图一定程度可以减少页面资源占用。

骨架屏最先是应用在网页上的一种占位方式一般使用和页面布局相似的矩形色塊来展示,现在也广泛用在移动应用上

由于是固定的矩形块布局,所以骨架屏更加适合页面内容布局相对固定的页面比如列表页、详凊页等。

目前有相当多的产品都应用了骨架屏比如知乎、美团、得到、企鹅体育等等。

智能加载的意思是根据手机网络状况选择加载方式

这种判定方式在流量还没这么便宜的时候尤为重要,不然不小心看个视频就可能把话费烧光虽说现在流量便宜很多甚至很多人都花鈈光每个月的流量,但是这个提示还是非常有必要的

因为在直播和短视频如此盛行的今天,即使用户愿意为流量买单我们也需要给与提礻避免用户看直播和视频导致流量用光。

如果不做流量提示一来体验不好甚至会遭到投诉,二来用户会没有掌控感

毕竟每个人内心其实都有一个想要掌控全世界的小怪兽不是吗,虽无法掌控世界至少能让我掌控自己的手机流量吧…

智能加载我调研了目前市面上主流APP(主要是视频直播类)的处理方法,主要有以下几种:

  • 适用于:非即时播放和耗流量高的应用(长视频、音频等)
  • 形式:弹出框、播放区域提示
  • 策略1:弹框给用户选择提示频次
  • 策略2:手动点击继续播放后播放下次进入使用toast提示(爱奇艺)
  • 适用于:即时播放和耗流量低的应鼡(直播、微视频等)
  • 策略1:toast提示1次后不再提示(印客直播、大众点评、今日头条)
  • 策略2:每次看视频/直播均提示(淘宝)
  • 策略3:自行设置提示次数
  • 个人中心设置允许3G/4G自动播放

操作后加载形式上有弹出弹框提示或者让用户选择提示次数。

比如懒人听书(听书类APP)目前就是这樣设计的用户可以自行选择播放设置,用户选择今日不再提醒之后今天内用户听语音都不再提示。

针对语音类产品这样设计影响不大听语音产生的流量比视频要少得多。

另一种形式是播放区域提示:

这种方式主要应用在视频类产品中比如优酷视频、QQ、腾讯视频、爱渏艺等视频或者包含视频板块的APP。

由于视频会消耗较多流量大多数包含视频的APP都会做比较强的流量提示。

个人比较欣赏的是腾讯视频和QQ這样的提示方式针对单个视频做流量统计,点击可继续播放流量数据展示能给用户最大的安全感。

当然这种方式的开发成本不低,洳果资源有限的情况下选择其它方式也无可厚非

比如爱奇艺和优酷在播放窗口的提示,用户选择继续播放后下次进入界面时可以使用轻提示即可即可以提示用户当前网络环境又可以避免每进入视频页都需要手动选择播放。

针对一些直播类产品更倾向于使用toast提示因为这類产品的视频是即时播放的,如果直接打断用户的观看过程在使用不够好

目前淘宝、映客等直播均使用的是toast这样轻量级的提示方式,尽量做到不中断用户的观看过程

仅做toast轻量提示

懒加载也叫延迟加载,意思是首次加载用户看得见的部分当用户滑动屏幕时再进行加载,吔可以说是按需加载

懒加载的目的其实很好理解,一次性加载完数据对服务器压力会比较大而且也没太大必要按需加载是比较好的节渻资源的方式。

懒加载是目前应用中用得非常多的一种加载方式尤其是列表的加载场景,比如电商APP淘宝京东的商品列表、美团的订单列表、新闻列表等等都会用到懒加载

需要我们注意的是,做交互的时候需要定义加载数量规则实际工作中会根据场景来定义加载数量。

既能让用户无感加载又能减轻服务器的压力

一般文字类的数据少的列表一次可以多加载几条,20到50不等图文和视频类加载可以少加载几條,一般10到20不等不过具体还是需要根据场景定义。

预加载顾名思义就是提前帮用户加载的意思有预测用户行为的意思,预测用户可能會打开某几个页面然后提前将这些页面的内容加载出来,这样用户在点击的时候几乎能够无缝衔接体验会非常好。

劣势也很明显由於是预测,就避免不了用户可能不会点击到下一个页面这就导致我们事先加载的资源白加载了,所以预加载的应用目前还是不够广泛的下面会举几个例子具体说明。

预加载下一级界面内容在新闻资讯类的产品中应用得较多比如今日头条、虎嗅,当我进入首页后把网关掉后仍然点击进入前2条新闻仍然可以看到新闻的文字内容

这里涉及到一个预加载的加载策略:

  • 预加载新闻前2条(或3条)数据的下一级页媔
  • 下一级页面仅加载文字部分(图片部分可以进入页面后再行加载)

目前今日头条和虎嗅就是这样处理的。

操作过程加载在优先级上我认為比数据加载更重要数据加载影响体验,但是操作过程加载不完善可能涉及到业务流程出现问题

举一个常见的提交信息场景:

用户提茭订单时会点击【提交】按钮,点击后将数据传给服务器生成订单

此时如果网络不好,数据还没到达服务器端用户再次点击【提交】按钮,那么就会提交两次数据也会生成两条订单,严重的话会造成用户损失

但是如果这里的【提交】按钮增加了一个提交中的加载状態,或者加一个全屏加载中的loading效果使得用户无法点击,那么用户就不能重复提交数据也不会造成重复订单的出现。

所以可见操作过程的加载是多么重要。而这部分又是新手设计师最容易忽略的地方往往等到产品测试甚至上线后出现问题才来修改,给别人留下不专业嘚印象事小造成用户的损失事大。

下面我总结了3种常见的操作过程加载形式:

    在数据加载的章节提到过白屏加载中包含了模态加载模態加载一般会使用一个loading动画来展示。

    加载过程中用户无法进行其它的操作最大程度保证了流程的单向性。

    这里提到的模态加载是针对数據提交的‘加载中’的一种状态表示用户提交数据后无法进行其他操作。

    这里需要注意的是需要保留【返回】按钮

    万一用户因为网络鈈好或者其它问题出现了无限加载中的状态,还能依靠返回来结束当前加载不然用户只能依靠“杀”后台来关掉APP,这是极其不好的体验

    控件自身加载最常见的是按钮的‘加载中’状态,大多数网络良好的时候我们甚至看不见这个状态但是它确实实实在在非常重要的。

    楿比全屏的模态加载按钮的加载有一个弊端就是用户可能更改其它部分的数据,虽然概率极其微小但是保险起见,涉及金钱类的历程朂好只用模态加载

    后台加载的意思是用户在操作后,客户端立刻反馈操作成功然后把请求放到后台与服务器交互。

    比如常见的点赞、收藏等操作当我们点击后会发现状态立即改变,然后在后台和服务器进行交互操作虽然可能操作失败导致收藏点赞失败,但是相比成功的概率失败微不足道,何况及时反馈能够大大提升用户体验呢

    比如美团商家详情,当把网络状态调至3G时我点击【关注】按钮能够竝即变为【已关注】。

    还有一个非常典型的例子是朋友圈的点赞即使把网络关闭后仍然可以点赞。

    先改变状态后处理交互

    本文由 @馊面包 原创发布于人人都是产品经理。未经许可禁止转载

本文仅代表个人观点不足请见諒,欢迎赐教

小钗从事单页相关的开发一年有余,期间无比的推崇webapp的网站模式也整理了很多移动开发的知识点,但是现在回过头来看webapp究竟是好还是不好真是一言难尽哟!

webapp使用JavaScript修改页面;紧接着再从服务器传递更多数据然后再修改页面,如此循环

从性能的角度看,在現代浏览器中单页面Web App已经能够和普通native应用程序相媲美而且几乎所有的操作系统都支持现代的浏览器。

所以很多人认为webapp是HTML5流行过程中最夶的赢家,那么他有哪些特定呢

用户体验,对于内容的改动不需要加载整个页面这样不会出现白页情况,页面与页面无缝切换甚至帶有一定动画效果。

请求量少请求内容无需服务器解析,对服务器压力较小消耗更少的带宽,比如每次不需要接收完整的html结构而只需要json数据。

当然单页应用也不是完美无瑕的,他也具有以下问题:

由于历史原因单页应用对SEO支持不是太好,需要对SEO做特殊处理

首次加载量过大,首屏加载慢所以首屏需要做特殊处理。

本身入门门槛就高加之view编码需要释放资源,以免heap值过高对编码人员的要求较高。

传说中的webapp足以媲美native app事实上这个足以还有很大的距离,小钗预计这个“足以”需要用2-3年时间填平所以事实是什么呢?

事实上移动端的webapp模式的网站很少很少一淘半年前还是,这两天一看又变回来了小钗虽然对webapp抱有信心,但是信心从何而来呢

携程webapp独树一帜,去哪儿ipad介叺webapp但是国内主流网站依旧是传统网站,主要原因不过有二:

所以携程的webapp在国内,何其可贵说到这里,我都要哭出来了......

孰优孰劣非是尛钗可以论断求稳,webapp不比传统网站;求SEOwebapp需要其它解决方案;说垃圾收集,webapp需要自己释放资源

说体验,webapp需要考虑首屏加载;说动画webapp偠考虑低端手机,所以webapp还有很长一段路需要走!

小钗相信现在的webapp效果不可媲美native app,总有一天当webapp不再制约于网络、设备,那么webapp的春天不会遠

虽说如此,现阶段webapp也会有许多app界面优化都有什么内容心得、奇技淫巧可以拿出来说说的这里小钗做一次分享,希望可以对webapp的同学有所帮助 

前端app界面优化都有什么内容分为两个切入点:网络传输与DOM操作,而网络传输是制约一个网站速度的主要因素

网络传输的app界面优囮都有什么内容要点是,零请求无流量,其意是最大程度的减少请求数降低请求量。

对webapp模式的应用来说首屏加载慢是一个不可避免嘚问题,所以提升webapp首屏加载速度是提升整体网站速度的关键

以上是一个网站首页的加载时间,我们分别取其150kb与30kb网速的加载速度可以看絀会慢!若他是webapp,我们可以做一些app界面优化都有什么内容

我们应该避免页面长时间白页这个时候便提出了fake页的概念。页面渲染只需要完整的HTML以及CSS这个便是第一个app界面优化都有什么内容点。

从数据请求数以及请求量来说webapp首页的响应应该比较慢,若是任由js加载完成再渲染頁面用户很有可能失去耐心。

但是从DOMContentLoaded来看首页事实上页面响应比较迅速,所以这个加载结束后页面第一屏便渲染结束然后再异步加載js,当js改变后再动态改变dom结构中的一些关键点

这个时候一个静态HTML页面装载首屏的基本内容,让首页快速显示

然后js加载结束后会马上重新渲染整个页面这个样子,用户就可以很快的看到页面响应给用户一个快的错觉,给人感觉快得多

由webapp首页来说,不可避免的使用的js文件较多这些文件分为两类:

所以可以限定每个业务团队只会加载这四个文件,以最小降低请求数这里又涉及到并行加载,数量与容量囿一个临界值如何取这个临界值需要各位自己去实验 

虽说图片压缩是不必说的事情,但是总会有些时候你会发现一些网站的图片尺寸很夶这个需要处理,而且必须处理

以框架库为例,除了核心包以外不需要的UI或者功能库可以剔除,用到了再动态加载减少首次加载量,这个一开始就得做好做不好后期就不好改

以业务团队为例,首次加载的js与html模板会将常用的几个页面压缩合并其它页面访问时再请求,若是想提升首屏加载便可以只下载需要的页面文件

另外,以下两点尤其需要注意

① 若是你们是要的还是jQuery库的话可以考虑换成zepto了

② 勿胡乱引用第三方库,若是要引用一定是读懂源码的情况下重写使用之这样的好处是,吃得透万一有问题,能改而不是没办法又換库

该方案的原理与前面类似,我们发送Ajax请求时候应该缓存一些非实时数据,比如城市信息和常用联系人但是我们只能缓存非敏感信息

产品搜索页至列表页的请求数据会缓存30s-60s若是过期时间内用户回到列表页的话不会重新请求数据

这对服务器压力,页面响应皆是有利嘚这个在30s内事实上意义不大,可以减少一次请求

另外,对于get和post的效率曾经有人做过一次测试:

get100次平均耗时323ms;post100次平均耗时589ms,所以post方式昰比get慢的但post请求的优点是安全,并且参数没有长度限制

是选择post还是选择get,皆需要处理避免截断url,或者处处post-

只显示首屏页面,其它內容需要时再加载比如列表页、图片lazyload,皆需要做

DOM操作主要分为页面渲染与资源清理(heap控制)两者之间又相辅相成,若是DOM操作一块处理鈈好其产生的感觉就不再是慢,而是卡

所以DOM操作app界面优化都有什么内容的主要目的就是消灭页面卡的问题这个在移动端尤为重要。

页媔中的元素改变只要不影响尺寸,比如只是颜色改变只会引起repaint不会引起回流

否则reflow不可避免,这个时候便需要重新计算形成render Tree

reflow分为局部回鋶与全局回流会影响下面的,不会影响上面的元素

reflow耗用的系统资源较大DOM Tree中受到影响的节点皆会reflow,然后影响其子节点最坏的情况是所有節点reflow该问题引发的现象便是低性能的电脑风扇不停的转,手机变得很热并且非常耗电,以下操作可能引起reflow

static元素处于文档流中其渲染速度是最快的,我们做过一个测试:

webapp不是一天两天的事情总有一天,webapp会绽放其应有的风采!

我要回帖

更多关于 APP在应用市场优化 的文章

 

随机推荐