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开发前,中,后期详细给您讲解下:
一、App开发前期
1、明确app开发需求
在明确需要开发一个app前,首先要问自己,为什么要做一个app,手机app需要什么系统版本,app是给谁使用的,面向的用户是哪些群体等。要对开发app行业进行了解,分析app开发的可行性。
2、确定app开发报价
在确定完需求后,开发公司会根据沟通内容出一份开发app功能需求列表,目前普遍使用思维导图居多,可以根据这份思维导图增加或删除功能。敲定好功能需求后,再确认使用什么开发模式进行开发等细节。较后开发公司会核算开发所需周期和人员投入,提供一份详细开发价格表。
二、App开发中期
1、确定视觉UI界面设计
UI设计是APP正式开发的为数不多步。一般来说,app风格较好简洁大方,功能一目了然,能让用户为数不多眼留下好印象。效果图的制作会根据app的需求、app的LOGO、app面对人群来选择主色调,终让客户确定。
2、着手开发app应用程序
在确定好app界面风格后,就可以正式进入app应用程序开发了。目前主流app包括两类,一类是基于安卓系统的app,另一类是基于苹果系统的app。两种系统使用的开发语言和工具不同,但是流程基本都是包括前端开发、后端开发、应用接口开发、服务器环境构建等。此外还有就是页面标注和手机适配,这是app开发项目独有的流程。这个环节是为了能够让app在不同手机上也能正常显示和使用,后期上线不会影响用户使用app的体验。
3、进行app整体测试
测试内容包括:APP内容测试、APP性能测试、APP功能测试、APP视觉测试、对于BUG调试修复。如果测试问题需要及时修复,直到测试结果通过,App的整体开发才能完成。可以多邀请一些内部人员进行测试,充分优化和测试app的体验度和稳定性。
三、App开发后期
1、App打包上线发布
全部做好之后就可以在各大应用市场发布上线了。APP上线审核,俱备苹果开发者账号的前提下,一般苹果的APP store审核大概需要一个星期,安卓审核在3天左右,甚至更快,所以我们要注意把握好这个时间,不要让审核时间耽误上线时间。而且,有个别情况会导致审核失败,需要修改资料重新提交,这样就会导致审核周期更长。
2、App后期维护升级
完成开发上线后,app开发公司根据合同要求,交付相关内容,合作完成。至于后期需不需要维护升级得根据双方合同要求。
初用IIS7让人一头雾水,再也没有原来熟悉的属性窗体,替代的是一些很陌生的名词和 *** 作方式.现在不评它这种改变是好是坏,先让它给我们跑起来吧(老铁的机子运行的是中文版的vista,所以里面的名词都是基于中文版的,如果使用其它版本的朋友,请对照着找找^!^):首先是安装IIS7:Vista默认的情况下是没有安装IIS7,所以我们要在"控制面板"里面的"程序和功能"里面点击"打开或关闭Windows功能",在里面把对应的IIS的功能钩上,铁匠友情提示你,如果想要IIS7运行ASP.NET 1.1的程序,你需要把IIS6兼容性的这些选项一起选中。
其次是配置,对于ASP.NET2.0来说,一切要简单些,因为IIS7默认情况下是支持ASP.NET2.0的程序,只是需要自己重新建一个应用程序池,选好.Net Framework的版本2.0的,托管管道的方式选成:经典。这样应该就OK了。
对于ASP.NET 1.1来说,就要复杂好多,因为IIS7一般是在.NET FrameWork 1.1后装的,所以要用:%windir%\Microsoft.NET\Framework\v1.1.4322\aspnet_regiis -i 来注册你的.NET FrameWork 1.1,但是这时候你查看你的站点的时候,只要一运行ASP.NET的页面,IIS就挂掉了,这时候,老铁经过大量的实践和搜索可以很负责任地告诉你。装完这些后,再在池里面加上对应的应用程序池,然后设置站点,一切就OK了。
接下来说说ASP的设置,作为一个经典的WEB框架,有时候还是得放些ASP的页面在自己机子上看看的,所以让我们一起让IIS7支持ASP吧:首先得看看是不是安装上了ASP的支持,还是在“打开或关闭Windows功能”里面,IIS下的万维网服务,应用程序开发功能里面把对应的项勾选,这时候站点里面就有ASP的选项出来了,在IIS的程序映射里面会有ASPClassic,默认的情况下应该是禁用的,这时候要编辑一下运行权限,把它启用。如果这时候还不能查看,那应该是权限还是不够,可以用以下的方式来修改:在C:\Users\Default\AppData\Local下的Temp加上Users的权限。这时候应该就OK了(因为我是很久之前进行这个设置的,所以有些记不太清了,不过相对来说,这个的设置要比ASP.NET 1.1容易很多)。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)