Mobile 计划和执行新项目时应采取的步骤(如移动应用程序)

Mobile 计划和执行新项目时应采取的步骤(如移动应用程序),mobile,Mobile,我想建立一个免费的应用程序来熟悉所需的内容,但我总是对启动软件项目需要采取的步骤感到困惑 开发移动应用程序需要哪些步骤 我会列出一些我认为应该做的事情,但我不一定知道怎么做。完成这些步骤所需的任何建议、细节和技术都将非常棒 决定要开发哪个平台。android、iOS和Windows8在这方面的优缺点是什么 如何测试应用程序-你能用一个详细的应用程序计划获得免费硬件进行测试吗?仿真器 详细说明您希望应用程序执行的操作以及您想要的功能 研究此应用程序是否已存在。在不违法方面有哪些方面值得关注,如专

我想建立一个免费的应用程序来熟悉所需的内容,但我总是对启动软件项目需要采取的步骤感到困惑

开发移动应用程序需要哪些步骤

我会列出一些我认为应该做的事情,但我不一定知道怎么做。完成这些步骤所需的任何建议、细节和技术都将非常棒

  • 决定要开发哪个平台。android、iOS和Windows8在这方面的优缺点是什么
  • 如何测试应用程序-你能用一个详细的应用程序计划获得免费硬件进行测试吗?仿真器
  • 详细说明您希望应用程序执行的操作以及您想要的功能
  • 研究此应用程序是否已存在。在不违法方面有哪些方面值得关注,如专利侵权等
  • 设置一个源存储库,比如git(我想是谷歌指南?)
  • 阅读指南,熟悉API并编写示例代码,了解您需要什么
  • 开始开发,并根据需要继续执行上述操作

开始一个软件项目就像开始编写代码一样简单。对于需要做什么以及如何做,大多数程序员都有直觉。启动软件项目的另一个极端是与客户交谈(或观察世界),找出问题所在。我发现,彻底理解您试图通过项目解决的问题,对于轻松完成项目来说已经有很长的路要走了。它将使您很好地理解称项目为“完成”所需的内容

所以我想第一点是:知道你在解决什么问题。了解这一点也会告诉你,是否有任何现有的应用程序能够以令人满意的标准解决相同的问题

注意:我对Windows8平台不太熟悉,所以我的答案主要是关于iOS和Android。然而,提出的问题非常广泛,足以涵盖Windows平台的大部分

平台

选择部署平台是发布产品的重要部分,许多其他决策取决于平台。不幸的是,在代码开发和重用方面,存在两个主要的移动操作系统。在考虑选择部署平台时,您需要考虑受众,以及愿意为您的应用程序付费的(潜在)受众子集。Android可能需要在大多数设备上安装,但(对开发者也是如此)。但是,请记住,有很多应用程序,大多数开发人员从来没有从他们的应用程序中赚到任何(或不够)钱

以致富为目的进入应用程序开发会让你失望。这不太可能,但总有人中了彩票。不过,这是一个很好的就业和赚钱的方式

然后是编程语言(Java、Objective-C或C#)的问题。这在很大程度上取决于您已经熟悉的内容,如果您还不熟悉,请回到上一点


测试

测试产品是一件棘手的事情。您必须从emulator(通常随开发包一起提供)开始。不过,你迟早要在硬件上测试应用程序。我怀疑你能否得到免费的硬件,但向亲朋好友借钱总是一种选择。也可能有企业将测试硬件出租给开发人员,如果没有的话,我想这是一个商业想法

平台选择也会影响这一点。Android在比iOS更广泛的硬件上运行


专利侵权

我对专利问题了解不多,除了软件专利是令人讨厌的。作为一个开发者,我不会太担心侵犯专利,专利的主要目的是阻止竞争对手。通常情况下,大公司会通过专利诉讼扼杀竞争,或者他们会收购一家拥有大量专利的小公司

如果你想稳妥一点(意味着你拥有一家公司,并且真的这样做是为了赚钱),那么就和专利律师谈谈


代码库

像GitHub这样的代码托管服务非常棒,因为它不仅提供了一个存放代码的地方,而且还提供了问题跟踪程序,用于记录软件中仍然缺失的功能或悄悄出现的bug

开始学习Git的最好地方是和


软件开发计划

最后一点是一个叫做软件工程的东西。对于管理软件开发项目的不同方法已经有很多研究。其思想是,软件开发往往会延长很长一段时间,项目的需求会在项目期间发生变化(如您所了解的),项目可能涉及1到100名开发人员。这些开发人员(以及所有其他相关方,如客户)之间的协调工作必须以某种方式正式化,进入软件工程。其目的是定义指导开发过程的方法和项目结构,并使需求更有可能在项目结束时得到满足

一些值得研究的模型包括(测试驱动开发和其他敏捷方法)


最后,我将把需要做的事情添加到列表中

  • 研究库,请注意,这是在熟悉这些库的API之前进行的
哪些软件已经存在,可以实现您想要实现的部分功能。这在一定程度上可以追溯到wh的问题