写点什么

Angular 移动工具集要让 Web 应用有原生的感觉

  • 2016-05-12
  • 本文字数:1048 字

    阅读完需:约 3 分钟

决定为哪个平台构建应用一直是个挑战。开发人员应该把时间和金钱花在原生实现上,还是完全专注于 Web,或者是某种组合?新增加的 Angular 移动工具集(AMT)使用新的 Web 平台 API 让 Web 应用有了更多原生的感觉,希望可以为做这种决定的人减轻一点压力。

在 ng-conf 2016 大会上,Jeff Cross 和 Alex Rickabaugh 花时间介绍了 AMT 以及它如何帮助开发人员让 Web 应用的行为更像原生应用。Cross 做了总结:

“Progressive Web Apps”是以一些已经在某些 Web 浏览器中实现了的新兴 Web 标准为基础的最佳实践和技术。对于一些普通的 Web 应用,你使用新的平台 API 添加新的功能,让它们更加强大。它们可以在任何平台上工作,但最好是工作在它们可以更多地利用新的技术和 API 的平台上。

这些技术的主要目标是让应用可以立即加载、离线工作、可安装,并提供通知功能。通常,原生应用默认就具备这些特性,但在 Web 上实现这些特性并不容易。在这四个特性中,Cross 和 Rickabaugh 重点介绍了前三个以及对应每一个特性的技术:

  • App Shell(立即加载)
  • Service Worker(离线)
  • Web App Manifest(可安装)

Cross 说,App Shell 是指“包含动态内容的静态 UI,通常由一个工具栏和某种导航……供所有应用程序视图使用的东西。”在离线编译过程中,AMT 部分地依赖 Angular Universal 生成静态内容。

原生应用的其中一个好处是,一旦安装,即使没有网络,也总是可以保证最低限度的使用。AMT 依赖 Service Worker 在后台下载应用代码,因此,应用可以脱机工作。一个意外的结果是,在后续加载时,应用的启动速度更快,因为它已经有了代码,省去了网络和下载调用。

使用 App Shell 和 Service Worker 可以将首次同示例应用交互的时间从 2356 毫秒减少到 128 毫秒。

最后,Rickabaugh 说, Web App Manifest 是“一个标准,允许你指定应用程序的元数据。”其用途是允许将 Web 应用“安装”在设备上。运行这些应用中的任何一个,其外观和感觉都跟原生应用一样,因为浏览器边框可以隐藏。

最大的问题是有关 progressive web apps 的这三项技术中有两项在 Safari 或 Edge 浏览器中无效。

App Shell 之所以有效是因为它在应用加载前会渲染成 HTML 传给客户端。Service Worker 是一项尚处于发展中的 Web 平台开发技术,随着时间推移,会有更多的浏览器支持。Web App Manifest 只在 Android 上有效。iOS 目前有自己的方式让应用出现在用户的主界面上,而不需要浏览器边框。

感兴趣的读者可以在 YouTube 上观看完整视频

查看英文原文 Angular Mobile Toolkit Tries to Make Web Apps Feel Native

2016-05-12 19:003277
用户头像

发布了 1008 篇内容, 共 399.5 次阅读, 收获喜欢 345 次。

关注

评论

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

豆包MarsCode上线新功能 | 告别复制粘贴,一键 Apply 让你编程效率再提升!

豆包MarsCode

开发者工具 AI编程 豆包MarsCode 代码工具

驱动性能提升,如何加速基于龙蜥和企业平台的Arm系统开发与部署进程?

OpenAnolis小助手

操作系统 龙蜥社区 龙蜥meetup

GPT 论文作者 Alec Radford 离开 OpenAI,曾参与开发 Whisper;闪极 AI 拍照眼镜支持全天候记录

声网

Taro 鸿蒙技术内幕系列(四):JDImage 自研鸿蒙图片库

京东零售技术

taro 鸿蒙

【YashanDB知识库】YMP迁移过程中报错YAS-02143或YAS-02193

YashanDB

数据库 yashandb

送你一瓶好运喷雾,2024BAT大厂最新Java热门面试题及答案总结

Summer

Java 程序员 面试 架构师 大厂

京东大数据治理探索与实践 | 京东零售技术实践

京东零售技术

大数据

从高代码到低代码,火山引擎大模型产品、能力再升级!

Geek_2d6073

怎么制作甘特图?10个甘特图模板案例盘点!

职场工具箱

项目管理 甘特图 办公软件 绘图软件 甘特图软件

【IoTDB 线上小课 10】为什么选择 IoTDB 管理时序数据?

Apache IoTDB

2024开放原子开发者大会龙蜥参会指南一览

OpenAnolis小助手

操作系统 龙蜥社区

产品品牌战略升级!原WorkPlus正式改名为BeeWorks,版本重要更新

BeeWorks

智源最新评测结果发布:豆包大模型“主观评测”排名第一,多榜单位居国内第一

Geek_2d6073

荣誉|奇点云创始人行在入榜《2024中国数智化转型升级先锋人物》

奇点云

大数据

给我2分钟,保证教会你在Vue3中实现一个定高的虚拟列表

快乐非自愿限量之名

JavaScript Vue

科技是把双刃剑,巧用技术改变财务预测

智达方通

企业管理 科技创新 全面预算管理

深入解析 StarRocks 物化视图:全方位的查询改写机制

StarRocks

鸿蒙原生开源库ViewPool在OpenHarmony社区正式上线

最新动态

工作中这样用MQ,很香!

不在线第一只蜗牛

Java MQ 消息列队

Flink 2.0 存算分离状态存储 — ForSt DB

Apache Flink

大数据 flink 实时计算 数据处理 存算分离

【YashanDB知识库】update (子查询) set ORG_ID_STAN -ID 改写

YashanDB

数据库 yashandb

中化信息与枫清科技深化合作:共探“AI+”产业新生态

Fabarta

数智化转型 #大模型

Kube-state-metrics 可观测性最佳实践

观测云

kubernetes 运维

让AI碰撞!“天翼云息壤杯”高校AI大赛江苏赛区交流会热力开场!

天翼云开发者社区

云计算 AI

大文件传输与断点续传实现(极简Demo:React+Node.js)

EquatorCoco

前端

一份榜单带你重温2024年那些值得追的影视综漫

最新动态

降本增效!阿里云相关业务团队助力小鹏汽车节省云上资源开支 | 龙蜥案例

OpenAnolis小助手

操作系统 龙蜥案例

【YashanDB知识库】Oracle pipelined函数在YashanDB中的改写

YashanDB

数据库 yashandb

数据云平台的可观测性

奇点云

【YashanDB知识库】XMLAGG方法的兼容

YashanDB

数据库 yashandb

“息 壤” 升 级 !

天翼云开发者社区

云计算 生态大会

Angular移动工具集要让Web应用有原生的感觉_JavaScript_David Iffland_InfoQ精选文章