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,必须要有相关的idea(主意),也就是说,第一步是APP的idea(主意)形成。
其次,就是通过那些idea来进行APP的主要功能设计以及大概界面构思和设计。
App的开发是一个不断推敲的过程。
首先,如果要做一款app,必须要前期进行沟通,初步表明此款app要实现的效果,属于哪个类型的app。在功能和实现价值基本敲定的情况下,开始进入项目评估阶段。这个时候产品经理会根据之前商定的功能进行价格和工期的评估,确立一个初步的项目排期。在系列的前期工作得到客户认可的情况下,签订合同正式开始项目。项目开始各个部门就开始项目的碰头会议,设计部门开始设计UI(产品界面)和UE(用户体验),针对产品开展创意设计,形成初步的效果图,经过首次客户的确认。
在根据交流的具体结果进行二次修改,最终与客户确认高保真视觉图,开始进入研发阶段。
经过工程师的一段时间研发,产品基本成型,正式开始测试。测试合格,确认没有bug后与客户进行沟通,开始验收。由客户进行测试,提出修改意见。
客户验收合格满意后,开发者会将app交付客户,客户根据APP预估的访问量、用户数量等来进行服务器的选择,服务器可以自己购买管理,也可以购买后托管,也可以直接租赁。服务器的好坏也直接影响APP用户体验的好坏。
选定好服务器以后APP就可以正式上线。
具体的我们可以看下这个APP开发标准流程信息图:
在上线这个步骤中,首先要在前期预留时间。
苹果的APPstore审核一个应用需要一周左右时间,所以如果是计划上规定上线时间的项目,开发测试一定要提前半个月完成,以给上线审核预留时间。
安卓各市场一般审核较快,普遍在3天左右即可。
安卓市场众多,选取哪些平台上线比较好呢。如果此APP不牵扯到独家合作的话,那建议上线国内主流的平台,如安卓市场、安智市场、豌豆荚、应用汇和机锋市场等等。一些不出名的此银市场会从大型市场上抓取部分应用,所以发布不必涵盖所有市场。
第二部分:上线所需资料与注意事项
一、申请成为开发者
1.公司开发者上传营业执照扫描件(已年检)
2.个人开发者上传个人有效身份z的正反两面扫描件
3.所有上传证明材料必须真实有效;
4.开发者提供的联系人,联系电话将作为手机应用市场与开发者联系的渠道,需真实有效
二、上传软件资料注意事项
1.软件名称、文字介绍及截图不能违反国家相关规则;
2.软件介绍里有网址的,必须与软件开发者或者内容相关,不得有其他无关内容
3.软件图标、截图必须来源于上传软件且内容清晰,与当前版本对应
三、app发布流程中需注意:
1.确保软件能正常安装、使用、卸载,保证良好的用户体验
2.不得抄袭,如有侵权行森此宴为则不会通过审核、已经上线软件将立即下架
3.不违反国家相关规则;
4.如软件有收费内容,必须给用户以明确的提示
5.如软件含有内置SDK(软件开发工具包),须不含违反国家相关法律的信息;
四、手机app框架和原型需求图生成
1.制作app需求,和客户沟通确认app
2.管理平台开户
3.双版本app框架输出
4.App内容架构组织
五、Appui设扒慎计及制作
1.手机app界面设计——app素材收集与加工
2.手机app图标设计——app内容制作上传
3.客户确认
六、手机App程序测试调优
1.App内容测试
2.App性能测试
3.App功能测试
4.App视觉测试
七、手机App应用上线发布
1、Appstore发布
2、主流安卓市场发布
3、App下载页(web/wap)发布
4、二维码生成
5.App应用手册
总的来说:简洁舒适的界面+新颖吸引的内容+良好的服务器+定时更新升级=好的用户体验。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)