苹果OS之梦,能否获果粉和开发者的双重青睐?


当苹果本月在wwdc上发布macos catalina时,一个相关公告引起了mac用户和开发人员的极大兴趣:一种将ipad应用转变为完全原生mac应用的新方法。
这一名为“project catalyst”的项目旨在让开发人员将现有的ios应用移植到mac上。不过,这引出了一些问题:这对mac用户意味着什么?这会改变为mac制作的软件类型吗?苹果的生态系统是移动端优先吗?
有开发人员担心:catalyst只是swiftui的垫脚石,在把ipad应用迁移至mac的过程中,开发人员可能会遇到哪些挑战?
ars与负责在wwdc开发和推广project catalyst的主要成员以及已经用这种方式制作mac应用的少数开发人员进行了交谈,向他们询问了catalyst的工作原理、苹果软件的未来发展方向以及用户可以期待的内容等。
mac平台在开发人员和创意人员中很受欢迎。iphone和ipad应用商城已经成为业界最具活力的软件生态系统之一,但mac应用商城却并非如此。
苹果试图通过使用catalyst将ios应用商城的一些成功应用转移到macos上。本文将详细介绍开发人员是如何逐步使用苹果所构建的内容,以及他们面临的挑战;将分享苹果对我们所提出问题的答案,例如随着移动衍生应用涌入该平台,苹果计划如何保持mac应用的高标准质量;从整个生态系统来看,苹果跨平台应用的长期计划又是什么。
project catalyst
据彭博社2017年12月报道,苹果正在开展一个项目,该项目将使得为macos和ios并行开发应用变得更加容易。我们今年在wwdc上了解到,推动该项目的一个主要组成部分叫做project catalyst,它可以相对快速地将ipad上的应用移植到mac上。
应用开发人员现在可以开始使用集成开发工具xcode的测试版本。为了在wwdc舞台上大肆宣传,苹果声称开发人员只需要在xcode中打开他们的ipad应用项目,然后单击一个复选框就可以构建一个mac应用。当然,它并不总是这样简单,但应该比你想象的要容易。
具体运作方式
开发人员用于为ipad和mac创建应用的许多框架都是相似的。苹果在这方面所做的工作就是弥合ipad和mac版本共享开发框架之间存在的差异。但最大的差距是ui框架之间的差距。
开发人员使用uikit框架构建ipad应用的用户界面和功能。与此同时,mac有一个名为appkit的框架,可以执行许多与uikit相同的操作。以前,mac应用无法运行使用uikit制作的应用,ios设备无法运行使用appkit制作的应用。即使开发人员在构建mac版本时可以重复使用ipad应用的某些部分,也需耗费额外的大量工作。
有些框架可以在一个平台上使用,但不能在另一个平台上使用。例如,在mac上无法使用arkit,那些想用arkit来提供增强现实体验的开发人员需要考虑这一点。在某些情况下,arkit会自动过滤与目标设备上不存在的功能和框架有关的代码。
某些情况下,开发人员当然可以在其代码中使用条件逻辑,根据运行软件的设备提供不同的体验和功能。但是,苹果希望保留这种方法,用于应对某种不同设备对不同功能的需求。
“我们希望他们尽可能少地使用条件,因为条件是不同的代码路径,”catalyst负责人ozer解释道。“而且我认为与条件相关的是api和功能,它们实际上只是mac版本。”
苹果表示,许多开发人员构建的第一个第三方catalyst应用,能在24小时内在mac上运行可接受的构建版本。但每个应用都面临着一些独特的挑战。
开发人员的经验
少数苹果开发人员已经在使用catalyst构建第一个第三方应用,他们在wwdc上展示自己的应用。为了获取更多信息,ars与开发人员讨论了三个不同的应用,即开发人员如何成功地将ipad版本的twitter、tripit和asphalt 9:legends带到了mac上。
twitter
twitter在2016年停止了对其mac应用的支持。虽然一些第三方twitter应用仍可用于macos,但该公司继续将web视为mac用户使用社交媒体平台的主要方式。
今年在wwdc上详细介绍catalyst时,苹果透露twitter将重返mac。苹果邀请twitter的开发人员通过catalyst构建原生mac twitter应用,而且twitter支持mac升级到与iphone、ipad和ipod相同的水平。
asphalt 9:legends
你可能认为移植像asphalt 9:legends这样图形密集型3d游戏会遇到额外的障碍。但这并不完全是gameloft barcelona图形工程师alex urbano和引擎软件工程师manu ruiz所描述的那样。
“这个过程非常简单,在新的xcode上打开当前的ios项目,标记新的macos目标选项,并进行编译即可,”ruiz说。“显然,它在第一次尝试时不起作用,因为我们的一些库在非移动设备上不受支持,例如运动控制;而且一些第三方库没有为macos和x86-64平台做好准备。在重构了一些代码之后,我们设法在大约24小时内编译并运行了整个asphalt代码库。”
关于图像方面的调整,urbano说道:“这很简单。我们必须调整一些着色器的精度,使它们在高端mac中以更高的分辨率正常工作,以便进一步提高性能。我们稍微改变了metal缓冲管理的工作方式,这允许我们实现一些在其他平台中不存在的效果,同时保留60fps目标的原始分辨率。”
tripit
ios开发人员rich shimano向ars发送了一封电子邮件,其中列出了将旅行计划应用tripit从ipad迁移到mac的每个详细步骤:
在xcode中构建当前的ipad应用,只需要几次迭代即可识别并删除不支持资源上的各种依赖项,例如特定电话呼叫的框架或尚未构建以支持macos的第三方ios sdk。
遍历所有用户流和数据同步方案,并关闭不支持或不可用的功能。
在mac的多窗口点击环境中定制ui以提高用户效率。
至于在过程中会遇到哪些挑战,shimano表示,最重要的是“旧的代码库依赖于已弃用的苹果框架和api以及旧版本的swift,可能需要对现在的api进行重大改写”。此外,“不具有多任务友好性和灵活布局的ipad应用可能需要进行大量重写,更多地依赖于自动布局,以便在桌面窗口上进行适当渲染,即使在单个用户会话中,这些窗口的大小和宽高比也会有很大差异。”
苹果保证mac应用质量达到桌面级
苹果及其合作伙伴开发人员表示,catalyst能将ipad上的应用轻松导入macos,但用户对mac上未来应用质量的担忧仍然存在。
project catalyst是建立在macos 10.14 mojave之上,这是该公司去年推出的macos年度重大升级。该公司推出的新闻、股票、语音备忘录和家庭应用也是建立在这一系统之上。
mac高级用户担心,将ipad应用迁移至mac的简单途径将使开发人员无法提供过去用户在mac上享受的功能,以及功能强大且全面的桌面应用。一部分原因是因为移动应用往往侧重于较窄的任务,并且它们通常不具有与良好的桌面应用一样强大的功能集。另一部分原因在于,如果他们使用appkit从头开始构建原生mac应用,uikit和catalyst都不会为mac开发人员提供他们可以访问的全部功能和框架。
当然,我们采访过的苹果团队成员并没有此类担忧。ozer表示,首先,uikit确实为开发人员提供了访问appkit的权限。“当你将uikit应用带到mac上时,我们会大量使用appkit,例如,当你使用工具栏、触控条或菜单时,这些都是appkit,”他说。“因此开发人员不必直接使用appkit,但他们可在其uikit应用中使用appkit。”
当然,苹果认同appkit是提供高端mac应用的方式。苹果开发人员关系高级总监pruden说,她认为catalyst是为开发者提供了选择,但那些创建强大桌面应用的团队将知道它是否适合自己的产品。


