【AICon】AI 基础设施、LLM运维、大模型训练与推理,一场会议,全方位涵盖! >>> 了解详情
写点什么

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

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

关注

评论

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

架构师训练营第 1 期第二周课后练习题

Leo乐

极客大学架构师训练营

SpringBoot-技术专题-提升服务吞吐量

洛神灬殇

从『用户』到『客户』,企业服务平台如何实现高效转化?

易观大数据

因材施教,阿里腾讯大牛耗时7天,整理不同人群适合的面试题合集

小Q

Java 编程 程序员 架构 面试

华为轮值董事长郭平2020全联接大会主题演讲:永远面向阳光,阴影甩在身后

华为云开发者联盟

5G ICT huawei

四年开发经验从美团、360、陌陌、百度、阿里、京东面试回来感想

Java架构师迁哥

关于招聘的一些思考

石云升

面试 考核 招聘 下放招聘权

刷爆朋友圈的字节跳动编码题,今天把解析思路分享下!

Java架构师迁哥

为什么海外服务器打开网站会卡呢?

德胜网络-阳

Git 操作

老菜鸟

git

架构师训练营 1 期 - 第二周 - 设计原则

三板斧

极客大学架构师训练营

一周信创舆情观察(9.14~9.20)

统小信uos

机构进场区块链安全基础设施准备好了么?

CECBC

区块链 数字资产

RN运行项目报错:Unable to resolve module `./debugger-ui/debuggerWorker.js` from ``

凌宇之蓝

ios android React Native

数据库-技术专题-SQL编写规范

洛神灬殇

跟着B站UP主小姐姐去华为坂田基地采访扫地僧

华为云开发者联盟

华为 技术 大牛 扫地僧

某大厂一位核心技术人员不小心泄漏的公司内部培训以及工作笔记内容,手慢无。

Java架构师迁哥

虚拟卡兑换架构设计

孙志平

传销资金盘挂靠区块链热点 肃清整顿热潮拉开帷幕

CECBC

区块链 金融

AI小白必读:深度学习、迁移学习、强化学习别再傻傻分不清

华为云开发者联盟

人工智能 学习 迁移

云小课 | 不小心删除了数据库,除了跑路还能咋办?

华为云开发者联盟

数据库 数据恢复 dba

JAVA JDBC

Isuodut

架构师训练营第 1 期第二周总结

Leo乐

极客大学架构师训练营

架构师训练营第二周学习总结

尹斌

娱乐圈套路多?看区块链如何来破解

CECBC

网红 娱乐圈

来不及解释了,快上车!快速开发平台,助力企业搭乘万物互联顺风车

Philips

敏捷开发 企业开发 互联网革命

一文快速入门分库分表

程序员小富

Java 分库分表

c++基础——杂谈2

菜鸟小sailor 🐕

c++ 语言

架构师训练营 1 期第 2 周:框架设计 - 总结

piercebn

极客大学架构师训练营

框架设计:作业

Nick~毓

架构师训练营---第二周课后练习

Jacky.Chen

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