当前位置 > 主页 > 万和大讲堂 >


南京万和分享常见的iOS手机应用开发流程

2015-08-07 11:56

  iOS应用开发无疑仍会是未来一段时间内的热门,因此,不管是对开发者还是企业管理人员来说,或多或少了解一些应用开发流程十分有必要,本文涉及的 大部分内容并不局限于iOS应用,同时也适用Android、Windows Mobile和Blackberry等其他移动平台。


  开发前的准备工作


  iPhone应用的开发并不是一个简单的过程,建议按照以下步骤逐条考虑:


  1)一个奇怪的发现是,很多企业人士和开发者对他们即将开发的iPhone应用竟然没有全局认识,甚至缺乏必要的技术常识。通常他们只是把 iPhone应用当做一个简单的应用,而很少考虑到是否有支持的服务器以及用户数据的存储等问题。因此,有必要提醒一下,如果想开发一款认证/登录或者定 制型的应用,首先需要有一个用来存储数据的服务器。南京iOS应用开发


  2)除了需要一台服务器外,还需要一个供iPhone和服务器之间进行通信的渠道。由于不存在标准或万能的通信渠道,因此需要根据应用的具体情况进 行定制。这有点类似创建一套自己的语言,除了说话双方外,不想让其他人听懂。专业点讲,这就是创建API。因为必须在通信前定义语言,所以必须在 iPhone应用正式开发前创建API。


  3)如何创建API呢?首先,必须重视之,API创建好了,整个应用的开发工作也就成功了一半。创建API和制作一个完整的网站类似,首先需要定义 数据模型、业务规则、输入参数,以及数据模型之间的相互影响等等。简单地说,结果等同于一个功能完备的网站,但页面上仅显示文本,而没有图形结果。南京iOS应用开发培训


  定义完成后,iPhone按要求格式将账户名和密码发送请求到预置API(登陆页面),然后便可返回结果页面。


  在这一阶段,需要进行多项抉择,例如:如何选择服务器、如何选择语言,以及如何选择数据存储位置以尽量减少通信时延等等。


  4)API的创建和应用的开发工作最好由同一个开发者来做,这样,他就更清楚何时调用哪个API,对应用开发全局有更好的了解。如果API创建和应用开发不是同一个人,建议应用开发者多和负责API创建的后端团队交流,因为很多时候他需要调用API以支撑整个移动应用。


  应用开发


  准备就绪后,就可以正式考虑应用本身了。通常情况下,iOS平台的限制很多也很严格。在开发者编码前,需要对范围有完整的定义,对设计有明确的规划。


  界面设计:不管是使用标准界面组件,还是自定义组件,必须一开始就选择对,因为整个应用的结构都依赖于界面设计。例如,界面底部的标签栏,如果想使用其他颜色的图标代替青色色调,在代码中要做很大改动。


  代码:在网站设计时,可以很方便地添加一个新页面,并为之创建链接,但在iOS应用中却不能这么做,所有元素都 必须从一开始就确定,任何细微的改动都有可能会引发意想不到的后果。iOS代码的结构就像一个复杂的面板,虽然仍可以在部分地方做改动,但一旦改错了地 方,将可能会导致整个面板崩溃。南京iOS应用开发培训


  拓展iPhone应用兼容设备:不建议拓展iPhone应用的附加功能,使其同时支持iPad,因为iPad应 用并不是iPhone应用的一个附加功能,而是一种比iPhone应用更为复杂的东西,通常情况下需要与iPhone应用完全不同的界面和互动机制。将 iPhone应用转变成iPad应用就好比将电动自行车改装成摩托车一样,虽然并非完全不可能,但绝非一项轻松简单的工作。此外,iPhone应用和 iPad应用的底层API以及用户体验截然不同。


最近开班 more>
  • 全栈开发
  • 软件测试
  • Java大数据开发工程师
  • Web前端开发
  • 开发课程基础班第三期
  • 开发课程基础班第二期
  • 开发课程基础班第一期
  • Java Web UI Python
  • CISP
  • HCIE-Cloud lab
  • HCIE-Datacom(HCIA,HCIP基础)
  • HCIP-Datacom(HCIA基础)
  • HCIA-Datacom(0基础)
  • HCIE-Datacom(HCIA,HCIP基础)
  • HCIP-Datacom(HCIA基础)
  • HCIA-Datacom(0基础)
  • OCP 19C
  • RHCA-OpenStack
  • 脱产班
  • 脱产班
  • 脱产班
  • 脱产班
  • 脱产班
  • 脱产班
  • 脱产班
  • vip班
  • 双休班
  • 双休班
  • 脱产班
  • 脱产班
  • 脱产班
  • 双休班
  • 双休班
  • 双休班
  • 业余班
  • 业余班
  • 6月28日
  • 6月5日
  • 6月26日
  • 6月27日
  • 6月19日
  • 6月12日
  • 6月5日
  • 随时开课
  • 6月10日
  • 6月4日
  • 6月4日
  • 6月12日
  • 6月26日
  • 6月10日
  • 6月10日
  • 6月4日
  • 7月8日
  • 6月28日
    • 姓 名 :
    • 电 话 :
    • 课 程 :

技术交流群

  • Java大数据交流群560819979加入
  • Python技术交流群595083299加入
  • Oracle技术交流群595119011加入
  • Web前端技术交流群604697610加入
  • Huawei技术交流群482919361加入
  • Redhat技术交流群587875348加入
  • UI设计技术交流群511649801加入
  • Cisco技术交流群596886705加入
  • IT运维技术交流群605888381加入