2天时间,聊今年最热的 Agent、上下文工程、AI 产品创新等话题。2025 年最后一场~ 了解详情
写点什么

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:003725
用户头像

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

关注

评论

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

还在用Unity开发游戏?那你就out了,试试用Unity做一个答题系统吧

恬静的小魔龙

Unity

还在被电影中吧爆炸的画面震撼?那你一定不要错过这款Unity的爆炸插件

恬静的小魔龙

Unity

还在用 ListView?使用 AnimatedList 让列表元素动起来

岛上码农

flutter ios 安卓开发 跨平台开发 7月月更

个人实战经验:数据建模 “账户数据是属于维度还是账户域 ”

金松(李博源)

数据仓库 数据建模 数据中台场景实践

终于有人把操作系统、网络系统、线程进程、IO模型全部总结出来了

程序知音

Java 后端 操作系统 网络 TCP/IP

饿了么为啥给你推荐这个?本地生活搜索算法解密

阿里技术

算法 性能提升

同构+跨端,懂得小程序+kbone+小程序容器就够了!

Geek_99967b

小程序容器

2022年中国第三方支付市场专题分析

易观分析

第三方支付

带你认识8个软件设计中的谬误

华为云开发者联盟

后端 分层架构 开发

开发动态 | StoneDB 2022年版本发布里程碑

StoneDB

云原生 #数据库 大数据 开源 #开源

融云超级群的「新能力」

融云 RongCloud

ios Android;

IP地址分类及范围

郑州埃文科技

IP地址 IP地址分类 IP地址范围

26岁从计算机视觉界“黄埔军校”博士毕业,他想为车打造一双慧眼

华为云开发者联盟

人工智能 计算机视觉 天才少年 激光感知

深入理解完美哈希

C++后台开发

hash 后端开发 C++后台开发 哈希函数 C++开发

用Unity做仿真,这款图表插件我不允许你不知道

恬静的小魔龙

Unity

移动研发平台EMAS 3.0全新升级,欢迎登陆阿里云官网搜索EMAS进行体验

移动研发平台EMAS

阿里云 emas 移动测试 移动研发 产品架构

void 0 有什么意义?undefined竟然是可变的?

南极一块修炼千年的大冰块

7月月更

想要制作沙盒游戏?那么这一款插件你一定不能错过(Unity3D)

恬静的小魔龙

Unity

Spirng之Annotation注解与AOP使用

echoes

数字藏品系统开发——商城盲盒h5平台搭建

开源直播系统源码

数字藏品 数字藏品系统软件开发 NFT数字藏品系统 数字藏品源码出售 数字藏品交易平台开发

数字化转型失败的罪魁祸首是什么?

雨果

数字化转型 DaaS数据即服务

运行时,物体移动旋转缩放插件,“RuntimeTransformGizmos插件”使用教程(Unity3D)

恬静的小魔龙

游戏开发 Unity 插件 虚拟仿真 游戏引擎

这次和GrowingIO工程师一起搞事情 | StartDT Hackathon

奇点云

膜拜~ 终于拿到了美团老大哥分享的 Netty 源码剖析与应用 PDF

程序知音

Java 程序员 架构 Netty 后端技术

hive数据导入:Python脚本

怀瑾握瑜的嘉与嘉

Python hive 7月月更

同城订单同城送,爆单依旧得心应手!

CRMEB

易观分析《2022年中国数据安全市场数据监测报告》正式启动

易观分析

技术

2022年中国人工智能产业生态图谱

易观分析

人工智能

你离「TDengine 开发者大会」只差一条 SQL 语句!

TDengine

tdengine 开源 时序数据库

EMQ映云科技荣登《中国企业家》2022年度“新锐100”榜单

EMQ映云科技

开源 物联网 IoT emq 7月月更

浅谈负载

Damon

7月月更

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