如何开雷火电竞发一个App?
开发App的过程显得有点专业,不过本文不涉及编码,仅是简单描述一下App从无到有的一个过程。希望能让不懂开发的人也能够知道一个App是如何诞生的,这其中会经历哪些过程。
软件开发最重要的一步就是需求分析,这个过程我们都是由商务人员和产品经理协作完成的。一般的客户很多想法都是停留在天马行空的阶段,我们会帮客户分析其中不合理的地方,并给客户提供一个完善的解决方案,最终梳理出完整的需求。
上面是一张简单的关于需求的思维导图,仅供参考。为了方便观看和保护隐私,我删减了部分内容。
需求确定后,产品经理就会开始画App原型。所谓原型,其实指的就是App的草图,用于确定App界面大概设计方向。我们画原型使用的是专业设计工具(Axure或Justinmind),所以原型本身也具备了一些简单的交互功能。
当App的设计定稿,接下来就交给开发者,逐步去实现各个功能。通常而言,一个完整的App至少包括2个端,即前端和后端。
项目的技术负责人会根据需求文档,对项目需要用什么技术栈、集成哪些SDK进行评估,最终整理出一个项目的框架。这个框架是App能稳定运行的支柱,差的框架会导致结构、代码混乱,难以维护,极大影响开发和维护效率。
App的数据都是从后台获取,这就需要后台提供一系列的接口提供App调用。这些接口,就称作Api。
设计和实现Api需要不少的时间,与此同时,前端的小伙伴也着手开发App的界面。雷火 雷火电竞 app我们会划分出几个模块,便于团队协作开发。
比如上图,最简单的划分方法,就是把下面的5个tab划分为5个模块,每人负责其中2-3个同时开发。
界面开发是个纯苦力活,这个过程常常要因为线条粗细、字体颜色、字体大小、字体对齐等问题作相应的调整,最终才能出来一个让人满意的界面。
界面完成时部分API也完成了,这时就可以在app内集成API,编写app的业务逻辑。这也是一个苦力活,实现业务最关键的一个步骤。项目的业务复杂度决定了这个过程的苦逼程度。
App集成了数据,最后一步就是对细节进行打磨。比如使用一些动画提高体验,或优化交互流程等。举一个简单的例子:(下图会动,请点击查看动图)
把所有功能都实现完就完事了么?第一版本的app通常相当不稳定,开发完后会交给测试人员测试,找出软件存在的一些问题提交给开发者。开发者再对问题进行修复,如此迭代直到稳定。
经过内部测试后,就可以发布公测版了。此时可以把软件交给客户进行公开测试。beta版的软件一般不会出现常见的bug,在公测过程中,会发现隐藏很深的一些问题,开发人员再根据反馈进行修复。
本文假定读者是想通过自己的学习和努力,从0到1去制作自己的一款APP产品。
不懂开发的人可能觉得软件产品就只是程序员埋头吭哧吭哧搞出来的,但编码其实只是其中一个环节,并不是全部。你可以把产品原型理解为房子的设计图,简单的房子可能不需要设计,但稍微复杂一点的,都是离不开图纸的。
有些程序员想自己做个东西,也不需要和别人协作,觉得这个麻烦,就跳过这一步了。但我建议最好还是先做出原型来,它不仅可以帮助你把头脑中的想发快速呈现出来,更重要的是,在你设计原型的时候,你已经把产品在脑海中做了一遍了,这样对你在后面进行软件的模块设计的时候是有极大的好处的。
这里推荐几个做 App 产品原型的软件:墨刀Axure。如果不是特别清楚原型是什么东西的话,可以到墨刀的讨论区去看看,有一些分享的作品。
这年头颜值越来越重要了,对于大部分开发者来说,可能做不到设计惊艳,但是要做到简洁大方并不是一件很难的事情。
秘诀就是要统一,统一好颜色、字体的使用场景,这样出来的视觉效果一般不会很差。
这里有篇文章介绍了设计规范的内容,你可以去参考一下:APP界面设计规范编写指南。
还有一个就是图标的问题,阿里巴巴图标库有非常多图标,一般App都够用了。
一般来说,如果是我自己开发的应用,很少去动手设计页面,都是直接用一套成熟的设计规范,然后对着产品原型来动手编码了。比如 App 的就可以使用谷歌出品的Material Design,后面提到的 Flutter 就已经内置了 Material Design 的 UI 组件了。
如果你要自己动手设计页面的话,在 mac 上面我推荐使用 sketch 。
接下来就可以考虑开始动手干了。首先我们要先定一套技术方案,一般来说,我们做一个普通的App,需要搞定的东西有除了手机App,还有相关的API服务接口。
首先我们看一下App端,目前手机平台有两大阵营,一个是 Google 开源的 Android 系统,一个是苹果的 iOS 系统,它们使用的开发语言和开发工具都是不一样的。其中 Android 可以使用Java 或者Kotlin语言来原生开发,iOS可以使用 Objective-C 或者Swift语言。
如果你要两个平台都各做一个,那开发成本将会非常高。我建议你考虑直接采用跨平台的技术,比如Google 的Flutter(Dart语言)或者 Facebook 的Reactive Native(JavaScript语言)技术。
当然你要先调研一下你要做的产品在相关平台下实现有没有可行性,这方面可以咨询一下相关的技术专家。也可以按照经验原则,你在别的App看到的功能,一般都能实现。
无论你使用什么技术,一般来说在 App 端需要做的事情一般不外乎编写页面,编写交互逻辑和数据通信,一般采用HTTP协议。
这里涉及到的技术点比较多,我的经验是直接通过一个完整的Demo源码来边学边做是比较高效的学习方法,这个Demo最好足够简单,但是有完整的逻辑交互和通信过程,比如登录和数据列表。找Demo可以通过搜索引擎、GitHub开源中国等平台。
还有一个值得分享的经验是要以官方文档作为主要参考和学习材料,资料够准确,你也会慢慢就能快速索引到相关知识点。遇到一些不懂的知识点要善于Google 或者百度,一门相对成熟的技术,网上都有很多资料的。
如果说App是可以看得见,摸得着的前端,那 API 就是看不到的后端了。这一块的技术就更复杂了,你的App用户是1000人,1W人,100W人,后面系统的设计复杂度是完全不一样的。当然,这里不去讨论负载均衡、分布式设计这些复杂的东西,当前我们能搭建一个简单的web服务就好了。
虽然我自己用 Java 比较多,但如果你是刚开始接触后端开发,你可以试一下expressjs,上手很快,对于简单的接口开发是足够啦,语言是 JavaScript,刚好你可以结合一下使用Reactive Native来开发App,降低了不少学习和开发成本。
这个是用来方便你后面运营App用的,比如要录入一些资料,管理用户等。要完成这个,在懂得写接口的基础上,你还要学习怎么编写网页。
如果你前面的事情都能搞定,那HTML 和 CSS这些对你来说就是小菜一碟了。如果你还有精力的话,你可以顺便把vuejs也看一下,这里推荐一个后台模块:vue-element-admin。
如果实在学不动了,也可以用boostrap+ jquery 来搭建一套视觉还不错的后台系统。
到此,你的 App 就算是完成了,测试和上架那些就不提了。推广和运营又是另外一个话题了,有机会再聊。
我们是一支由资深独立开发者和设计师组成的团队,成员均有扎实的技术实力和多年的产品设计开发经验,提供软件定制服务。
需要想好要开发APP产品主要解决的问题,进行市场同类产品分析,竞品分析,找出市场产品的优劣势,制作产品功能列表,做好前期功能规划;要进行自建团队的开发还是选择供应商来进行开发,找到合适的开发团队,做好开发的前期准备。
1、产品经理,负责产品需求沟通,产品原型开发,需要对产品要解决的问题,对产品的功能有深入的理解,需要多沟通。客户本身就是最大的产品经理,要深刻理解客户的意图。
2、UI设计师,主要是产品原型的UI实现,雷火 雷火电竞 app一个好的UI设计师,设计风格要符合客户需求、能够让用户感知更好;
3、程序员,包括IOS开发工程师、安卓开发工程师、后台研发工程师等,保障产品的逻辑代码实现;
4、测试工程师,测试部分除了专门的测试人员,可以客户+程序员+UI等人员也都共同参与进来,检查产品的bug,检查问题,保障产品的顺利实现。
目前APP可以通过关键词设置等,来提升APP在appstore里的排名;
APP推广方式是多种多样的,需要根据预算等情况,选取多方推广方式结合,尽快获得更多种子用户,推广APP应用。
我本人是一个喜欢听音乐的人,上个暑假我在用网易云音乐(我不是打广告)的时候,用了网易云音乐的歌词分享功能,当时我突然想到,像我这样喜欢背歌词的人,要是有一个专门的歌词社区来一起和志同道合的人一起谈论歌词,分享自己认为最美的歌词的地方多好,介于本人在学校自学android开发,有过好几个APP项目经验,又是一个以后想当产品经理的人,于是马上把这个想法记到印象笔记中,第二天去找相关资料,发现基于歌词的社交APP没有搜到什么,有的也是一些风格是android2.3风格的应用,又逛遍有关歌词的,人人小站,豆瓣小组.....基本确定歌词社交的需求是存在的,而目前没有相关APP,于是说干就干,拉上实验室的开发队伍(由于本人以前就做过几个APP项目,也在大赛得过奖,可以组织起开发人员),正式开始了最美之路。
我认为有一个好的创意是不够的,你需要把一个点,扩展成一个个具体的需求,于是在网上找了个钟跟歌词有关的资料,以及问了在哪些歌词贴吧,小组中的人,文他们希望APP哪些需求,然后大致完成APP的需求概要设计书。
然后产品经理瘾上来的我,不分昼夜的想了一个星期,终于对于APP说要得到的需求合理安排设计,初步完成APP的原型,
真正的难点来了,绝大部分的想法永远只是想法,于是产品经理化身工程师,开始和一个搞技术的同学一起开发,我主要负责UI,和一些常规开发,而他负责技术难点,两个人暑假在学校实验室里忘我开发。真正开发起来,计划永远赶不上变化,设想的功能因为技术难点无法解决或者我们技术根本搞不定,只能放弃,改变方案,但是每次改变都不是轻易说改变的,我又需要根据现在的技术和需要实现的功能做一个平衡,想个三四天,再做一个原型出来。
是不是感觉改变好大,我们算是一边做,我一边不断修改原型的,这貌似暴露了我这个产品经理的不专业,没办法,还是大学生,一步一步都是新手,又一开始把饼摊的太大了,只能每天晚上都想方案,现在想想真的是蛮拼的,自己对产品的喜爱还是很强的吧。
目前应用准备上线,产品经理又化身运营人员,开始苦逼的找应用市场,找首发机会,无奈大部分应用市场首发都需要企业开发者,我都把360的首发要求都做好了(闪屏加logo),应用推荐仿360手机助手,结果申请的时候,说不是企业开发者,想哭的心都有了,于是把logo和推荐又去掉。唉,目前正在各大应用市场上线,不要以为APP做出来了就是成功了,把APK往应用市场一丢就完事,你的应用被别人下载,而且一直被人使用才是真的成功。这里也希望看到的知友们,多多推荐最美歌词,分享的链接为
我在APP里加入了友盟的统计,准备根据APP上线后的数据再对APP进行第二版的改进。
明确了上述几个问题,接下来要做的就是细化,直到形成一份,足够细节、具备可实施性的文档,也就是我们说的「App需求文档 」
根据前两步的「 需求文档」、「 流程图」制作原型图,界面上要包含这个界面该有的所有的元素和字段,但是这一步是没有具体排版的和颜色渲染的)
制作设计图(UI):根据上一步的原型图,来具体的排版,渲染颜色。最终产物是一套用户界面设计图
完成以上步骤你的APP就制作完成了,补充一些开发过程中会存在的额外费用。
下载A应用提示用户需要先下载B应用,例如在百度中搜索应用,需要先下载「百度应用市场 」
扫一扫关注微信公众帐号