规划和执行新项目时的步骤(比如移动应用程序)

时间:2012-11-06 23:09:57

标签: mobile

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

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

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

  • 决定您要开发的平台。 Android vs iOS vs Windows8在这个领域有哪些优点和缺点?
  • 如何测试应用程序 - 您是否可以通过详细的应用计划获得免费硬件测试?模拟器?
  • 详细说明您希望应用做什么以及您想要哪些功能。
  • 研究此应用是否已存在。在不违反专利侵权等法律方面存在哪些问题?
  • 设置一个源存储库,例如git(谷歌指南,我猜?)
  • 查看指南以熟悉API并编写示例代码以了解您的需求?
  • 开始开发并根据需要继续执行上述操作。

3 个答案:

答案 0 :(得分:2)

启动软件项目就像开始编写代码一样简单。大多数程序员都会对需要完成的工作以及如何完成工作抱有直觉。启动软件项目的另一个极端是从与客户交谈(或查看世界)开始,并找出问题所在。我发现,通过一个项目彻底了解您要解决的问题已经很长时间,无法轻松完成项目。它会让您很好地了解您需要什么才能致电您的项目已完成

所以我猜第一点变成了:知道你的问题是什么并且正在解决。知道这一点也会告诉您是否有任何现有的应用程序解决了相同的问题,达到了令人满意的标准。

注意:我对Windows 8平台并不熟悉,所以我的回答主要是谈论iOS和Android。然而,提出的问题足以覆盖Windows平台的大部分内容。

  

平台

选择部署平台是启动产品的重要部分,许多其他决策取决于平台。我们处于不幸状态,存在两个主要的移动操作系统,这些操作系统在代码开发和重用方面是分开的。在考虑选择部署平台时,您需要考虑受众以及愿意为您的应用程序付费的(潜在)受众群体。 Android可能只有大多数设备,但iPhone makes the most money(也适用于开发人员)。但是,请记住,有很多应用程序,大多数开发人员都不会从他们的应用程序中赚取任何(或者不够)的资金。

为了致富而进入应用程序开发会让你感到失望。这不太可能,然后有人总是赢得彩票。这是一个很好的方式,虽然就业并以这种方式赚钱。

然后是编程语言(Java,Objective-C或C#)的问题。这在很大程度上决定了你已经熟悉的内容,如果你不是,那么请回顾前一点。


  

测试

测试产品是一件棘手的事情。您必须从模拟器(通常随开发包提供)开始。但是,迟早你必须在硬件上测试应用程序。我怀疑你是否可以获得免费硬件,但是从朋友和亲戚那里借钱总是一种选择。可能还有一些企业将测试硬件出租给开发人员,如果没有,那么我认为这是一个可以解决的商业想法。

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


  

专利侵权

除了软件专利以外,我对专利问题知之甚少。作为一名开发人员,我不会过于担心侵犯专利权,他们的主要目的是阻止竞争对手。通常最终会发生的事情是大公司在专利诉讼中扼杀竞争,或者他们购买的是一家拥有大量专利的小公司。

如果你想保持安全(意味着你拥有一家公司并且真的这样做是为了赚钱),那么请咨询专利律师。


  

代码库

像GitHub这样的代码托管服务非常棒,它不仅提供了一个让您拥有代码的地方,而且它还提供了问题跟踪器,用于记录仍然缺失的功能或软件中出现的错误。

开始学习Git的最佳地点是git-scm.comGitHub help pages


  

软件开发计划

你的最后一点爆发了一个叫做软件工程的东西。对管理软件开发项目的不同方法进行了大量研究。这个想法是软件开发往往会在很长一段时间内得到扩展,项目的要求会在项目期间发生变化(随着您的了解更多),项目可能涉及1到100个开发人员。某些方式协调这些开发人员(以及像客户一样涉及的所有其他方)之间的工作必须正式化,进入软件工程。目的是确定一种方法和项目结构,指导开发过程,并使项目结束时更有可能满足要求。

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


最后,我会添加需要完成的事项列表

  • 研究图书馆,请注意这是在熟悉这些图书馆的API之前。

已经存在哪些软件可以实现您想要实现的目标。这部分回到了使用什么平台的问题。 Apple在开发易于使用的框架以支持iOS应用程序开发方面投入了大量精力。我对Andoird或Windows 8并不熟悉,但你编写的代码越少,产品的完成速度就越快。

1 http://mobiledevices.about.com/od/kindattentiondevelopers/tp/Android-Os-Vs-Apple-Ios-Which-Is-Better-For-Developers.htm

答案 1 :(得分:1)

只需要一步:刚刚启动该项目

你将开发一个免费的应用程序,所以这样做应该很有趣。选择你喜欢的任何东西并继续:

  1. 确保您的工作效率足够高 - 10 Laws of Productivity
  2. 避免复杂性 - Occam's razorKISS principle
  3. CI系统执行无聊的工作 - Machines should work; people should think.
  4. 阅读书籍并提高自己。
  5. 请避免盲目决定。如果你只是尝试几个可用的选项,你最终会找到实现目标的最佳方法。做一些PoC并做出决定。现在1-2小时应该足以从任何技术开始。这是成熟的规则。你有自己的目标,所以最好避免不成熟的解决方案。

    快乐的编码。

答案 2 :(得分:0)

CPlayer我带着同样的问题来到这个论坛,因为我是移动应用程序设计的新手,想要制作我自己的应用程序。我意识到以正确的顺序采取某些步骤非常重要,这样可以最大限度地减少或消除浪费的时间。我做了一些研究,并且遇到了两个在线资源,我相信,如果将它们整合在一起,将会成为一个更好的资源。链接是:

http://answers.oreilly.com/topic/2311-a-mobile-app-development-checklist/

http://mobiledevices.about.com/od/kindattentiondevelopers/ht/How-To-Create-An-App-For-The-Iphone.htm

祝你好运, laroice