刚好偶就是一名iOS开发者,就以偶自己的经验聊一聊吧,安卓应该也类似。
前提:
偶暂且理解为你已经是一名程序员,目前想转做app开发。就以这个为前提吧,如果你是其他行业转的或者还未毕业的同学,那就在这个前提下,再找补一下计算机基础的专业知识了解下吧。
本人经历:
偶在做iOS开发之前学过Java、C语言相关的开发语言,并且在公司做过一些项目,都是服务的的项目,后来因为自己接触了苹果产品,成为了“果粉”,对iOS开发也产生了兴趣,所以就从服务端的开发转到了“前端”的 app 开发,做了iOS开发者,目前也做了多年了。
Ps:以下内容涉及的会比较多,针对不同的定位(团队协作还是独立开发者),所需要的也不同。另外不同的app类型,所需的知识也不同。比如游戏类的和工具类的就不同。一些专业型的和非专业型的也不同,偶下面整理的也不是很全,是比较泛的。
根据偶自己的理解和经历,粗略的总结了一部分:
一、了解苹果硬件、软件的知识
1、比如苹果电脑的操作使用;
2、iPhone的硬件信息(例如屏幕分辨率、内存等硬件信息)。
3、macOS和iOS 的软件信息(UI 组件、特性等)。
4、App Store 的审核机制,这些都是需要知道的。 从开发到提交上架,这些都是会涉及到的。
二、开发语言
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
中国大学MOOC – 免费慕课在线学习平台
中国大学MOOC(慕课)是爱课程网携手网易云课堂打造的在线学习平台,每一个有提升愿望的人,都可以在这里学习中国最好的大学课程,学完还能获得认证证书。
APP界面:
Iphone屏幕快照:
简介
App Store “度精选”、“优秀新App”、“六月最佳App”、“精选教育App”、“10类最受欢迎App”……集多项殊荣于一身,中国在线教育的良心之作!中国大学MOOC(慕课)是由网易公司与教育部爱课程网携手推出的在线教育平台,汇集中国顶尖高校的MOOC(慕课)课程。在这里,每一个有意愿提升自己的人都可以免费获得最好的高等教育。网易云课堂APP
网易云课堂立足于实用性的要求,网易云课堂与多家教育、培训机构建立合作,课程数量已达4100+,课时总数超50000,涵盖实用软件、IT与互联网、外语学习、生活家居、兴趣爱好、职场技能、金融管理、考试认证、中小学、亲子教育等十余大门类。
APP界面:
Appstore预览:
简介
App Store “优秀新App”、“教育类精品推荐”网易云课堂,是网易公司倾力打造的学习平台。无论你是各行各业的职场人还是即将步入职场的学生,希望自偶提升或充实生活,都可以在这里发现感兴趣的内容,通过学习成为更好的自己!
得到APP
向终身学习者致敬!
得到,提供最省时间的知识服务,罗辑思维团队精心打造,在这里,利用碎片时间获取高浓度知识。
晨起、睡前、通勤路上,每天20分钟,你都可以快速得到:
「每天听本书」专业说书人为你解读好书,搞懂一本书,只需要半小时。一年听365本书,帮你高效率阅读。
「大咖专栏」薛兆丰、熊逸、Dr.魏、宁向东、武志红等25位行业大咖坐镇,为你精心打造经济学、管理学、西方艺术、心理学、儿童教育等方面的独家知识专栏。
「李翔知识内参」“知识秘书”李翔帮你筛选全球新知识,浓缩成6~10条音频,用15分钟带你了解全球知识精华和最新动态。
「罗辑思维」全新的罗辑思维,只在得到。“罗胖”罗振宇每日与你分享他的学习心得与收获。「精品课」各领域的高手用1~10个课时,迅速了解一个领域,包含声音、创业、健康…优化你跟世界接触的每一面。
英语流利说
会写不会读?口音读音很奇怪?不怕。 英语流利说采用跟读的形式,然后录音检测你的读音并给出评分,课程也很多,每天练一练。
百词斩-背单词、学英语必备
一款网红背单词APP,可以离线使用,0流量背单词。
软件为每一个单词提供了趣味的配图和例句,还有视频、对单词的拆解,单词书的涵盖范围也比较广。每天设定一定量的背单词数,坚持着每天背、每天打卡还是有一定效果的,建议一天不要设定太多数量的单词。
以上就是偶常用的学习类APP,希望对你有所帮助!