本帖最后由 wangjun88 于 2020-4-3 17:19 编辑
以下为译文:
大家好,我是本文笔者Max,一名JS开发者。在没有任何苹果硬件,没有Hackintosh的情况下,我是怎么编写iOS应用的,本文就来介绍一下。
是否需要一个内置应用?
在继续前,可能需要问问自己,你是否需要一个应用?渐进式Web应用(PWA)已经发展良久,目前随时可用。如今的iOS 13对PWA的支持更好,预算不高的情况下,这个方案值得考虑。但请注意:iOS PWA无法处理推送,也不支持后台运行,算是个可选方案,但大多数情况下你还是需要内置应用。
假如你在开发PWA,或只是个响应式网站的话,没有mac还会有很多在线可选方案,用以在iOS模拟器甚至真实设备上测试你的应用,如https://www.browserstack.com/ 或者 https://app.lambdatest.com/。当然,也可以减少浏览器,用所配的移动开发工具只测试网站的响应式布局,不过最终还是要返回真实设备进行测试。
使用远程macOS
对于基于Objective-C或Swift的iOS应用开发者来说,或许会有mac。但没有的话,还是有解决方案的:即使用远程macOS。网络上有一些公司提供远程访问Mac的途径,借助RDP、VNC,甚至直接用浏览器来访问。对于此类解决方案,我并没有太多经验,但确实用过macinacloud,并且体验良好。如果你也打算将其用作主要的开发平台,建议使用16GB的RAM,尤其是针对模拟器使用时。
如果没有mac,但有台用于调试应用的iOS设备的话,有两种选择:
使用TestFlight,可以用自己的设备在Mac上构建应用并分享。这是最易设置的远程USB连接。方案理念是采用软件,将你的USB连接自本地计算机转发至远程mac上。其他供应商我不太了解,但使用macinacloud的话,需要使用外部工具,相关文档中有说明。
使用Expo应用
想要开发具有脱机支持及通知功能的移动应用,或者只想在Apple Store中可见的话,还有另一个方案,无需拥有mac,也无需Xcode,即Expo。
我在JS开发上的经验已有10年,2015年我开始在React中进行编码,因此肯定会先入为主,但这套是我当前在用的设置,深受我喜爱。
Expo是基于React-Native的一套工具,旨在协助我们轻松创建React-native的应用。这些工具改进极快,因此如果数月前你曾尝试过,并遇到了一些bug或者问题的话,应该再试一次。自2019年6月Expo 33发布以来,到了现在,我们可以在iOS和Android设备上呈现自己的React-native应用了,不过还是以网页形式。这也是开发者可选的上佳方案。
此外,Expo附带了Expo客户端。借助这个客户端,我们可以将自己的React-native代码分发到iOS设备上。实时重载和远程调试让开发体验良好。
连iOS设备都没有?Expo还有个服务器端,可用于构建自己的应用程序包。当然,在交付给用户及上传到AppStore之前,还是需要测试的。目前我在使用Appetize,允许在iOS模拟器上运行Expo所提供的程序包。
需要在真实设备上运行?BrowserStack也提供支持。
原文:https://hackernoon.com/no-mac-no-problem-how-to-write-native-ios-apps-sans-apple-tma73wqf
|