哈尔滨微信开发

哈尔滨志冉科技-您身边最专业的软件开发商!

咨询热线:15268453999

自己怎么开发app软件

发布时间: 2018-06-07 18:51:16 来源:未知 作者:admin 浏览次数:57
返回列表
app软件是如何被开发出来的
一款app软件是怎么被开发出来的呢?想要开发手机软件,不管是你是开发个人类型的还是企业类型的,首先都要找到合适开发方式和开发团队,然后才能进行接下来的开发流程。一般来说,手机app的开发方式莫过于这几种,如购买系统或者是软件制作app,或者找app开发公司亦或是自己开发。如果是采用第二种方式的话,你还需要去考察哪家的技术好,价格合适,最令你满意,最后决定启用自己满意的开发团队。
 
确定好了团队,接下来就要去了解app开发的一些细节问题了。比如说,提供自己的app开发方案或者是计划,包括开发什么类型的软件,app的功能够有哪些,app制作的周期是多长等内容。最后等手机app的成品出来,经过调试,验收,一款app应用就开发好了。
 
开发一款app的难点在哪里
App开发以目前的技术和市场来说,即简单也较难,为什么会这样说呢?说app软件制作简单是指不管是你会开发还是不会开发,app的制作都可以找到合适的、专业的公司来做。说到开发一款手机软件的难点,小编认为是app的创业和质量。
 
在互联网+时代,互联网产品都有一个比较大的不足,那就是同质化产品太多,抄袭和仿造太严重,真正有价值和创意的高质量产品太少。而且,互联网产品的盈利性质太强,对用户起到做用的产品不多。所以,app软件的开发难点在于如何从用户的角度开发出有价值,有创意的优质app。
 
 
 
从事iOS、安卓开发八年,却只发布了一款APP。
 
 
我是一个程序员,从业18年的“老程序员”,从2010年转做iOS开发以来也有将近八年的时间了。八年,对一款APP不断的维护、完善、更新、版本更迭,一路走来,回头看看自己都难以置信。
 
我是一个“老程序员”,又是一个爱学英语的“老程序员”。学英语免不了要刷单词,刷单词的时候我发现很多单词都有一些非常好的记忆方法,但这些方法散布在互联网的各个角落。能不能做一款APP,把这些方法搜集起来,方便用户查询呢?
 
想到这里我就开始动手了。
 
第一个版本功能很简单,但却是最花精力的。1.确定单词范围。综合了网上的一些词频资料又加入了一些医学词汇,第一个版本收录了10来万个单词。2.以俞敏洪老师的《词根》为基础,初步整理了800个词根,给7000多个单词做索引。3.因为是我一个人做,没有沟通成本,代码实现的效率还是很高的。虽然安卓和苹果的开发语言差别较大,但核心代码的算法基本一致(比如数据存储和检索),只是界面部分略有差别。
 
2011年年底顺利上线了第一个版本,为了降低成本appstore还是用的朋友公司的账号,因为没有服务器所有功能也都是离线的。
 
不过上线后用户反馈并不好,我想一定是哪儿里出了问题。认真分析总结问题应该出现在两个方面。
 
1.产品形式定位为字典,那么字典类的内容当时只有概要解释,音标、发音、双语、例句、同义词、英英等都是后来一步一步加上去的。
 
2.单词记忆的素材太少了,使用者在查询的时候,有很多词查不到记忆法,还要用度娘二次找。
 
找到问题,那就逐步解决问题吧。
 
内容主要有以下几类:
 
1.名著上下文。
 
阅读是复习和巩固所学单词的最好方法,最好的阅读材料当然是英文原著,可是我们很多人读原著都有障碍。单词量不够的时候查字典会让你丢掉所读阅读的乐趣和激情,而有时候就算所有单词都认识,也不能体会作者的意思。
 
针对查字典的问题,我开发的【名著阅读】的点单词自动查含义,这在当时还没有人做,所以这个功能上线后,吸引到了很多用户下载。针对所有单词都认识,也不能体会作者的意思的问题,我给每段英文都配上了中文,都是手工操作的,一共整理了100多部名著,整整花掉了一年多的晚上和周末。
 
如果你喜欢看实体书,我还给这100本书里的每个单词做了索引,所以也可以通过查词定位到这里:
 
2.词根词缀分解
 
