别让好想法埋没:如何进行APP开发?

经常和许多创业者讨论,发现很多人想法都不错,但是都不知道该如何实现,今天就如何引导大家走出第一步写一篇文章,很多人通常误会一件事情,认为程序员开发可以一步步把自己的想法拼接出来,我有一个功能点,就让程序员去开发,总有一天会实现我的想法。
确实,一个优秀的程序员能够做到这些,但是我们的思维是广阔,是无限的,总不能让程序员写代码永远跟随着天马行空的想法没有计划的执行吧?在现在这个移动互联网创新的时代,如何进行APP开发第一步我觉得应该是每个创业者思考如何定义你的APP重要属性的问题。
如果你作为父母,作为老师,你一定经常听到:
“我不知道作文怎么写”
“我不知道这个报告怎么写”
而当你在进一步问他的时候:“那你觉得哪里有问题呢?”
他们往往回答:“我也不知道哪里有问题。”
从这里可以发现,在当下标准化教育傻瓜式思维的定义下,很多人已经习惯了等待最佳解决方案的出现,这就是为什么很多软件外包公司在和用户打交道的时候,会不断的调整前期的开发方案,然后配合用户的理解去整理修改,而不是先开发然后跟随用户的想法去做开发调整。因为一旦涉及到开发过程后,如果大量的开发人力成本被第一次的原型想法修改,会伴随很多的开发成本的浪费,但是往往外包公司的收费价格普遍较高,意识决定生存状态,如果不这么收费,外包公司就没有利润,在当下商业社会,不赚钱的事情,会有大部分人去做吗?
下面进入重点,如何进行APP开发思维定义,依照我们程序员客栈www.proginn.com500+开发经验,我做了一些简单的总结,大致可分为:分析问题、拆分问题、解决问题,而如何应到大家突破这些问题,就是我下面要讲的,以最近开发的一个APP为例:
第一步思考:如何使用?
一开始,我们会引导客户也就是这款APP的制作者先从使用者的观点出发:
如果你希望用APP算出自己的BMI指数,那么在你的想像中会是怎样的一种操作方式呢?
此时或许还有很多答案:
我希望说出我的身高和体重,手机屏幕就会出现我的BMI指数
我想用打字的方式,先输入体重、再输入身高,按下确定按钮屏幕就会出现我的BMI指数
这个时候我们的客户就会尽情的头脑风暴,并且试图想像自己正在使用这个“还没有开发出来的APP”的情境。
第二步思考:你的APP大概长成什么样子?
接下来,我们会引导客户思考:
根据你提出的想法和情境,你觉得APP会长成什么样子?
到了这个阶段,整个APP的外观大概已经有了草图,每个界面的原素和对应使用者的作用如何,也有了标准化定义,虽然我们大家都不会设计,但是最起码,如果给你一直铅笔,我相信90%的人都会和我最近沟通的客户一样画出如下的东西出来,你没有必要会电脑操作,这些还原的设计可以请专业的人来给你搞定,如下图:

示意图(一客户手绘)
第三步思考:拆解、操作
最后我们会发现每个APP功能原素的定义都应该有他属于的用户行为定义,而每一个行为定义就是你想要做的APP的每一个小小的功能点,这个时候程序员客栈的项目经理团队,会把你的想法功能点进行拆分并解释开发流程如下:
1,原型设计(高保真还原)
2,UI设计(视觉体验到位)
3,前端开发(连条处理)
4,后端开发(后端开发和后台开发是两码事)
5,制作A功能
6,制作B功能
7,制作C功能
8,…..
9,测试、验收
10,付款。

