苹果:原生才是王道,我要自己做小程序

2020 年 6 月 23 日

苹果:原生才是王道,我要自己做小程序

北京时间今天凌晨,苹果线上举行了 2020 年 WWDC 大会,会上重磅宣布将 Mac 产品线从 Intel 阵营迁移到自研 ARM 芯片上。并且在软件层面,发布了自己的“小程序”App Clips 以及诸多更新。


原生!原生!原生!


原生开发才是男人的浪漫!狗头.jpg


苹果的生态系统一直强调“原生”二字,为了实现原生开发的功能齐全性、运行速度、高性能、不卡顿、反应快等优势,iOS 系统一直在软硬件层面下了苦功夫做优化。而这次的 WWDC 大会,最重磅的更新当属苹果自研的 ARM 芯片,用库克的话说,这是 Mac 最具历史意义的一天。



这意味着,未来所有的 iPhone、iPad 应用都可以跨平台直接运行在 ARM 芯片的 Mac 上,无需重新编译!对于 iOS 开发而言,这套同架构运行的开发和编译设备就是最优解。


但需要说明的是,实现 ARM 芯片的产品替换周期仍旧需要时间,苹果的说法是两年,在这个过渡期内,苹果提供了一个名为 Universal 2 的方案,开发者可以使用其轻松地创建应用程序,既能利用新 Mac 的能力和性能,又能支持基于 Intel 的旧款电脑。



苹果特意提到其重新设计了 Xcode,做了多项深度优化,带来更好的开发体验。Xcode 12 默认情况下会构建 macOS Universal 应用程序,以支持带有 ARM 芯片的新 Mac。


移动开发技术从最开始的原生开发,发展到后来的 H5 开发、混合开发、小程序,这两年又逐渐显露出回归原生开发的迹象。于苹果而言,原生开发是其闭环生态的最佳实现方式,也是构建起其软件生态护城河的关键。在这样的背景下,Swift 的重要程度也将持续凸显。


Swift:下一个全平台开发语言?


2014 年的 WWDC 上,苹果正式发布了 Swift 语言。2020 年的 WWDC 上,苹果虽然没有像 Google I/O 大会官宣 Kotlin 的正宫地位,但透露出的信息已经十分明显:


进入 5.0 时代后的 Swift 将变得越来越重要,成为真正意义上的跨平台语言。


如果是很早就拥抱 Swift 的开发者,一定经历过各 Swift 大版本发布时的痛苦。从 Swift 2.x 升级到 3.0,无异于换一种编程语言进行重构。但在 5.0 版本后,Swift 的 ABI 终于稳定,从 5.1 开始起,开发者可以用不同 Swift 支持的第三方框架,最终编译成同一个 APP 。这是成熟语言的标志,只有这样才能让不同的框架和代码为你所用。


一个月前发布的 5.3 版本,正式官宣了对众多 Linux 发行版和 Windows 的支持。按照苹果在其官网对 Swift 的介绍,也可以看到苹果对 Swift 的定位为“跨平台”。也许随着 Swift 的继续发展,未来这个定位将改为——全平台。


Swift UI 也带来了新的功能。今年,新的生命周期 API 使开发人员可以在 Swift UI 中编写整个应用程序,并在 所有 Apple 平台上共享该代码。已经开始使用 Swift UI 的开发人员将能够轻松地向其现有代码添加新功能,并且新的 Lazy API 确保大量数据集提供出色的性能。


Swift 将成为 iOS 开发的真正底层,这将对跨平台开发框架的适配带来一定冲击,关键在于,后者还别无选择。狗头.jpg


App Clips:我不要你的小程序,我要我的小程序


App Clips 是苹果发布的一个值得玩味的新功能,根据苹果官方的说法:


通过 App Clips,用户可以更加轻松、快速地探索应用程序,而不需要下载完整的 App。App Clips 具备秒级启动速度,并且能够提供完整的沉浸式使用体验,这同时给开发者提供了一种全新的体验:在用户最需要的时候触达他们。



此外,App Clips 还支持 Apple ID 加密登录,有效避免隐私泄露威胁,你也不需要再使用微信 / 支付宝或其他第三方软件授权登录,你的 64G iPhone 还能再战两年。


这种软件实现方式颇为类似“小程序”的理念,但加上对 NFC 的支持让它的应用场景更加广泛。


Android 里的小程序是不成熟的小程序,App Clips 是成熟的。狗头.jpg


