app应用程序开发都需要哪些方面的知识和技能?

 我来答
猪八戒网
2023-04-03 · 百度认证:重庆猪八戒网络有限公司官方账号
猪八戒网
猪八戒网(zbj.com)创建于2006年,现已形成猪八戒网、天蓬网和线下八戒工场的“双平台+一社区”服务模式,是中国领先的人才共享平台。
向TA提问
展开全部

App开发,目前也主要是两大方向,苹果和安卓,小程序一类的暂时先不说。

刚好我就是一名iOS开发者,就以我自己的经验聊一聊吧,安卓应该也类似。

前提:

我暂且理解为你已经是一名程序员,目前想转做app开发。就以这个为前提吧,如果你是其他行业转的或者还未毕业的同学,那就在这个前提下,再找补一下计算机基础的专业知识了解下吧。

本人经历:

我在做iOS开发之前学过Java、C语言相关的开发语言,并且在公司做过一些项目,都是服务的的项目,后来因为自己接触了苹果产品,成为了“果粉”,对iOS开发也产生了兴趣,所以就从服务端的开发转到了“前端”的app开发,做了iOS开发者,目前也做了多年了。

Ps:以下内容涉及的会比较多,针对不同的定位(团队协作还是独立开发者),所需要的也不同。另外不同的app类型,所需的知识也不同。比如游戏类的和工具类的就不同。一些专业型的和非专业型的也不同,我下面整理的也不是很全,是比较泛的。

根据我自己的理解和经历,粗略的总结了一部分:

一、了解苹果硬件、软件的知识

1、比如苹果电脑的操作使用;

2、iPhone的硬件信息(例如屏幕分辨率、内存等硬件信息)。

3、macOS和iOS的软件信息(UI组件、特性等)。

4、AppStore的审核机制,这些都是需要知道的。从开发到提交上架,这些都是会涉及到的。

二、开发语言

Objective-c和swift语言的基础知识;虽然现在苹果也在推广swift,包括很多公司的项目已经使用swift开发,但是老的项目依然是OC语言开发的,还是需要掌握OC的。

三、开发工具

1、Xcode是苹果应该开发的基础工具,包括iOS、macOS、watchOS、tvOS都需要使用,也有第三方的工具可以coding,但怎么都离不开Xcode。除了开发工具,还有性能调试工具instruments也是需要使用和了解的。

2、除了上面的基本开发工具外,还有很多第三方的工具,例如命令行工具、文本编辑、图片压缩、设计稿查看、icon及市场截图生成工具;协作共享工具(例如有道、印象笔记等等);

四、App开发技能

1、常用UI组件特性;

2、项目的架构/框架设计、SDK设计开发;

3、性能调优;

4、Bug排查、调试工具及方法;

5、app提交流出、审核被拒处理如何处理等等;

五、其他工具

1、团队协作的工具;

2、提高效率的工具;

3、原型设计工具;

4、代码提交工具;

5、其他很多工具

六、协作能力

这个是针对公司团队的,常见的协作工具,提高协作的方式等,也是需要知道的。这个也是可以边做边学的,不同的团队,协作工具也不一样。但基本都是差不多的。

例如:设计师设计好的原型图或者UI设计稿如何给到开发?

切图的命名规则怎么做才能让开发更高效?和测试同学如何协作能保证效率,同时也能保证质量?

例如:开发可以在开发阶段集成测试功能的代码,方便自己开发调试,也可以在提交测试后,测试同学也能方便的使用和反馈问题给开发。

例如:通过持续集成高效的开发和测试,等等。这些也可以算到协作能力里面。

七、产品需求能力

如果是独立开发者这项也是必须的。

即便是一个很简单的app,也算是一个产品,只是可以简单到不用冗余的需求文档而已。但如果是在公司团队协作,

作为一名开发人员,也是要有分析需求,并且给予合理建议的。

八、设计能力(交互设计)

1、独立开发者:这项是必须的。能够通过原型工具进行交互设计。当然可以很简单或者这个原型是在你脑海里的,然后用代码实现。

2、团队:一般会有专门的设计师进行app的交互、体验、UI设计,然后给到开发人员进行开发。提交审核也可能有专门的人员负责。但如果是作为app的独立开发者进行开发,这些也是需要掌握的。

常见的设计工具也可以了解一些。

Ps:关于设计,苹果官方有《人机交互指南》文档,这个一定要看一遍,无论是独立开发还是团队协作,都是有好处的。

还有一点比较重要,就是提高“审美”。无论是代码还是UI,都需要更“美”(代码简洁易懂、易扩展;UI符合苹果或者安卓的设计原则,同时有“设计感”)。

九、问题排查的能力

1、开发过程中:开发中的问题,要善于使用Xcode的bug调试工具及常见的调试命令;

2、线上事故:当线上出现严重或者疑难问题时,需要快速响应、止损、排查和修复问题,除了常用的开发、调试工具以外,还需要有一定的抗压能力和除代码层面以外的解决问题能力。例如通过分析崩溃日志,定位问题。当出现不能复现的问题时,需要多维度分析用户数据,便于定位问题。

十、运营能力

这个也是独立开发者应该具备的。因为无论是什么软件,都是需要“运营”的。

公司一般有运营团队去做,而个人开发者也要掌握这方面的知识,例如常用的第三方运营工具/网站,知道UV、IP、PV这些都代表什么意思,如何去推广自己的app等等。

以上也是自己临时想的,比较多比较杂,欢迎taol和交流。??


推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式