开发一款APP的完整流程
开发一款APP的完整流程近年来,在市场和政策的双轮驱动下,我国服务外包产业快速发展,服务智能化趋势显现。随着企业核心业务外包活动的日益增多,拥有专业技能、高附加值、整体解决方案的服务外包商成为越来越多企业的选择,如何在竞争激烈的市场环境中成为行业领先者?如何提高APP的开发效率?郑州维飞带您学习“一款APP的完整开发流程”。一、收集需求并整理分析需求分析是一款APP项目开发流程中最重要的一个环节,app开发的成功与否很大程度都决定于此。这里所说的用户需求分析指的是基于用户的要求所进行的APP功能的梳理。针对的主体都是用户,“以用户为中心”,不是瞎喊口号。因为很多公司所开发的APP都是给需求用户所使用的,所以,在整理APP开发需求的同时,不仅要根据企业所要求的开发需求,也要了解这个企业所针对的广大用户的需求。最终将这些需求梳理、分类,整理出大致的APP功能框架。在这个过程中,切莫断了与所对用户的联系,尽力做到无疑问,以免所开发的功能累赘也不适用。二、预算评估并制定成本不论项目是由自己团队执行开发,亦或是交由第三方公司代为设计开发,建立在一份完善且有质量的需求文档都是非常有必要的,对需求文档进行人力时间的投入,可以较准确地估算出项目需要投入的预算,同时这些文档后期会有助于产品经理,UI设计师,技术开发人员等等对项目的理解,减少人员沟通中可能存在的误差。三、原型设计原型设计也就类似于一个APP产品的草图,在经过深度的用户分析之后,将整理出的需求分类、排序为功能节后模块,利用这些功能模块就能搭建出简单的产品原型。四、UI视觉设计在产品原型的基础上,UI设计师才开始对APP的界面进行美化,依据所表现的内容进行版面结构设计,设计风格控制、并对每一块区域进行相应的配色、绘制功能菜单图标、设计页面元素等,在此期间就需要不断的沟通修改,最终设计出所有的APP界面效果图。五、架构设计系统架构师是一个既需要掌控整体又需要洞悉局部瓶颈并依据具体的业务场景给出解决方案的人。确认和评估系统需求,给出开发规范,搭建系统实现的核心构架,并澄清技术细节、扫清主要难点的技术人员。主要着眼于系统的“技术实现”。因此他/她应该是特定的开发平台、语言、工具的大师,对常见应用场景能马上给出最恰当的解决方案,同时要对所属的开发团队有足够的了解,能够评估自己的团队实现特定的功能需求需要的代价。系统架构师负责设计系统整体架构,从需求到设计的每个细节都要考虑到,把握整个项目,使设计的项目尽量效率高,开发容易,维护方便,升级简单等。架构师的主要任务不是从事具体的软件程序的编写,而是从事更高层次的开发构架工作。他必须对开发技术非常了解,并且需要有良好的组织管理能力。可以这样说,一个架构师工作的好坏决定了整个软件开发项目的成败。六、数据库搭建按照需求分析整理出来的功能数据处理情况,建立合理的数据库表结构,优化数据算法,提升数据的处理效率,保证在使用APP的过程中数据的安全性、准确性、稳定性和及时性。七、服务端开发一款APP应用的核心处理都是由服务端的程序完成的,客户端的APP知识需要收发数据,由于用户的移动端设备硬件配置和存储容量有限,因此核心数据处理过程均是由服务器端进行运算处理的,这种方式也被称为云计算,服务器处理完成之后反馈给客户端APP。因此服务器端的程序开发极为重要,所有的功能均需要严格按照需求分析阶段整理的功能来进行开发。服务端开发,特别是Web开发,基本上全是处理HTTP请求的处理。根据具体用途分为两种:Web页面开发和API接口开发。八、iOS/Android客户端开发程序员按照APP效果图进行客户端开发,对设计效果图的代码实现,写入功能调用的接口,连接服务器端,方使服务器端的数据进行交互,开发出与效果图一致的APP的客户端。九、APP程序测试/QAAPP的全面测试,此测试是模拟用户在正常使用的情况下以及非正常使用的情况下有可能出现的问题,当然,需要导入必要的数据进行测试,出现错误继续开发修复,通过则证明整体APP已经完成,然后再将成品交由用户试用。项目上线前安排充足的测试时间,是一款软件质量至关重要的保证。十、上传到应用商店完成签名验证之后,开发好的客户端APP程序就可以提交发布到各应用商店。iOS版本的APP提交到苹果的AppStore,安卓的提交到国内各大安卓应用商店。(PS:根据当下安卓市场应用上架必须提供具备软件所有权的著作证书——即软著,为不影响上线时间,建议所有需要使用到的个平台账号和证书在项目同步或前期尽早完成申请)十一、APP的维护及更新对上线之后的APP进行维护,收集用户反馈信息,及时修复APP应用中出现的错误(Bug)。1各大应用市场的开发者账号维护,ios系统的如苹果商店,Android系统的如豌豆荚、安卓市场、木蚂蚁、360市场等开发者账号的更新维护。2根据首版app上线后的用户反馈以及产品的数据分析,进行下一版本的更新,功能升级,版块添加等。郑州维飞从事:APP开发、微信开发、软件开发、网站建设、系统定制开发、诚邀合作
1 应用设计:需要有符合社交应用风格的UI设计和用户体验,可考虑UI设计工具,例如Sketch、Adobe XD等软件。
2 数据库:需要一个稳定的、高效的数据库来存储用户信息、聊天记录、群组信息等。你可以考虑使用开源数据库,也可选择与服务器框架捆绑提供的MySQL服务器。
3 服务器:为了支持APP的基本功能,要搭建服务器提供API,完成用户注册,验证,获取信息、聊天、发帖等功能,若无合适的服务器搭建经验,可使用云服务器管理软件如 AWS,阿里云等平台。
4 账号系统:需要开发一个稳定的账号系统来支持账号注册、登录、密码修改、个人资料修改等功能。
5 即时通讯功能:社交应用离不开即时通讯功能,例如实时聊天、约见、分享等,需要使用即时通讯协议来实现,如XMPP。
6 定位服务:社交应用常常需要使用定位功能,如附近的人、地图导航等,需要使用GPS或其他依据地理位置的服务。
以上是基础需求,可能还需要考虑支付系统、广告、与其他应用的配合等等,具体需求取决于应用的功能和规模。
有花生壳,或者其他的端口转发,用自己的电脑做服务器,通过代理,比如说你的Tomcat端口8080,代理是一个软件绑定端口,会给到你一个网址,你通过网址就能访问你的后台了。相当于就是把127001:8080,替换成网址,随便哪个上网设备都能够访问到。
开发不同类型的App需要用到哪些技术?WebApp:iOS/Android的内置浏览器是基于webkit内核的,所以在开发webApp时,多数使用html或html5、CSS3、JavaScript技术做UI布局,使其在网站页面上实现传统的C/S架构软件功能,服务端技术用java、php、ASP。现在也有很多一键生成webApp的平台,如百度siteApp/移动开发平台APICloud,APICloud平台提供基于腾讯x5浏览器引擎生成webApp,因为移动端的超级流量入口微信/手机qq等用的也是腾讯x5内置浏览器,所以用腾讯x5浏览器生成的App在移动页面展示时适配于微信的浏览体验,这样可以帮助webApp引流。NativeApp:开发NativeApp需要根据运行的手机系统采用不同的开发语言,开发AndroidApp需要的开发语言是java,还需要熟悉Android环境和机制。主要知识点如下:
1开发环境,AndroidStudio、eclipse如何搭建Android开发环境可以去百度。
2数据结构,App的某些功能涉及到做算法,所以要有一定的数学基础
3AndroidSDK,会API接口开发,包括自行开发API的能力和调用第三发API的经验。
4熟悉tcp、IP,socket等网络协议
5如果涉及到服务器,你还需要了解webservice相关知识和相应的开发语言,常用有PHP、JSP、ASPNet
6除了这些功能基础,App开发还涉及到UI设计、框架、性能优化、调试适配等。Objective-C是开发iOS系统App的主流编程语言,开发者一般用苹果公司的iOSSDK搭建开发环境,iOSSDK是开发iOS应用程序中不可少的软件开发包,提供了从创建程序,到编译、调试、运行、测试等多种开发过程中需要等工具。学习iOS开发可以去看苹果官方文档,这是最权威的ios教程。HybridApp:混合开发中主流的是以web为主体型的开发,即以网页语言编写,穿插Native功能的hybridApp开发类型,网页语言主要有html5、CSS3、JavaScript。Web主体型的App用户体验好坏,取决于底层中间件的交互与跨平台的能力。国内外有很多优秀的开发工具,如国外的AppmAkr、Appmobi,国内的APICloud,APICloud的底层引擎用DeepEngine,使用半翻译式原理,将运行中的web翻译成NativeAPI,并且支持扩展API,开发时可调用用原生语言开发的功能模块,以此达到媲美原生App的用户体验,同时节省开发时间。对企业来说,可以根据自己的需求选择不同的开发类型和开发工具,目前来看,HybridApp已经成为移动开发趋势,一方面HybridApp开发时不采用或者大部分不采用原生语言,却能拥有原生应用的特性,一方面随着web技术的发展,HybridApp技术已经成熟,很多大型App淘宝、微信、携程都属于这种开发模式,HybridApp给企业移动应用的开发、维护、更新都带来了极高的便捷性,从成本投入用户体验考虑,HybridApp都是首选。
搭建网站的选择有多种,可以购买域名和服务器,但是每月需要付费,成本较高;也可以在树莓派上搭建网站,这样可以把服务器掌握在自己手中,节省成本,也会有自己掌握的爽感。但是树莓派存在断网或断电的风险,因此树莓派上运行的网站,其稳定性会有所欠缺;最近发现,使用安卓手机也可以搭建网站,个人觉得甚妙,因为安卓手机可通过电话卡连接移动网络,也自带电池,因此抵抗断网和断电的能力大大强于树莓派,而且手机也更加便携。
那么如何使用安卓手机搭建一个网站呢?
需要在安卓手机上安装的软件有三个:KSWEB、花生壳内网版、花生壳管理:
其中,
搭建服务器很简单,打开KSWEB:
可以看到Nginx、Apache、MySQL等组件都处于未启动的状态。
Server IP一栏显示服务器在局域网中的ip地址是0000,这是由于我们的安卓手机未接入任何wifi,而是接入4G网络;如果安卓手机接入到wifi中,那么这个ip地址会是192168xxxxxx这种常见的格式。
要部署一个网站,首先需要搭建web服务器。KSWEB为我们提供了NGINX和apache两种选择,目前apache是主流的web服务器;而nginx则更轻量,在树莓派等性能较为羸弱的设备上颇受青睐。这里我们使用NGINX。
我们滑动至NGINX页,开启服务,按右下角加号添加主机:
此时,一个静态的web服务器已经在局域网中搭建起来了,我们访问web服务器地址:0000:8001(其中,0000是手机在局域网中的ip地址,8001为服务器的端口号)
实现内网穿透的工具是“花生壳内网版”和“花生壳管理”这两个app,他们的关系是怎么样的呢?以下我根据我个人理解进行梳理如下:
假设我们有某个设备(Windows、Mac、Linux、树莓派、安卓),想要使用花生壳对这个设备上的服务器进行内网穿透,那么需要在设备上安装相应的花生壳客户端,并保持运行。在花生壳官网上,我们可以看到各个系统对应的花生壳客户端,对于安卓手机来说,相应的花生壳客户端就是“花生壳内网版”这个app。
至于“花生壳管理”这个app,只是一个远程设置和管理的工具而已;除了“花生壳管理”这个app,我们也可以在花生壳官网上登录并进行远程管理。
弄清楚这个关系之后,我们就开始对第二步所搭建的web服务器进行内网穿透了。
我们打开“花生壳管理”,并登录,点击“添加映射”:
此时,需要打开“花生壳内网版”,用同一个帐号登录,让映射生效。进入后可以看到我们所建立的映射:
至此,我们在安卓手机上的web服务器已经搭建完成。在安卓手机上搭建web服务器,不失为一个让旧手机发挥余热的好选择。
第一步:前期沟通app开发流程的步就是由客户和专业的App外包公司进行沟通,确定App的开发需求,比如大致的功能模块、页面分布等,并且整理成文档。因为大部分人对App的功能设计并没有多少概念,所以在这个过程中,可以对市场上各类型的App进行分析借鉴,有了参考,在沟通过程中就非常方便。第二步:需求列表对功能的需求明确之后,接下来的步骤就是对功能不断细化,比如一个简单的登录注册环节,就包括:手机注册、邮箱注册、验证码系统、密码找回、密码修改部分。功能需求列表是App开发的核心,App外包公司也是根据App的需求列表进行报价,所以,双方要对需求列表进行详细的沟通之后才能确定。第三步:交互原型需求列表清晰后,然后由外包公司的产品经理和客户沟通,终完成App交互设计,即各个页面功能的排版布局,页面之间的跳转连接等等。通常由App外包公司的产品经理负责。这个过程考验的是产品的思考能力,客户自己也能尝试制作。第四步:UI设计产品交互原型设计完成后,由产品经理和UI设计沟通,确定App的页面设计,形成可视化的效果。再与客户进行再次确认。第五步:技术开发技术开发目前主要两种:编程开发和免编程制作。1、编程开发:就是由程序员根据App的原型,分工协作,一层层敲代码完成App的制作。一个完整的App包含:安卓端、苹果iOS端、运营管理后台、服务器数据库、运营管理助手这五大部分,每一部分编程内容都不相同,需要专业的人员逐一开发。2、免编程自己制作利用新的“应用公园”傻瓜式App在线制作模式,不需要外包公司的技术人员,不需要开发技术,自己制作专业的手机App。主要分为四个步骤:(1)选择开发模式:目前应用公园平台主要分为两种App开发模式:自由模式和一键主题模式。A:自由模式应用公园平台拥有上百种开发好的常见手机App的功能组件,比如登录注册、图文视频、积分会员、在线交易、贴吧社区、产品店铺、收藏转发、付费阅览等等,利用这些开发好的功能组件,自己就可以拼图式制作App。B:一键主题模式应用公园平台还拥有上百个垂直领域的App模板,可以一键使用。(2)搭配功能:进入应用公园的平台,如下图所示:左侧为App的页面,中间的为制作平台,右侧为各个功能,在左侧建立App页面,在右侧挑选功能,然后拖入中间的制造平台中,然后对功能细节进行调整。如果是主题模式,找到符合功能、行业的模板,通过模板进入制作平台,会发现已经制作搭配好的App。这些模板内部的功能、内容、排布布局通过平台也可以进行修改。(3)上传素材:功能搭配完善后,上传对应的、文字等素材进行填充,对细节进行调整即可。(4)预览打包:App制作过程中,可以下载制作助手,查看实时的制作效果。制作完善后通过平台,iOS及安卓双版本一键打包生成。第六步:软件测试如果是外包开发制作的,App开发出来后,需要交给专业的测试人员进行测试、修改bug。通过应用公园平台制作的App,因为所有App功能都是之前开发完善的,所以不需要测试,直接就可以使用。第七步:上线运行App完善后,在各大应用商店上架后,就可以下载使用了。
0条评论