ios零基础的Android开发能否靠AI让老板省一笔人工费呢
不久之前,在公司的某一个小黑屋里面,发生了一段这样的对话
领导:你会写ios代码不
我:完全不会,以前都没接触过
领导:那现在上面有个决定,想把现在你那个项目的ios端交给你负责,你有啥看法不
我:那个项目很老诶,听说还oc跟swift混编的,我一个ios菜鸟直接上手风险太大了吧,再说那个项目现在不是A哥负责吗
领导:你A哥不是还有别的活吗,精力没那么多,再说现在不是有AI吗,有啥不懂的你问AI
我:AI写的代码我也不能确定对不对啊,不能再招一个人吗
领导:哎~招啥人啊,这不得花钱吗,你知道你老板想开路虎想了很久了,现在一直在存钱,再招个人每个月不得又多花几个w吗,你多辛苦辛苦,争取老板能早点开路虎
我:这样啊。。。那到时候路虎能借我开几天不
领导:不行
总之领导的观点就是,不懂ios没关系,AI可以帮助你,那么今天我们来看看,我一个菜鸟能不能在AI的帮助下搞定ios开发,顺利完成接下来的一些ios需求
AI能帮我做什么
代码翻译
上面说到看不懂ios代码,那先想到的就是让AI帮我做翻译,把同样功能的Android代码翻译成ios代码,因为上家公司里有个ios同事自己有在学Android开发,他那会就是这么做的,这次来借鉴一下他的方法,比如我需要把一个网络请求模块从Android迁移到ios
我给AI的输入

AI给我的输出


可以看到除了告诉AI一些信息之外,还要让AI在生成的代码上加上注释,或者写上为什么这么写,反正不能仅仅只给代码,因为我现在是ios菜鸟,根本看不懂纯ios代码
概念映射
毕竟都是移动端的项目,ios和Android从概念上肯定有很多相似的地方,但名称和用法完全不同,当我们看到这些代码时候,如何才能让他们成为我们熟悉的代码呢,这里可以让AI帮忙翻译一下
|
|
|
|
|---|---|---|
|
|
|
onCreate的概念,生命周期方法不同 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
有了这个表格后该怎么用呢,可以这样跟AI说

构建知识库

AI可以做的事
- 每周自动整理踩坑日志
: 去重、归类到对应手册 - 生成索引和交叉引用
: 让知识库可检索 - 检查知识过时
: 发现 API 废弃或新版本变更 - 补充缺失章节
: 发现我遇到某个问题但手册还没写
没有哪个知识库是一下子就能搭建起来的,都是通过日复一日的需求,问题,经验慢慢沉淀下来的,日常工作中可以经常让AI更新一下知识库,比如

调试辅助
Android里面遇到问题,基本看下日志就能大致定位出来问题在哪,ios也一样的,如果有一天让我处理一个ios的Crash,该咋办呢?肯定也是看日志,但是ios日志咱看不懂,不过没关系,AI看得懂就可以了,比如收到一个Crash如下



代码审查
零基础的ios菜鸟在做ios项目的时候不可避免的会经常发出疑问,我刚写的代码对不对,刚才AI生成的代码究竟能不能用,这个时候就需要让AI来做code reviewer

测试生成
一般老项目里面最缺的除了注释就是测试代码,这部分也可以让AI给补上

迁移方案设计
有时候双端用的架构模式不一样,ios是MVC,Android是MVVM写,如果架构模式不一样也很难做到上面说的代码翻译,所以需要AI设计一个渐进式迁移方案

三方库选型
在Android上我闭着眼睛都知道用什么库,但ios上我却两眼一抹黑,都有啥三方库都不知道,只能让AI帮我做选择

