《HarmonyOS:领航者说》技术公开课来啦,大咖分享、实战解码,不容错过 了解详情
写点什么

Fastbook:Sencha 想要证明 HTML5 现已“就绪”

  • 2013-01-10
  • 本文字数:1550 字

    阅读完需:约 5 分钟

不久前,Sencha 创建了 Fastbook,这是一个模仿 Facebook 原生应用的 HTML5 应用,在 iOS 与 Android 上的性能表现差不多,Sencha 借此想要证明“HTML5 现已就绪”。

Facebook CEO Mark Zuckerberg几个月前曾经说过“公司最大的失误就是在HTML5 上投入太多,因为HTML5 尚未就绪”,公司决定为iOS 与Android 创建原生应用,后者在一周前已经发布。常见的说法是HTML5 尚未“就绪”、速度不够快、由于缺少合适的工具导致开发起来困难重重。

来自 Sencha (创建了 HTML5 及工具的知名公司)的两位开发者决定证明HTML5 已经就绪,并通过几个月的业余时间创建了 Fastbook 。Fastbook 是个 HTML5 应用,模仿了 Facebook 的原生应用,通过 Facebook API 进行真实的 FB 数据访问(你应该在移动设备上使用该应用,在桌面浏览器中似乎不行)。

下面的视频展示了在 iOS/iPhone 4S 与 Android/Galaxy Nexus 上对原生 Facebook 应用与 Fastbook 进行的测试。令人惊讶的是,在加载动态新闻并滚动新闻时,HTML5 应用的性能与 FB 原生应用一样好,在几处甚至还超越了 FB 应用(也许需要翻墙才能观看视频——译者注):

  • 在不同视图间切换时,HTML5 应用会缓存数据。FB 原生应用则会重新加载动态新闻
  • Fastbook 使用了嵌套的无限列表来展示评论,这提供了更棒的用户体验
  • Fastbook 还提供了 landscape 布局
  • 在 Android/Galaxy Nexus 上,HTML5 应用加载数据的速度要快于原生 Facebook 应用

Fastbook 创建者认为如果使用“网站开发方式”并且没有使用“正确的应用开发工具”的话,那么 HTML5 应用的表现就会很差劲。

他们还发现 Facebook 的原生应用至少有两处大的瑕疵:

  • 它依然是个混合应用:“News Feed 已经被移到了本地,并且拥有设定页面,但很多其他应用 UI 只是简单地向 m.facebook.com 发送 HTTP GET 请求而已。现在的原生 Facebook 应用是个混合 Web/ 原生应用:既有在 m.facebook.com 上渲染并在 UIWebView 上显示的内容,也有原生的 Objective-C 组件”。
  • 它所传输的数据超过了自身的需要,每 10 个条目就需要传输 15KB 到 20KB 的 gzip 压缩 JSON 数据,这其中很多数据并不是渲染实际视图所需要的。在代理服务器上清除 FB 数据后,Sencha 团队将数据传输量减少了 90%。

为了让示例能够成功运行起来,Sencha 对其 Touch 框架进行了几处改进:

  • 为拥有未知数量条目的页面添加了一个新的 Infinite List 组件。该列表包含了少量 DOM 结点,可以重用以渲染前一个 / 下一个条目。这有助于减少内存使用量,并且会极大降低大页面的渲染时间。
  • 添加了一个新的 Sandbox Container,“以编程的方式拆分复杂视图并将其渲染到自己的 iframe 中,这会将 DOM 树分割开来”。这么做的好处在于,动态新闻显示会更快,因为 News Feed、Timeline 与 Story 视图现在可以使用不同的容器了。
  • 与现有 Task Queue 更好的集成,这可以“防止对 DOM 读写的交叉,消除了不必要的布局。这与新的沙箱技术的结合能够极大减少复杂视图代价高昂的布局,比如说 Timeline 与 News Feed”。
  • 添加了一个新的 AnimationQueue 类,它会将耗时的任务推迟到 CPU 空闲时执行。这对滚动很有帮助:当用户快速滚动动态新闻时,图像加载与渲染会暂停,直到滚动停下来为止,这是一种推荐做法。
  • Fastbook 使用了 WebWorkers,它可以在单独的线程而不是 UI 线程中获取数据,使得滚动更加平滑。