项目经理的随笔(图)
最后,我们的程序员客栈的项目经理会根据所有的功能点拆分在匹配平台有这方面工作经验的开发者,组成一个开发团队,根据人力成本估算一个报价给用户,用户如果觉得没有问题可以先托管费用到平台,最后验收后通知平台付款给开发者。
虽然看起来整个过程有些复杂,但是为什么我们一定要这么强调流程化开发呢?因为我也是一名伪开发者,在大部分程序开发团队中有这么一句话:
“当问题被清楚的描述的时候,它已经被解决了一半!”(来自美国哲学家和教育家 John Dewey)
本文属于个人简介,理解不到之处还望海涵,有不懂的地方可以加我微信:jjrc521
别让好想法埋没:如何进行APP开发?的更多相关文章
- app开发外包注意事项,2017最新资讯
我们见过很多创业者,栽在这app外包上.很多创业者对于app外包这件事情不是特别重视,以为将事情交给app外包公司就完事了,实际上不是的.无论是从选择app外包公司还是签订合同.售后维护等各方面都有许 ...
- 选择App开发外包时,你该了解哪些法律常识?
随着App需求的激增,选择App外包服务的客户也多了起来.然而客户和开发方对于其中的法律条款却不甚了解,导致在服务过程中,时常会发生一些分歧和纠纷,最终致使项目搁浅. 为了普及App外包的法律常识,移 ...
- 苹果版App开发心得
这几个月中做的工作包括网站开发.安卓App开发和苹果App开发,前两者用的语言都是我熟悉的java,故苹果知识的学习,较安卓知识的学习,多出「语言基础」一块,其他方面差不多. 之前发过安卓那篇,如感兴 ...
- 打通移动App开发的任督二脉、实现移动互联创业的中国梦
年初的两会上,第一次听到克强总理讲到“互联网+”的计划,当时就让我为之感到无比振奋.我个人的理解是:“互联网+”的本质就是要对传统行业供需双方的重构,通过移动互联技术来推动各个行业上的全民创新,促使中 ...
- 十大技巧快速提升原生APP开发性能
移动应用市场用户争夺战日益激烈,原来做APP拼想法拼创意拼是否抓住用户痛点.现在,精细化用户体验成为了一个APP能否留存用户的关键问题,一旦用户觉得体验不畅,马上就有竞品APP后补,如何开发高性能的移 ...
- 【Hybrid App】Hybrid App开发实战
[引言]近年来随着移动设备类型的变多,操作系统的变多,用户需求的增加,对于每个项目启动前,大家都会考虑到的成本,团队成员, 技术成熟度,时间,项目需求等一堆的因素.因此,开发App的方案已经变得越来越 ...
- APP开发外包时常见的错误
时代在发展,科技在进步,很多企业都想要开发出属于自己的一款APP.然而,不是每个企业都有开发团队或是专门雇一个技术人员来做的,有一个好方法就是把开发APP的工作外包出去,找一个比较好的外包公司根据自己 ...
- 混合模式为什么成为占有率最高的app开发技术
在企业移动战略布局中,app已成为连接业务与用户最主要的载体,同样其开发技术目前也处于十分成熟的阶段,而从技术实现的角度去考量,很多从业者可能并不知道,越是大企业.越是IT预算多的企业,他们的移动ap ...
- Hybrid App开发实战
Hybrid App开发实战 作者 李秉骏 发布于 九月 04, 2013 | [引言]近年来随着移动设备类型的变多,操作系统的变多,用户需求的增加,对于每个项目启动前,大家都会考虑到的成本,团队成员 ...
随机推荐
- vue 项目初始化、mock数据以及安装less
vue 创建一个项目 1.首先建立一个空文件夹,然后将这个文件夹要放到码云或者其他代码管理平台. 例如码云: 在码云上建立一个项目,然后在控制台进入这文件夹执行 git clone 地址是码云上创建的 ...
- Java中的自动转换
特点: 1. 系统自动完成的,不需要程序员手动修改代码 2.将 取值范围小的类型 自动提升为 取值范围大的类型 注意: 整数类型直接写会默认为int 小数类型直接写默认为double 类型的范围大小 ...
- 用Navicat Prenium12连接Oracle数据库(oracle11g版本)时报错ORA-28547:connection to server failed,probable Oracle Net admin error.解决办法
上网一查原来是oci.dll版本不对.因为Navicat是通过Oracle客户端连接Oracle服务器的,Oracle的客户端分为两种,一种是标准版,一种是简洁版,即Oracle Install Cl ...
- 解决time命令输出信息的重定向问题
解决time命令输出信息的重定向问题 time命令的输出信息是打印在标准错误输出上的, 我们通过一个简单的尝试来验证一下. [root@web186 root]# time find . -name ...
- github下载报错:Permission denied (publickey). fatal: Could not read from remote repository.
Permission denied (publickey). fatal: Could not read from remote repository. 博主在github上下载tiny face的的 ...
- webpack使用中遇到的相关问题
问题一:使用webpack打包jquery后,在页面使用错误信息:$ is not defined new webpack.ProvidePlugin({ "$": "j ...
- strtotime的一个使用问题
我在开发过程中遇到这么这个问题,因为赶进度,没有记下来处理方案,在鸟哥的博客看到原理分析,很到位!平时开发中总是急着处理问题,没有深入分析和记录问题. 1.问题: 今天是2018-07-31 执行代码 ...
- C++学习笔记(转)
http://www.cnblogs.com/maowang1991/p/3290321.html 以下内容为自己一年多的C++学习心得,纯原创,转载请注明源地址. 一年多的C++学习过程中,自己阅读 ...
- [LeetCode] 75. 颜色分类(荷兰国旗)
class Solution { public: void sortColors(vector<int>& nums) { ,current=,end=nums.size()-; ...
- github发布博客
创建github项目: 名字为:{{你的帐号}}.github.io clone项目,创建并提交推送一个index页面 如: <!DOCTYPE html> <html> & ...