3

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

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

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

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

3 回答 3

2

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

所以我想第一点变成:知道你要解决的问题是什么。了解这一点还将告诉您是否有任何现有应用程序以令人满意的标准解决了相同的问题。

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

平台

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

以致富为目标的应用程序开发会让您失望。这不太可能,那么总有人也总是中彩票。不过,这是一个很好的就业方式并通过这种方式赚钱。

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


测试

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

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


专利侵权

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

如果您想安全起见(意味着您拥有一家公司并且确实这样做是为了赚钱),那么请咨询专利律师。


代码库

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

开始学习 Git 的最佳地点是git-scm.comGitHub 帮助页面


软件开发计划

你的最后一点涉及到一个叫做软件工程的东西。对管理软件开发项目的不同方法进行了大量研究。这个想法是软件开发往往会延长很长一段时间,项目的需求在项目期间会发生变化(随着您了解更多),并且项目可能涉及 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

于 2012-11-12T21:27:47.840 回答
1

只需要一个步骤:启动该项目

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

  1. 确保你有足够的生产力——生产力的 10 条法则
  2. 避免复杂性——奥卡姆剃刀KISS原则
  3. CI系统做无聊的事情——机器应该工作;人们应该思考。
  4. 多读书,提升自己。

也请避免盲目的决定。如果您只是尝试几个可用的选项,您最终会找到实现目标的最佳方法。做一些PoC并做出决定。现在 1-2 小时应该足以开始使用任何技术。这是成熟的法则。你有自己的目标,所以最好避免不成熟的解决方案。

快乐编码。

于 2012-11-13T22:35:16.283 回答
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

祝你好运,拉罗斯

于 2014-01-05T23:10:52.287 回答