背单词还有一个重要的方法就是词根词缀。词根词缀可以理解为汉字的偏旁部首,我们大量记汉字肯定不会按照横竖撇捺去背,同样英语单词也不应该按字母罗列来背,除非你是初学者(我们刚会写字的时候也是横竖撇捺啊)。这方面的中文资料虽然很多,但都是围绕5000左右的考试词汇的。英文资料已经很丰富,但都是文字资料。如果把这些资料数字化,学英语的同学就能方便的查询每个单词的词根词缀,也可以查询每个词根构成的单词了。这个数字化的工作,目前中外只有我一个人在做。
 
截止今天已经拆解了十万多个单词,总结了两千多条词根,并引入正向和反向索引,方便举一反三式查询。同时给这些单词画“词源树”,有了这棵树你就可以了解这个单词的来龙去脉了。
 
3.单词记忆法
 
这个功能我是用单词笔记的形式体现的,最初的设计是希望每个用户都能把自己觉得好的方法提交到系统。但现实是:初期的用户量很少笔记就很少,而笔记少就不能吸引更多的用户,这是一个恶性循环。为了让这个体系运转起来,初期的笔记都是我个人录入的。这会存在版*权的问题,不过在之后的运转过程中我都进行了版权确认,这当中得到了摩西老师、钱磊老师和童理民等老师的支持,现在这几位老师在APP里都有专栏,大家一定要关注他们,都是行业精英。
 
其他的过程还很多,就不细说了。
 
随着资料的逐渐丰富,APP也得到了使用者的认可,看着APPStore里面清一色的五星评论,比喝什么鸡汤都管用!
 
我知道这不是个人英雄的时代,但凭借自己的努力为英语学习者提供了一款绝对良心软件,却也欣慰,虽然为此付出了很多。
 
 
 
第一个版本上线之前,需要比较良好的心态。
独立开发意味着人手不足,意味着工期拉长。因为如此,朋友的开发计划让我看的话,我都是说,第一个版本只上最核心功能以及必要功能。因为工期拉长非常容易影响心态,容易想太多。另外一个是不要进入亢奋状态,合适的开发节奏非常重要,从亢奋状态下来后一般情况下会歇『一阵』,但实际上你根本不知道这个『一阵』会是多长的时间。我一朋友花了1年+的时间也没回到比较好的状态,唉……
上线之后就好多了,用户会有反馈(有好有差),只要有反馈就可以对你的心态产生正面影响(第一版本工期拉长会对心态产生负面影响的最大原因就是没有他人的反馈)。后续的小版本升级的工作量不会太大,因此对比1.0的时候会好很多。
但是大版本升级又将是一个考验的过程,有可能是UI的大改,有可能是大功能的增加,这意味着可能有大量代码被删除,以及肯定的大量的新代码。这时就跟开发1.0的时候有点类似,但也好很多。在删除代码的时候一定不要手软,要坚决的删除!
 
整个开发过程中的效率会高得让人感动,毕竟前后端都是自己搞,绝对的零沟通成本,客户端想要什么,服务端就给什么,一个字节都不带浪费的!
 
由于我不会做图标设计,也就还需要专业的设计师的协助(就是这个让我不敢自称全栈)。不知道如果这个也能自己搞是有多爽。
把专业的事情交给专业的人做,想通了这一点,也就不再纠结自己是不是要学点图形处理软件了。
 
总体来说是很棒的体验,比当螺丝钉的感觉好多了!
 
 
先说一下,我不是专业前端开发,也不是专业移动端开发,我就是个90后后端小码农
 
 
到目前为止我自己一共上线了两款ios的APP,如下图:
 
 
 
请忽略丑丑的外观,我们程序员要讲内在美的
第一款app【预言家】是16年5月初开始做,6月初开发完成,7月上线。主要利用了平时工作外的空闲时间。
 
我那时候觉得下班之后好空虚,游戏打不动了,电影也没感兴趣,当时我在一家创业公司,平时看过同事用swift写的app,于是我就决定自己写一个app,在什么都不会的情况下,我从零开始学swift。
 
我一直认为致富捷径都已经被写进刑法了,我等p民实在是没有什么好的idea,在绞尽脑汁思考好几天牺牲无数脑细胞之后,觉得黄赌毒中能打擦边球的只剩赌了。
 
 
聪明的人一定知道我想干嘛了
 
 
 
我当时主要计划包括三个:彩票,股票,期货。
 
打算做一个推荐软件来骗钱,所谓全国每人给我几块钱,我也能上福布斯的想法,当时我的内心是激动不已的,仿佛看见人民币们在向我挥手,过几年就能和马云一起吃饭了。
 
然鹅,我是一个人,我要赚钱糊口,每天被老板压榨之后没什么太多时间了,app的前后端都需要维护,怎么办?
 
 
然后我的脑子里诞生了一个goodidea,让程序自己完成。我简直被自己的机制折服
 
 
最终我敲定的app功能包括:双色球、大乐透、股票以及用户反馈。附带了一个互动功能。
 
