通过与 Jira 对比,让您更全面了解 PingCode

  • 首页
  • 需求与产品管理
  • 项目管理
  • 测试与缺陷管理
  • 知识管理
  • 效能度量
        • 更多产品

          客户为中心的产品管理工具

          专业的软件研发项目管理工具

          简单易用的团队知识库管理

          可量化的研发效能度量工具

          测试用例维护与计划执行

          以团队为中心的协作沟通

          研发工作流自动化工具

          账号认证与安全管理工具

          Why PingCode
          为什么选择 PingCode ?

          6000+企业信赖之选,为研发团队降本增效

        • 行业解决方案
          先进制造(即将上线)
        • 解决方案1
        • 解决方案2
  • Jira替代方案

25人以下免费

目录

如何开发app软件

开发app软件的步骤是:1. 制作产品原型;2. 产品页面设计;3. 代码编写。其中,产品原型理解为房子的设计图,简单的房子可能不需要设计,但稍微复杂一点的,都是离不开图纸的。

一、开发app软件的步骤

1. 制作产品原型

产品原型理解为房子的设计图,简单的房子可能不需要设计,但稍微复杂一点的,都是离不开图纸的。

有些程序员想自己做个东西,也不需要和别人协作,觉得这个麻烦,就跳过这一步了。但我建议较好还是先做出原型来,它不仅可以帮助你把头脑中的想发快速呈现出来,更重要的是,在你设计原型的时候,你已经把产品在脑海中做了一遍了,这样对你在后面进行软件的模块设计的时候是有极大的好处的。

这里推荐几个做 App 产品原型的软件:墨刀 、Axure。如果不是特别清楚原型是什么东西的话,可以到墨刀的讨论区去看看,有一些分享的作品。

2. 产品页面设计

这年头颜值越来越重要了,对于大部分开发者来说,可能做不到设计惊艳,但是要做到简洁大方并不是一件很难的事情。

秘诀就是要统一,统一好颜色、字体的使用场景,这样出来的视觉效果一般不会很差。

还有一个就是图标的问题,阿里巴巴图标库有非常多图标,一般App都够用了。

一般来说,如果是我自己开发的应用,很少去动手设计页面,都是直接用一套成熟的设计规范,然后对着产品原型来动手编码了。比如 App 的就可以使用谷歌出品的 Material Design,后面提到的 Flutter 就已经内置了 Material Design 的 UI 组件了。

如果你要自己动手设计页面的话,在 mac 上面我推荐使用 sketch 。

3. 代码编写

接下来就可以考虑开始动手干了。首先我们要先定一套技术方案,一般来说,我们做一个普通的App,需要搞定的东西有除了手机App,还有相关的API服务接口。

App 客户端

首先我们看一下App端,目前手机平台有两大阵营,一个是 Google 开源的 Android 系统,一个是苹果的 iOS 系统,它们使用的开发语言和开发工具都是不一样的。其中 Android 可以使用Java 或者 Kotlin 语言来原生开发,iOS可以使用 Objective-C 或者 Swift 语言。

如果你要两个平台都各做一个,那开发成本将会非常高。我建议你考虑直接采用跨平台的技术,比如Google 的 Flutter (Dart语言)或者 Facebook 的 Reactive Native (JavaScript语言)技术。

当然你要先调研一下你要做的产品在相关平台下实现有没有可行性,这方面可以咨询一下相关的技术专家。也可以按照经验原则,你在别的App看到的功能,一般都能实现。

无论你使用什么技术,一般来说在 App 端需要做的事情一般不外乎编写页面,编写交互逻辑和数据通信,一般采用HTTP协议。

这里涉及到的技术点比较多,我的经验是直接通过一个完整的Demo源码来边学边做是比较高效的学习方法,这个Demo较好足够简单,但是有完整的逻辑交互和通信过程,比如登录和数据列表。找Demo可以通过搜索引擎、GitHub、开源中国等平台。

还有一个值得分享的经验是要以官方文档作为主要参考和学习材料,资料够准确,你也会慢慢就能快速索引到相关知识点。遇到一些不懂的知识点要善于Google 或者百度,一门相对成熟的技术,网上都有很多资料的。

API 服务端

如果说App是可以看得见,摸得着的前端,那 API 就是看不到的后端了。这一块的技术就更复杂了,你的App用户是1000人,1W人,100W人,后面系统的设计复杂度是完全不一样的。当然,这里不去讨论负载均衡、分布式设计这些复杂的东西,当前我们能搭建一个简单的web服务就好了。

虽然我自己用 Java 比较多,但如果你是刚开始接触后端开发,你可以试一下 expressjs,上手很快,对于简单的接口开发是足够啦,语言是 JavaScript,刚好你可以结合一下使用 Reactive Native 来开发App,降低了不少学习和开发成本。

后台管理端

这个是用来方便你后面运营App用的,比如要录入一些资料,管理用户等。要完成这个,在懂得写接口的基础上,你还要学习怎么编写网页。

如果你前面的事情都能搞定,那 HTML 和 CSS 这些对你来说就是小菜一碟了。如果你还有精力的话,你可以顺便把 vuejs 也看一下,这里推荐一个后台模块:vue-element-admin。

如果实在学不动了,也可以用 boostrap + jquery 来搭建一套视觉还不错的后台系统。

延伸阅读:

二、产品方向如何确定

  1. 了解目前互联网趋势热点,如:短视频、共享、知识付费、人工智能等等。
  2. 结合自身已有资源(行业经验、人脉、技术积累)
  3. 有自己的idea,去做相关的竟品分析。

以上3点都是需要行业长期积累不断摸索的过程,对于独立开发者来说建议名列前茅个作品不宜太复杂,保证能力范围内,例如可以先尝试开发工具类App,界面、逻辑不复杂,开发的过程相对简单,避免给自己造成半途而废的念头,开发一款产品不是一件特别困难的事,困难的是产品能否给用户带来价值,能否把产品打磨的近乎完美,让用户无可挑剔。

相关文章