江宁哪家培训学眼线纹眉毛好学费多少钱
珠海路基沉降板现货 ,注浆管现货价格 17659710596
市南茶叶彩盒厂家讲述包装盒印刷如何获得想要的色彩!
组装式多功能材料性能试验仪可配各种夹具,形成多种功能
开大懒猫懒人用品专卖店有什么技巧 加盟费高吗
苹果OS之梦,能否获果粉和开发者的双重青睐?
青年人做什么生意好 加盟中科特力电池修复盈利不停歇
士林鸡排利润有多少
明星扎堆做潮牌,仅凭明星光环就能风生水起?
后大花洒前小刘海,华为Mate30真机渲染图亮相,引网友激烈讨论
山东烟台热门的精馏塔服务商
【冠邦门窗加盟】加盟冠邦门窗开心赚钱
三氿清本草解酒饮料连锁代理要避开哪些经营误区
桂花城旁英伦城邦附近高速秋浦天地 好房急售
奥巴草莓苗、脱毒二代草莓苗、红颜草莓苗
厂家生产供应无缝焊接弯头/带缝弯头/管道连接弯头DN125
四川水冷散热器哪家公司技术实力雄厚?
新款废纸液压打包机吨袋液压打包机批发价
木拉手厂家批发 桥型木拉手 价格便宜
体育赛事篷房价格-销量好的体育赛事篷房品牌推荐