学软件开发需要有什么基础?

学软件开发需要有什么基础?,第1张

学习软件开发经常会涉及到数学和英语的知识,所以需要有一定的数学和英语基础,这样可以让软件开发变得事半功倍。千锋教育就有线上免费的软件开发公开课,。

千锋教育采用全程面授高品质、高体验培养模式,学科大纲紧跟企业需求,拥有国内一体化教学管理及学员服务,在职业教育发展道路上不断探索前行。如果你擅长英语和数学,你可以跳过这一步。软件的 *** 作是通过某种程序语言来实现的,所以学好程序语言是做好软件开发的必修课。所以,如果你想学软件开发,第二步就是选择一门编程开发语言来学习,集中精力学好一门语言。一般来说,要想做好软件开发,至少要学一门编程语言。目前主流的编程语言有Java、PHP、C#语言,软件开发形式有多种,先学好这些基础语言,之后再慢慢扩展。除了学习基础语言,还要学习数据库的知识。在软件开发中,数据的存储和调用至关重要。HTML,CSS,Java脚本等相关的前端语言也是需要掌握的,经过这四个学习阶段,我们已经基本掌握了一套完整的软件开发流程,后面深入学习的话,就需要掌握各种框架。千锋官网每日更新最新软件开发基础知识内容,巩固日常学习中的基础技能。更有免费的软件开发视频教程帮助学员快速学习。

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和交流。??


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/7804852.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-10
下一篇 2023-04-10

发表评论

登录后才能评论

评论列表(0条)

保存