软硬件协同


计算机世界一直有两条相伴相生的定律:摩尔定律与安迪·比尔定律。前者揭示了硬件性能提升的规律,后者解释了硬件提升的性能是如何被软件所榨干的。只做硬件,你就没有生态。只做软件,你就失去了基石。


大型互联网公司的下一个发展方向,一定是软硬件协同的。对于苹果而言,尤为如此。在经历了 5G 手机芯片的掣肘,Intel 挤牙膏式的更新之后,苹果也开始在硬件层面发力了。类似的例子你可以在国内看到很多,各大云厂商的去 IOE、自建数据中心、自研芯片、服务器,无不是为此服务。


苹果一直引以为豪的软件生态将成为其硬件创新的基石与水源,我们也能看到苹果在对开发者的友好程度与重视程度上有太多值得友商借鉴的地方(巨硬出来挨打)。也许这次的 WWDC 大会,就是近年来同样被诟病硬件挤牙膏式升级的苹果自我革新的开始。


或许我们可以改改新 iPad Pro 发布时的广告语,“你的下一部电脑,何必是电脑”——“你的下一部智能设备,还得是 Designed by Apple in California。”


以上。


2020 年 6 月 23 日 10:579150
用户头像
小智 InfoQ 主编

发布了 395 篇内容, 共 306.9 次阅读, 收获喜欢 1709 次。

关注

评论 1 条评论

发布
用户头像
苹果牛逼
2020 年 06 月 28 日 14:31
回复
没有更多评论了
发现更多内容

2020掠夺者刀锋500搭载英特尔十代酷睿处理器硬核上阵

飞天鱼2017

HTML5+CSS3前端入门教程---从0开始通过一个商城实例手把手教你学习PC端和移动端页面开发第一章前言

Geek_8dbdc1

CSS html 前端

算法题:链表的第一个合并节点

破晓_dawn

极客大学

拒绝贴标签的懒惰

zhoo299

随笔杂谈

week8 学习总结

Geek_2e7dd7

河南省区块链产业联盟成立暨可信区块链技术创新大会启幕

CECBC区块链专委会

可信区块链 提升核心技术 产业联盟 产学研用

区块链的现象级应用应该什么样子

CECBC区块链专委会

产业落地 政策扶持 区块链革命 价值传递

应用开发基础之-数据结构与算法

superman

服务器是什么?其作用及有哪些分类?

德胜网络-阳

服务器

【好书推荐】《Python黑魔法指南》-附高清PDF版

华为云开发者社区

Python 开发者 书摘 python3.7 书籍推荐

数据结构、网络、数据库总结

周冬辉

数据库 网络 数据结构与算法

极客大学架构师训练营-单向链表相交问题

Geek_zhangjian

JVM系列之:String.intern的性能

程序那些事

性能 JVM string GC

HTML5+CSS3前端入门教程---从0开始通过一个商城实例手把手教你学习PC端和移动端页面开发第2章HTML基础知识

Geek_8dbdc1

CSS html

判断链表相交

GalaxyCreater

算法

BIGO技术 | Paxos的工程实践与极致优化

InfoQ_3597a20b53cc

BIGO

week8 学习总结

任小龙

IT世界里的《三十而已》:不比包包的男士们在比什么?

脑极体

判断两个链表是否合并

Z冰红茶

区块链在公益慈善行业的应用研究

CECBC区块链专委会

区块链技术 公益组织 治理 数据透明

判断两个链表是否重合

LEAF

什么是数字孪生,它的应用价值在哪里?

华为云开发者社区

AI IoT 数字化 汽车电子 工业互联网

敏捷开发:一文了解影响地图和用户故事地图之间的那些事儿

华为云开发者社区

产品设计 敏捷开发 后端 地图 开发流程

百万并发「零拷贝」技术系列之Java实现

码农神说

Java 架构 高性能 零拷贝

第四范式自动化推荐系统:搜索协同过滤中的交互函数

天枢数智运营

人工智能 推荐系统 搜索

nginx安装配置(windows)

陈靓-哲露

应用研发之基础知识-计算机硬件基础

superman

week 8

Geek_2e7dd7

NameNode架构图解

大数据学徒

Java 大数据 hadoop

极客大学架构师训练营 - 本周总结

Geek_zhangjian

程序员的晚餐 | 7 月 27 日 美味鲫鱼豆腐汤

清远

美食

苹果:原生才是王道,我要自己做小程序-InfoQ