`

《金融时报》是如何做Web App离线功能的?

阅读更多

文章源自:http://www.angularjs.cn/A02Y

 

我曾在《让Web App和Native App的无聊之争消停会儿吧,看看那些明智的Web技术解决方案》中讲到过第一个选择纯粹Web App路 线的主流新闻媒体——Financial Times(金融时报)。FT产品主管曾说过,开发Web面临几个主要挑战:1. 目前Web App领域的开发文档、测试工具都很稀缺,需要自己开发测试工具来测试性能;2. 不同的浏览器性能差别很大,使得图片和视频呈现效果不一且可能出现一些Bug;3. 许多用户都是首次接触Web App,需要为用户做好使用指南;4. 做好离线功能(支持预览、离线访问、内容的收藏、下载等)。

 

最近,在Orlando FL上,Andrew Betts分享了他们在Financial Times上离线功能的一些设计原则:

  1. 依靠多种形式的存储在客户端上的各类数据:Cookies、 localStorage、IndexedDB、AppCache和Files API,并且每个本地存储解决方案之间是相互独立的。尽量精简Appcache中保存的内容,例如最基本的Javascript、CSS和HTML,只要 它能够支持Web App启动就足够了,后面的工作就交给AJAX和 eval来完成,把它们保存在localStorage中。

  2. 从订阅列表中下载最新的文章(使用JSON格式),当整个内容下载成功后,清空数据库中已有的内容,然后调用将最新下载的文章存入数据库。最后使用jQuery并调用一个模板将文章的标题显示在订阅列表中。

  3. 每当更新文章列表时,其中的每个条目都会被重新下载,所以可以将部分内容存于浏览器缓存中,这样可以快速填充AppCache。同时可以利用JavaScript API监控AppCache的可用空间并精细的指定哪些内容是需要被重新下载的。

  4. 将App的主要功能模块与Web页面完全分离,例如那些翻页、前进和后退的功能。这样,应用启动时只需要在这些模块的基础上加载内容的缓存就行了。而那些需要频繁使用的缓存一定要保存在localStorage中。

  5. Mozilla建议将 AppCache的格式更改为JSON并通过网络控制其加载,而Google正在开发一个全新的API,能够在JavaScript 中创建一个导航控制器,此控制器设定不同缓存加载的优先级,你也可以在其中自定义缓存加载规则。

  6. IE和FireFox以不同的方式管理 AppCache,在设计时需要考虑这些差异。

  7. 不同浏览器之间对缓存的大小有很大的不同,一定要确保文章表单有足够的空间供App保存离线阅读的文章。

  8. JavaScript使用UTF-16编码,其每个字符占两个字节,而如果用ASCII码(每个字符占一个字节)转化,将能够节省一倍的空间。

 

 

 

 

 

 

分享到:
评论
发表评论

文章已被作者锁定,不允许评论。

相关推荐

    APPInventor2021离线版本

    **APP Inventor 2021 离线版本详解** **一、APP Inventor 简介** APP Inventor 是由谷歌推出的一款基于图形化编程的手机应用开发工具,特别适合初学者和教育者使用。它采用积木块式的编程界面,降低了编程的门槛,...

    APP inventor2离线版(x64 最新)

    在APP Inventor 2的离线版中,这个DLL可能被用到,因为它包含了操作系统中进行文件路径操作所必需的功能。在安装或运行程序时,有时会遇到缺少DLL文件的情况,因此包含这样的文件在安装包中是必要的。 **总结** ...

    webpy离线包

    WebPy是一个轻量级的Python Web框架,专为快速开发小型但功能强大的应用程序而设计。这个"webpy离线包"包含了WebPy框架的所有必要组件,使得开发者可以在没有网络连接的情况下进行安装,这对于那些需要在隔离环境...

    APPinventor 2022 离线安装版

    总结,APP Inventor 2022离线安装版是面向初级开发者和教育领域的理想选择,它的易用性和离线功能使得任何人都能在任何地方享受编程的乐趣和创造力的释放。无论你是初次接触编程的新手,还是希望扩展技能的专业人士...

    APP inventor离线版(目前最新版本)

    4. **兼容性**:尽管是离线版,但仍然保持与在线版本的兼容性,意味着用户可以随时切换到在线模式,分享或发布他们的应用程序。 **三、手机AI助手** 手机AI助手是APP Inventor配套的移动应用,用于在手机上实时...

    Android通过Chrome Inspect调试WebView的H5 App离线.rar

    2.本包主要为了解决调试webview(类似Chrome://inspect的功能)国内404或空白页面的问题。 3.本包内自带Chrome浏览器、离线调试包,用法解压包后文档中会有详细说明亲测保证可用,离线webview调试工具,开发H5混合应用...

    ni-app原生插件开发需要的App离线SDK

    https://nativesupport.dcloud.net.cn/NativePlugin/course/android uni-app原生插件开发需要的App离线SDK,官网的资源网盘下载,太慢了~~

    uni-app离线打包100%学会

    uni-app 是一个使用 Vue.js 开发的多端框架,它允许开发者编写一次代码,同时发布到iOS、Android、Web(H5、微信小程序、支付宝小程序、百度小程序、QQ小程序、字节跳动小程序、快应用等平台。在开发过程中,有时...

    APPinventor 2022最新离线安装版 Windows

    APPinventor 2022最新离线安装版 Windows 用于图形化编写手机APP应用 实测生成的APP可在安卓、鸿蒙系统安装使用 解压密码:dapenson

    高德地图api离线化,支持uniapp,web,触屏操作

    本项目聚焦于“高德地图API”的离线化处理,使其能适应多种平台,包括uniAPP、Web以及支持触屏操作的设备。离线化的意义在于,即使在没有网络连接的情况下,应用也能继续提供地图服务,这对于一些对实时性要求不高或...

    Uniapp APP Android 离线SDK 版本号Android-SDK@3.6.17.81662-20230112

    综上所述,“Android-SDK@3.6.17.81662-20230112”是专为满足旧项目需求的Uniapp离线SDK,开发者在使用过程中应注重版本兼容性、安全更新和功能测试,以确保应用的稳定运行。同时,合理的维护计划和持续的学习新技术...

    offline-app:WEB 应用离线化研究

    PWA通过使用Service Worker和App Shell模式来实现离线访问,即使在网络不稳定或无网络时,用户仍能正常使用应用的核心功能。 HTML5的离线存储特性,主要是指App Cache(应用程序缓存)和Service Worker。App Cache...

    Uni-app 离线打包 安卓篇(含项目模板)

    【标题】:“Uni-app 离线打包 安卓篇(含项目模板)” 【正文】: 本教程主要聚焦于如何使用 Uni-app 进行安卓平台的离线打包,这是一项对于开发移动应用来说非常重要的技能,特别是对于那些在没有网络环境或者...

    app混合开发离线打包文件

    在IT行业中,混合应用(Hybrid App)开发是一种常见的技术,它结合了原生应用的性能和Web应用的便捷性。本压缩包“app混合开发离线打包文件”提供了混合APP开发所需的重要工具和资源,使得开发者能够在离线环境下...

    APP Inventor2018离线版下载(个人版和服务器版)

    APP inventor2018个人版和服务器版下载地址,以及使用说明,由于软件比较大,所以采用百度网盘的形式进行下载。

    uniapp Android离线SDK

    - 版本兼容性:确保离线SDK与uniapp的开发工具版本匹配,否则可能会出现编译错误或功能缺失。 - 更新维护:虽然离线SDK减少了网络依赖,但定期更新仍然是必要的,以获取最新的功能和安全修复。 综上所述,...

    RESP.app GUI for Redis离线安装包下载

    1. **离线安装**:由于是离线安装包,用户需先下载 RESP.app 的压缩文件,然后解压并按照指示进行安装。在没有网络的环境中,这种方式尤其重要。 2. **启动应用**:安装完成后,双击应用程序图标启动RESP.app,首次...

    给你几个web app站的例子,套个壳在浏览器中浏览就是 移动端webapp(伪APP).zip

    这种做法叫做“打包Web App”,它可以让Web App具备离线访问和获得系统权限等原生应用特性。 “用户名和密码都是decision.txt”可能是一份包含登录凭据的文本文件,用于演示Web App的登录功能。在实际开发中,存储...

    vue2安卓离线教程app-v2.1

    目前只支持安卓手机。支持手势向右滑动显示菜单功能,支持自动跳转关闭app时最后浏览页面功能。内容和https://cn.vuejs.org/v2/guide/ 完全一样,最后同步时间:2018年8月

    Matlab开发Web App服务器.docx

    Matlab 提供了 Web Apps 功能,可以将电脑设为服务器,把 App 程序发布到局域网,可以通过浏览器访问。这项功能从 2018a 版本开始提供。使用步骤包括:使用 App Designer 创建交互式的应用程序;使用 Web App ...

Global site tag (gtag.js) - Google Analytics