其中双色球和大乐透包含历史开奖以及分析推荐功能
 
历史开奖好说,我写好程序后端每天定时从360彩票里把数据扒下来,并且将历史开奖全部存入数据库
 
推荐分析就比较蛋疼了,因为我是个彩票门外汉,我这辈子得过的最大奖就是机选双色球中了200(这个运气应该比大部分人要好了)
 
最后我采用了很多人用来玩彩票的大数法则,并且让算法的参数根据第二天真实开奖结果微调,尝试性提高准确率(其实根本不会有用),具体包括了哪些方面我就不说了,反正彩票推荐都是骗人的就不会错了。
 
 
 
然后是股票的推荐功能,同样是通过后端定时功能到同花顺、新浪以及雅虎抓取股票的实时数据、历史数据以及大宗交易数据。
 
最后根据我平时自己选股的想法写了一套算法,同样的,算法的参数根据之后推荐股票的股价变化来自动微调,后来实际使用中我发现大宗交易对股价影响比较大,就特别提高了大宗交易对推荐值的影响。
 
推荐最成功的一个股票在推荐之后从10块多到40多,具体什么我给忘了,反正我没买,推荐失败的也有十几块跌倒几块的,还好我也没买。
 
 
后来我也考虑到我没有能力做app推广,毕竟我是单人部队,如果真有人在茫茫app store中发现了我的app,进去发现没有用户怎么办
 
于是我又给后端做了机器人功能,机器人会自动点赞以及自动评论,每隔随机时间(1~3分钟)自动为推荐的股票点赞以及评论
 
如果每个股票都点赞和评论数量都一样,那看起来太不真实了,所以我又利用每条数据在数据库中的主键做种子,确保每条数据点赞数和反对数上限是种子值的几分之一
 
评论内容则随机从同花顺的股吧中抓取那些比较短的评论内容来充数,因为短的评论一般都是万金油式的评论
 
 
最后一个互动功能,我本来希望做到自动从别的地方抓取内容发互动以及实现自动评论的,最后因为当时在的公司放风要分期权,太兴奋,干脆不做了,原本计划的会员内购也不要了,就这么上线吧。
 
心里想着:老子拿期权,要这个app作甚,就当做雷锋吧。以后就是成功人士,迎娶白富美,走向人生巅峰了。
 
 
 
之后在阿里云上买了个乞丐版的ecs和mysql数据库以及一个cdn用来存放注册用户的头像和互动中图片,还弄了个域名,我记得花了好几千,那个肉痛的。
 
 
 
最终后端的整个流程完全没有人参与以及维护,我唯一要做的就是保障后端的稳定性,不会挂掉,自己开发自己测试,总担心会有什么惊天大bug。
 
事实让朕深感欣慰,从16年6月后端在阿里云上部署直到第二个app上线,期间一年的时间后端没有挂掉一次。
 
 
这个app最终我统计,直到17年6月,第二个app上线之前,注册用户54个,活跃用户5个(最近一周有过登录的)
 
 
 
-------
 
 
然后就来说说第二个app【预言家-金币夺宝】吧。原本并没有打算上第二个app的,而是第一个app的升级。17年5月初开始做,5月底开发完成,6月中旬上线
 
第二个app看名字,想必同志们都猜到了是一元夺宝山寨版,且让我为你们娓娓道来
 
 
去年年底,我哭着对老板说,期权都是骗人的,于是离职来到了现在的传统软件公司,我已经对创业暴富失望了,看来我和马云除了长得类似没有其他相同点,决定安心当一个小码农,平时买买彩票,没事看看电影。
 
之前第一个app我都会偶尔去后端看看有没有异常日志,毕竟是自己的娃,然后有天我去看数据库数据的时候发现有一条反馈:一年没更新过,作者是不是死掉了。
 
我才想起来,一年了,我居然从没更新过任何功能,于是对第一个app进行大升级的想法从我的脑袋里冒了出来,我要对得起我那50多个用户,虽然我没从他们的钱包里赚到一毛钱。
 
 
于是我就开始对第一个app进行大刀阔斧的改变,然后我就发现egg pain的事情了。
 
打算复用第一个app的代码进行适当的功能增改,结果我居然自己都看不太懂代码逻辑了,除了当初封装的一些控件以及网络部分还能用,其他部分我自己都觉得写得太烂没价值
 
 
 
然后按照我职业生涯的一贯作风,重构项目。
 
