国内最全IT社区平台 联系我们 | 收藏本站
华晨云阿里云优惠2
您当前位置:首页 > 互联网 > Instagram技术窥探,助你打造响应式App

Instagram技术窥探,助你打造响应式App

来源:程序员人生   发布时间:2014-09-26 17:59:32 阅读次数:2425次

当一款应用出现几次死机现象,相信这是非常令人头疼的事情。令人懊恼的是,尽管这些应用会出现卡顿现象,但却拥有良好的编程、可优化的源码。即便你已经为该应用改进了性能,对于用户而言,依然会有进程缓慢现象。保持洁净的代码是必须的,然而,对用户来说,程序响应速度则是第二大重要要素。


平滑的操作界面是检验一款应用是否成功的重要因素。拥有一些职能的技巧可帮助你弥补技术上的缺陷,比如进程缓慢、3G数据加速。如何才能打造完美的用户体验呢?下面我们就从照片应用服务Instagram中一窥究竟。

1. 速度是成功的一大因素

响应式App或者应用响应速度,是给用户留下整体印象必不可少的要素。超快的照片上传速度,例如, Instagram无疑是现在最流行的一款应用,也是最成功的照片分享服务商。事实上,关于照像/摄影的应用不计其数,但它们的影响力和上传功能却是一般,这是为何呢?

用户缺乏耐心。即使是因处理器版本低,3G链接速度较慢,用户无法理解为何他们要在移动设备上等待太多时间。因此,该如何提供与Instagram相似的用户体验呢?解决的方法就是在该应用中增添一些小技巧。

良好的用户体验是一个重要因素。Instagram的团队在提升用户体验上下了很大功夫,创始人之一Mike Krieger曾做了个讲座叫“Secrets to Lightning-Fast Mobile Design”,指出如何提升应用流畅之感。感兴趣的朋友可以移步去看下。


2. 巧妙填补空白

简而言之,基本的技巧就在于开发和设计之间的优化协作。

正如Krieger所说的,”用移动体验填补空白“,因为“在等待的时候没人愿意等待”。把玩一款应用时,用户总会认为应该拥有完美的体验。为了实现这一点,可以通过显示“ like”按钮,尽管后台此时正在发送请求。Instagram就是使用这样的伎俩,当用户上传照片但还未成功上传照片时,让用户参与评论,这样能消磨用户烦躁的心情。倘若在传输过程中出错,应用程序会利用新的提示来显示错误信息。能够达到这一点,该应用还算是“乐观的”。

3. 在后台移动BITS(后台智能传送服务) 以及BYTES

Instagram的核心功能是图片上传。许多人都会好奇它是如何运作的,如此地快速、没有任何感知、无需等待。成功的秘诀不在于复杂的压缩算法或是类似的技术革命,而是上传。“在无人看到的时候移动bits”Krieger说道。


Instagram会在后台预先启动图片上传机制,用户只需选择一个过滤器即可,而其他照片应用则是除非用户明确开始上传,否则不会预先启动上传。

Instagram的一大优势是,当你启动应用时,会显示你最重要的朋友照片。不是事先下载好照片,而是应用通过优先级进行推送。如果有很多朋友喜欢这些照片,系统会自动记载同类用户拍摄的照片。通过这种方法,当你开启应用时,后台会在你不知情的情况下加载一些重要的内容――即便是信号连接很弱也能快速呈现在用户面前。

另一种巧妙的方法就是,快速登陆响应机制,如果输入表单中的数据已经可以转移,为何要等到用户点击才发送? 

4. 优化操作系统代码


利用特定平台的特殊性能与设计技巧同样重要。快速的应用应当时常被优化和调整。通常,最糟糕的情况是在Android平台上出现“该程序无法响应”,因此,你应该不惜一切代价来避免。

系统提示应用无法响应――在系统处于繁忙状态下总会出现这种情况,例如,对于诸如网络访问I / O操作。外包工作的技巧在于不是在UI线程中设置加载,而是创建一个新线程。UI线程能够阻止系统识别潜在的代码冻结。为此,Google专门设置了Android 开发者网站来避免响应错误。针对Android 应用,Developer Garden提供了App Monitor,它允许你监控响应速度和内存使用情况,以帮助你优化应用程序。

Apple公司为iOS 开发者提供了几点建议。他们建议为性能设置目标,比如,快速加载和显示应用首页。你可以测量该应用的性能并对其进行优化,直到达到目标。

后话:

Instagram的成功告诉我们,应用程序的感知速度如何决定着该应用的成败。这就需要开发者与界面设计师的通力合作,并愿意一直合作下去。

英文出自:Developergarden

生活不易,码农辛苦
如果您觉得本网站对您的学习有所帮助,可以手机扫描二维码进行捐赠
程序员人生
------分隔线----------------------------
分享到:
------分隔线----------------------------
关闭
程序员人生