Angular移动工具集Web应用原生感觉
Angular Mobile Toolkit Tries to Make Web Apps Feel Native
决定为哪个平台构建应用一直是个挑战。开发人员应该把时间和金钱花在原生实现上,还是完全专注于Web,或者是某种组合?新增加的Angular移动工具集(AMT)使用新的Web平台API让Web应用有了更多原生的感觉,希望可以为做这种决定的人减轻一点压力。
感兴趣的读者可以在YouTube上观看完整视频。
使用App Shell和Service Worker可以将首次同示例应用交互的时间从2356毫秒减少到128毫秒。
最后,Rickabaugh说,Web App Manifest是“一个标准,允许你指定应用程序的元数据。”其用途是允许将Web应用“安装”在设备上。运行这些应用中的任何一个,其外观和感觉都跟原生应用一样,因为浏览器边框可以隐藏。
App Shell之所以有效是因为它在应用加载前会渲染成HTML传给客户端。Service Worker是一项尚处于发展中的Web平台开发技术,随着时间推移,会有更多的浏览器支持。Web App Manifest只在Android上有效。iOS目前有自己的方式让应用出现在用户的主界面上,而不需要浏览器边框。
Cross说,App Shell是指“包含动态内容的静态UI,通常由一个工具栏和某种导航……供所有应用程序视图使用的东西。”在离线编译过程中,AMT部分地依赖Angular Universal生成静态内容。
这些技术的主要目标是让应用可以立即加载、离线工作、可安装,并提供通知功能。通常,原生应用默认就具备这些特性,但在Web上实现这些特性并不容易。在这四个特性中,Cross和Rickabaugh重点介绍了前三个以及对应每一个特性的技术:
- App Shell(立即加载)
- Service Worker(离线)
- Web App Manifest(可安装)
原生应用的其中一个好处是,一旦安装,即使没有网络,也总是可以保证最低限度的使用。AMT依赖Service Worker在后台下载应用代码,因此,应用可以脱机工作。一个意外的结果是,在后续加载时,应用的启动速度更快,因为它已经有了代码,省去了网络和下载调用。
最大的问题是有关progressive web apps的这三项技术中有两项在Safari或Edge浏览器中无效。
在ng-conf 2016大会上,Jeff Cross和Alex Rickabaugh花时间介绍了AMT以及它如何帮助开发人员让Web应用的行为更像原生应用。Cross做了总结:
“Progressive Web Apps”是以一些已经在某些Web浏览器中实现了的新兴Web标准为基础的最佳实践和技术。对于一些普通的Web应用,你使用新的平台API添加新的功能,让它们更加强大。它们可以在任何平台上工作,但最好是工作在它们可以更多地利用新的技术和API的平台上。
玩蛇网文章,转载请注明出处和文章网址:https://www.iplaypy.com/news/a11202.html
相关文章 Recommend
必知PYTHON教程 Must Know PYTHON Tutorials
- • python 解释器
- • python idle
- • python dir函数
- • python 数据类型
- • python type函数
- • python 字符串
- • python 整型数字
- • python 列表
- • python 元组
- • python 字典
- • python 集合
- • python 变量
- • python print
- • python 函数
- • python 类定义
- • python import
- • python help
- • python open
- • python 异常处理
- • python 注释
- • python continue
- • python pass
- • python return
- • python global
- • python assert
- • python if语句
- • python break
- • python for循环
- • python while循环
- • python else/elif
- • lambda匿名函数
必知PYTHON模块 Must Know PYTHON Modules
- • os 模块
- • sys 模块
- • re 正则表达式
- • time 日期时间
- • pickle 持久化
- • random 随机
- • csv 模块
- • logging 日志
- • socket网络通信
- • json模块
- • urlparse 解析URL
- • urllib 模块
- • urllib2 模块
- • robotparser 解析
- • Cookie 模块
- • smtplib 邮件
- • Base64 编码
- • xmlrpclib客户端
- • string 文本
- • Queue 线程安全
- • math数学计算
- • linecache缓存
- • threading多线程
- • sqlite3数据库
- • gzip压缩解压
最新内容 NEWS
- • 2019年3月最新消息: Python 3.4.10 现已推出
- • 支付宝官方给力福利!每天可领1个红包,
- • Dino Esposito CQRS 消息以及事件看法
- • 树莓派 raspi驱动LoRaWAN基站
- • Kuzzle内部部署文档后端
- • Java 9跳票 发布时间将迟至2017年3月
- • iOS Apple 停止Ad 广告业务
- • Microsoft UWP上支持React Native
- • Angular移动工具集Web应用原生感觉
- • Windows 10周年更新Edge浏览器支持扩展
图文精华 RECOMMEND
-
支付宝官方给力福利!每天可领
-
选择Python而不选择Go语言的原因
-
Python相关的软件团队未来离不开
-
Ubuntu磁盘缓存模块提供 缩略图服
-
Python程序员,2016一起告别码农!
-
为什么企业很难招聘到好的pytho
热点文章 HOT
- 支付宝官方给力福利!每天可领1个红包,
- 使用Python语言编写的Fuzzing第三方框架
- 超级QQ这个服务有可能会整合到QQ普通会员
- 正在创业者的你是否在经历O2O的那些坑
- 索尼PlayStation TV机顶盒650RMB左右
- 你N年前可想到今天的迅雷股价如此之高
- 阿里集团的公共DNS正式发布:223.5.5.5 223.
- Apache Qpid Python 最新1.35.0 版本发布