既然已经决定重构项目,那就随便改吧
 
彩票不要了,我到现在都没中过,一定是假的,不要了,特别是大乐透,十块钱都不给
 
股票留着吧,虽然我只是小赚了一点,不过不能再让它扛大旗了,不盈利的项目我们要放弃
 
最近好像一元夺宝比较火,把这个功能加进去,让我们骗子的道路上越走越远吧
 
还有上个版本的互动基本没用,要加强,我比较喜欢看笑话,就用来发笑话
 
 
最终新版app功能:夺宝,竞猜,互动,股票
 
夺宝和竞猜需要商品,于是我上乐视商城和小米商城截图收集了几十件商品,每天从这些商品中随机选出一些参与夺宝和竞猜,如果用户中奖了我就自己买给他们寄过去(这点最后会补充说下)
 
互动需要有人发帖,而我的app刚上线是不会有用户发帖的,然后我又发挥了抄袭到底的精髓,从各个搞笑网站中抓取中短篇搞笑文然后由后端机器人自动发帖,抓取以及发帖的时间都是随机的,我设置理论上每小时发帖0.3个
 
点赞和互动的算法沿用了第一个app中的算法,做了一些优化而已
 
股票因为雅虎好像卖掉了,原本的算法出现了数据缺失造成参数自动调整失效,最后我也不愿意寻找替换的数据源或琢磨个新的算法,就沿袭了这个第一个app中的算法
 
 
至于为什么app中主要都是乐视的产品,这里是彩蛋:某一天,我自己的股票算法给我推荐了乐视网,我看了下k线,我真是太喜欢了,就你了,比卡丘,于是我果断重仓买入,然后这货就停牌。。。。快三个月了。。。。我觉得为了我套在里面的钱我也要支持一下乐视,支持一下老贾
 
 
然后巴拉巴拉的开发完成,过程就不细说了,写作文我也凑够800字了,然后测试提交等待审核。
 
审核结果就是这样的
 
 
 
我当时觉得一定是我欠了库克的很多钱,所以他才这么照顾我的
 
【搞笑图】
 
 
然后只能不断修改不断重新提交,最后我发现,因为我新版app和老版app功能相差太大了,审核根本不让过(审核内心:以前是骗钱的,现在怎么变赌博了,不行不行),没办法,只能新建一个app提交,然后一次性通过
 
最后因为app完全变成新的了,正好我打算洗心革面,所以后端我也重新拉了分支,数据库也分开了,也就是两个app之间连用户也没有共用,完全独立了
 
 
----我是分割线----
 
 
至于用户中奖
 
首先夺宝和竞猜在用户不足的情况下,参与人数会低的可怜,而且肯定没办法开奖,开奖了我就亏钱了,雷锋也不是这么当的
 
所以我在后端设置了一大帮机器人,一共大概有一千五百多个吧。。。。。。。要知道第一个app中,我只设置了十几个机器人,还是只能点赞和随机评论
 
 
因为之前写的机器人感觉真的太好用了,多亏了他们营造了一片兴兴向荣的气息,我基本用他们干什么都可以,所以这代机器人我做了全面升级
 
他们会去其他论坛给自己找昵称,找头像,我只要写好昵称和头像的抓取算法就可以
 
他们会去其他论坛找帖子,找回复,我只要写好帖子和回复的抓取算法就可以
 
他们会自动的给商品或者互动内容点赞,这个工作他们早就学会了
 
其中一个机器人我还给他升级为了管理员。。。。约束其他机器人的行为,管理夺宝和竞猜的商品,然后用阿里云的短信向我汇报
 
 
所以实际上当用户数量不多的情况下,比如一个用户都还没有的时候,会有800个机器人被唤醒干活并由管理员统一协调工种(发帖,点赞,夺宝,竞猜,回复)
 
每有一个真实用户上线管理员就会将一个机器人调入睡眠,下线之后又会随机唤醒一个机器人。
 
 
到这里大家都应该明白,夺宝和竞猜商品中的很多下单都是机器人做的,最终商品开奖如果是机器人得到商品,那么我什么都不用干
 
如果是用户中奖,那我只能割肉了,所以为了不至于破产,我大部分商品都是2千元以内,每天最多24件商品,最高也不会超过5千,这样都会破产只能是天要亡我
 
 
金币不能内购之后,只能通过发帖以及互动回帖来获取,也就是本来我想赚钱的想法最后还是没有实现。。。。
 
所以我现在还在想,既然我赚不到钱,但是真实用户迟早会有中奖的,我是已经穷傻了吗。。。。

TOP