AI做不了的事
上面说了AI能做的,当然也会有AI做不了的,不可能顺顺利利的就让我上手ios开发,有些事情还必须通过AI之外的方式去完成
Xcode操作
就像AI不能操作Android Studio界面一样,它也没办法操作Xcode的图形界面,特别是以下几点目前是做不到的
- 证书和 Provisioning Profile 配置
:开发者账号、证书过期、描述文件失效,这些纯靠经验 - Xcode Build Settings 调试
:Framework Search Paths、Other Linker Flags 这些配置项,报错信息经常不直观 - Archive 和 Export 流程
:Distribution 证书、Export Options.plist 配置 - TestFlight 上传和审核
:ITC(App Store Connect)的操作流程
那应该怎么做呢,咱不是有知识库吗,可以先把所有操作步骤截图,录频保存到知识库里面的打包签名+上架流程.md,每个步骤需要配上文字说明,常见的报错以及解决方案,下次遇到同样问题,先查自己的文档,就像做笔记一样
App Store审核
国内外的Android应用市场的审核我都经历过了,基本啥幺蛾子都见过,但是App Store的审核是怎么个流程,咱是一窍不通,这个得实际操作过才能知道,AI肯定也不会说的特别准确,比如下面这些场景还是需要真人来介入
-
被拒后的申诉策略需要人来判断 -
审核指南有很多灰色地带,AI给的判断不一定对 -
加急审核的申请理由需要人情世故,满嘴AI味儿还想指望人家给你过审?
性能调优
Android里面的内存,功耗调试得借助一些工具来进行,比如Android Studio的Profiler,你不可能让AI来使用Profiler来帮你分析,ios也一样的
-
Instruments 工具你得会用吧 -
内存泄漏得会排查吧 -
如何优化渲染带来的性能问题,也得知道
老项目的祖传代码
还有一些问题,是我最担心的,别说ios了,就算在Android里面也发生过,就是经常将一些跟需求无关的代码也一起改掉,这些代码可能用了废弃的Api,可能用了与规范不符合的代码,可能逻辑只有当事人来了才看得懂,但是这类代码大家都懂,都是不能删的,删了要出事,但是AI不知道,AI只会根据你的上下文,或者知识库来改代码,改完了巴不得还得让你说一声谢谢,一旦AI把这些“核心”代码删了,Android项目还好,我还能把控的住,可以还原,但是同样的事情如果发生在ios项目中,身为ios小萌新的我可能就不会察觉了,后果自然是一提测,问题一大堆,最可怕的是,测试没覆盖到,直接上线了,然后一堆用户反馈叽叽喳喳的
可能会用到的Prompt
在准备点东西吧,我假象了一下后面可能会经历的ios开发流程,整理了一些Prompt模版供以后使用
翻译代码
我是Android开发,零ios基础。 项目使用 [Alamofire/Kingfisher/CoreData]。 请把下面的 Android 代码翻译成 Swift 实现。 要求:
每行代码加注释解释 在注释中标注对应的 Android 概念 给出完整的可运行代码 注意项目的 iOS 最低版本是 [iOS 14]
排查错误
我是ios新手,编译报错如下: [粘贴报错] 相关代码: [粘贴代码] 请解释:
为什么报错 在 Android 中相当于什么错误 怎么修复
学习概念
我是 Android 开发,请用 Android 的 [概念A] 做类比,解释 ios 的 [概念B]。 给出一个完整的代码示例。 重点说明两者的差异和容易踩坑的地方。
代码审查
请审查以下ios代码,我是一个Android转ios的新手:
是否有内存泄漏问题 是否有线程安全问题 是否符合ios最佳实践 是否有更好的Swift写法 这段代码在Android中可能不会有问题,但在ios中需要注意什么
最后
以上事件均为真实情况,如有雷同,那就将这篇文章转发给你们的领导老板,AI时代实现多端开发不是不能做,但是存在一定的风险以及门槛,前期最好期望值不要太高,也需要一定的耐心,留出一定的缓冲时间交给开发去推进这个事情,如果不给你缓冲时间,那么就

夜雨聆风