如果说去年夏天 HTML5 还不行的话,那么 Sencha 的这个示例就表明了现在的 HTML5 可以与原生应用一样快,这证明了 HTML5 现已“就绪”,即便对于 Facebook 这种大型 Web 应用来说亦是如此。

Sencha 还发起了 HTML5 Is Ready ,这是一个应用竞赛,提供了 $20,000 奖金和设备,为的就是证明“优秀的开发者配上优秀的 HTML5 工具是可以开发出惊艳的应用的”。

查看英文原文: Fastbook: Sencha Wants to Prove HTML5 Is “Ready”

2013-01-10 03:372809
用户头像

发布了 88 篇内容, 共 269.2 次阅读, 收获喜欢 8 次。

关注

评论

发布
暂无评论
发现更多内容

Frontier AI Moneyball发布新一代人才数据

财见

通义灵码 - HTML智能编码辅助AI工具

阿里巴巴云原生

人工智能 云计算 测试

从识别到推理:人工智能能否实现自主思维?

天津汇柏科技有限公司

人工智能

通过API接口实现1688图片搜索商品功能全攻略

Noah

AI数字人的应用领域

北京木奇移动技术有限公司

软件外包公司 AI技术应用 AI数字人

CST设置多层背景材料详细教程

思茂信息

cst电磁仿真 CST软件 CST Studio Suite

给Ai-Agent重塑真身 ---浅谈如何优雅地拆解AI-Agent

京东科技开发者

AI 辅助编程:人机协作驱动的开发效率革命与技术路径选择

代码制造者

#AI编程

Nacos托管LangChain应用Prompts和配置,助力你的AI助手快速进化

阿里巴巴云原生

阿里云 云原生 nacos

Swagger 中的 x-nullable 是什么意思?

数据追梦人

im即时通讯 | BeeWorks为企业构建专属的内部沟通软件

BeeWorks

即时通讯IM 私有化部署 企业级应用

动态化-罗码(京东科技一码多端解决方案)介绍

京东科技开发者

从效率到创新:iVX 驱动的大型企业研发体系升级路径

代码制造者

低代码 无代码

IngressNightmare:Ingress Nginx 再曝5个安全漏洞,可接管你的 K8s 集群

阿里巴巴云原生

阿里云 云原生 Higress

AI数字人开发的技术难点

北京木奇移动技术有限公司

AI技术开发 软件外包公司 AI数字人

不懂API接口,产品真的做不好吗?说点大实话

代码忍者

API接口

AI如何降本增效 将零售商从“Excel地狱”中解救出来?

第七在线

监控指标太多,VictoriaMetrics 如何自保?

巴辉特

Victoriametrics

ClickHouse 的“独孤九剑”:极速查询的终极秘籍

京东科技开发者

Tata Communications获评领导者

财见

制定国际标准!腾讯云 EdgeOne 产品能力入选 3GPP 核心技术规范

极客天地

深度学习的下一个突破:从图像识别到情境理解

天津汇柏科技有限公司

人工智能 深度学习

鸿蒙版小红书如何让图库访问完全由“你”掌控

HarmonyOS SDK

harmoyos

如何优雅实现电商API的统一调用:订单与物流接口整合实战

代码忍者

API 接口

RK首款AI四模机械键盘来袭!一机多用超进化,让时间更自由

科技热闻

浙江大学与阿里云宣布合作人工智能通识课,通义灵码系列课程率先落地

阿里巴巴云原生

阿里云 云原生

浙江大学与阿里云宣布合作人工智能通识课,通义灵码系列课程率先落地

阿里云云效

阿里云 云原生

数据驱动金融韧性升级,开启数据交换“新范式”:构建“实时、国产化强适配”的数据交换与共享平台

tapdata

数据交换 数据共享 数据集成工具 实时数据交换 实时数据共享

首批首家!DataCanvas Alaya NeW智算操作系统顺利通过中国信通院“大模型推理平台”标准评估

新消费日报

利用 AWS Signature:REST API 认证的安全指南

数据追梦人

私有化视频会议系统,业务沟通协作安全不断线

BeeWorks

即时通讯IM 私有化部署 企业级应用 局域网视频软件

Fastbook:Sencha想要证明HTML5现已“就绪”_Meta_Abel Avram_InfoQ精选文章