为什么开始iOS开发,应用想法如何诞生?
发表时间:2023-10-18 13:02:44
文章来源:炫佑科技
浏览次数:120
菏泽炫佑科技
为什么开始iOS开发,应用想法如何诞生?
我制作的应用程序是一个基于. 目前有iOS版本、Mac版本和网页版本。 除了同步文件之外,iOS 版本也是一个剪贴板应用程序。
该应用从开发到上架历时九个月,开发时间为工作日晚上和周末。 在这里我想分享一下我整个过程中所经历的事情,以及一些经验和感悟,希望能给同样对iOS开发感兴趣的朋友提供一些帮助。
你为什么开始 iOS 开发以及应用程序的想法是如何产生的?
当我在 WWDC 2019 上看到这个公告时,有点兴奋。因为我的全职工作是前端开发,乍一看和我平时写的 React 很像; 我通常对独立应用程序开发非常感兴趣,并且已经启动了许多项目。 我认为它应该能够降低iOS开发的入门成本,也许它真的很类似于React(剧透警告:事实并非如此)。 所以我想,我可以制作什么样的应用程序?
想来想去,只能从自己的需求出发。
我在工作Mac上通常不会登录微信,但有时我需要将电脑上看到的一些图片或文件分享到微信上。 使用多了之后,你会发现其实并没有那么方便。 配对过程有时耗时太长,而且没有文件管理。
很多人都会向微信的文件传输助手发送文件或文本,以实现文件和文本的同步。 但这种方式的缺点也很明显:文件有过期的风险,文件管理过于简单。 思考这个需求的解决方案,有什么值得优化的地方,于是就应运而生了。
所以从一开始,它就被定位为更好的文件传输助手。
您的需求可靠吗?
自己开发比较容易,但你的需求可能不通用。 上架三个月后,销量并不理想。 推广和应用需求存在问题。
如果你开发一个应用程序不仅仅是为了入门和学习,那么在确认你的需求之前,*好检查一下App Store中是否有类似的应用程序,与周围的朋友聊聊你的应用程序想法,并获得一些外部输入以确定该应用程序是否真实。 有要求。
我认为目前的情况是,如果一个应用程序在App Store中没有大量类似的应用程序,那么大概率是它没有很大的需求,而不是你的想法很聪明。
因此,选择一个热门品类并做得比同类应用更好,比专注于做一个全新的产品有更大的成功机会。 会计、待办App、笔记App等品类都很受欢迎,需求得到了验证。
开始学习斯威夫特
我平时写的语言是我对iOS开发的了解有限。 我大概知道我需要 Mac 和 XCode,我需要了解 Swift 语言。 兵马未动,粮草先行。 于是我开始学习 Swift。 学习材料是志愿者翻译的官方文档《Swift 编程语言》。
虽然我是一名程序员,但如果正在阅读本文的你不懂程序开发,我认为你不应该让这成为你的绊脚石。 除了在编程语言学习和编程经验上有优势之外,iOS开发和前端开发有很大的不同,包括使用的工具、代码的组织等等,大部分iOS开发相关的知识对我来说都是陌生的。
Swift 当然不是 iOS 开发所必需的。 可选的跨平台技术方案有很多,比如目前流行的。 但根据我的观察,iOS开发的盈利概率和水平还是比较高的软件开发,使用原生技术开发的应用程序可以提供*好的体验,相对增加了盈利的可能性。
如果你不知道是选择跨平台技术还是选择 Swift,那么你应该选择 Swift。
开始学习
开始接触Swift语言后,我就开始学习。 学习资料只是苹果的官方文档。 那个时候,除了这个,就没有别的了。 我跟着这个Swift,一行一行地写。 我学完之后的心情是这样的:
当时还是**个版本,很多功能还不完善,相关学习资源也匮乏。 对于刚接触iOS开发的人来说,一旦遇到问题就很容易陷入困境,也很难解决。 再加上我三天打鱼两天晒网的性格特点,学习了一段时间就放弃了,应用开发也被搁置了。 现在还是2019年,世界还是一如往常。
开始学习UIKit
快进到 2020 年。
WWDC 2020 的消息让我想起了这个应用。 我不能一次又一次地挖坑而不填坑,所以我咬牙在 WWDC 2020 之前订阅了一个 Apple 开发者帐户。当时我已经确认这不是一项成熟的技术,UIKit 仍然是首选,于是我开始学习UIKit。
UIKit的学习资源非常丰富。 我当时正在看 iOS 13。 当遇到书上没有详细解释的知识点时,我就搜索相关文章。 iOS 社区非常活跃,许多问题的解决方案都可以在 Stack 或 iOS 开发者博客上找到。
如果你是一个没有编程经验的新手,在搜索相关答案时,尽量使用英文关键词和英文搜索支持较好的搜索引擎(或者Bing也可以)。
还是UIKit?
随着WWDC 2021的发布,它也迎来了第三个主要版本。 经过两年的积累,我不再像两年前那样孤独无助,现在拥有非常丰富的学习资源。
现在国内有Objc China发布的好包,国外也有斯坦福的公开课,有Swift by,还有+Code等各种付费课程。
如果您现在需要申请,是一个更好的选择。
iOS 14 中添加的新桌面小部件只能通过以下方式实现。 iOS 15甚至带来了重写的天气应用程序,它在iOS系统应用程序中也占有一席之地。 这是苹果平台应用程序开发的未来,但这个未来更近了。
UIKit虽然更加成熟,但也有更多的解决方案。 但它的开发效率和上手速度要高得多:我用它画了一个App的原型,只需要几十行代码。
过去四年发布的设备中有90%运行iOS 14。根据以往的经验,iOS 15发布后,很快就有大量人升级到了*新系统。 这意味着,如果您现在开始规划应用程序,其*低系统要求可以是 iOS 15,以便您可以使用*新版本。
需求文件
虽然需求来自你自己,但这并不意味着不需要需求文档,只是意味着你可以用任何方式记录需求。 需求文档原本是用Bear写的注释,解释了应用程序的基本功能。 在后续的开发过程中,需求逐渐清晰,文档滞后于实际产品。 反正产品在我心里已经很清楚了,所以干脆就不再更新文档了。
当需求越来越清晰后,我开始使用项目管理。 在这里新建一个项目,然后新建“”、“Bugs”、“”等标题,然后在标题下添加待办事项。
项目管理在整个应用程序生命周期中至关重要。 如果我正在开发下一个应用程序,我会在项目开始时引入项目管理。 至于管理工具,我认为你可以选择你*喜欢的待办事项应用程序。
原型
*早的原型是用中性笔在A4纸上绘制的。 绘图的过程也是产品规划的过程:界面中有多少个选项卡,每个选项卡代表什么,列表中需要显示什么信息。
当然,我知道有更专业的原型工具,但我对这里的软件学习过程比较抵触(我只是懒),所以我的原型只停留在页面元素的展示,没有任何交互过程。
后来体验了一些在线原型制作的应用,比如画线框图,体验非常好。
设计
设计对于很多程序员来说是一个难以逾越的难题,我也不例外。
设计并不突出。 在你没有很强的设计功底之前,尽可能贴近原生风格是一个不错的选择:设计参考了iOS的“文件”应用和macOS的“”应用,大部分组件也都是原生 UIKit 组件。 。
Apple 的官方 Human 是必读的。 除了了解苹果的设计语言外,还列出了系统内置的组件及其使用场景。 设计应用程序交互时您可以受益匪浅。 您甚至可以通过从头到尾浏览它们来获取它们。 很多新知识。
应用程序图标
应用程序图标对很多人来说都是一个问题。 我也不认为这个图标“好看”,但与很多个人开发者制作的图标相比,这个图标“并不难看”。
我没有使用设计工具的经验,甚至没有安装过。 唯一安装的设计软件是Pro,所以图标是在它上创建的。
图标的概念很简单,以云和闪电为主题,以星星为装饰。 当我有了图标的概念之后,我就要开始绘制它了,但是我不知道如何使用这些绘制工具,那么我该怎么办呢?
我开始在网上寻找免费的图标库,然后找到了里面的云朵、闪电和星星,然后把它们全部拖到Pro中拼凑起来。 但事实是,找到合适的免费图标库比您想象的要困难。 后来灵机一动,想起苹果在WWDC 2019发布的SF可以导出SVG文件。
导出这三个图标的SVG文件为什么开始iOS开发,应用想法如何诞生?,然后将它们拖到Pro中并将它们拼凑在一起。 单击几下即可解决图标问题。
现在年纪大了,懂事了,发现用Figma的图标模板制作图标更快更好。 我也推荐大家使用免费的Figma,然后使用SF来制作图标。
图标完成后,还可以使用Asset导出符合XCode标准的Asset。
除了iOS版本之外,还有一款由 开发的macOS应用程序,问题是我遇到了问题,找不到答案。 因此,虽然Mac版的代码量远少于iOS版,但它给开发过程带来的心理负担也不小:这东西怎么做,为什么文档一点用处都没有,到底是什么苹果在做什么,我在做什么? 这样的事情要收100美元的服务费吗?
如果你的应用程序必须有 macOS 版本并且不能满足你的要求,那么开源 macOS App 项目是一个很好的学习材料和参考对象。 在开发过程中,我主要参考了RSS阅读器的实现。
或者你可以直接写macOS版本,但是我在这方面没有太多经验,所以我只提供一个想法。
应用程序审查
作为一个经验不足的苹果开发者,我认为苹果对新应用的审核比较严格,后续版本更新一般会在24小时内通过,有时甚至会在一小时内通过。
一审花了三周时间,期间被拒绝了3次,大部分时间都在等待苹果审核。
所以我认为你不应该等到所有功能都完成之后才提交审核。 当您觉得1个月左右完成完整的功能时,提交审核。 提交审核后由开发者决定是否上架,但上架也无所谓:反正没人会下载。
申请网站
拥有一个应用程序网站会带来很多好处,因为该网站可以容纳更多内容,并且不需要经过 Apple 审核。 除了必要的隐私政策和基本应用介绍外,您还可以附加用户协议、帮助指南、常见问题解答、社交账号等。
如果你的应用程序功能较多,并且想要长期运营该应用程序,那么在推广应用程序时,建立一个应用程序网站并将流量引向该网站也是一个不错的主意。
建立网站的教程有很多,这里不再赘述。 使用的是免费开源项目Next.js,整体体验非常好。
如果您需要分析网站访问情况,请使用具有简单明了控制台的产品,而不是类似的老一代产品。 在产品的早期阶段,免费版本应该足够了。
本土化
英语是必须的,否则你将失去完整的国际市场。
虽然用户还是以大陆用户为主,但原因很简单,因为我对中国互联网比较熟悉,可以在很多中文网站上进行推广。 根据我推广英文网站的有限经验,美国用户的付费率较高。 如果你的应用能够受到大陆用户的欢迎,就没有理由放弃付费率较高的发达国家用户。
如果你对自己的英语没有信心,那就努力学习简体中文,然后直接使用广受好评的DeepL翻译来完成英文版。
炫佑科技专注互联网开发小程序开发-app开发-软件开发-网站制作等