2015-12-10

关于移动端应用开发的一些想法

Views: 12882 | 1 Comment

根据移动端开发的短短历史来看, 很多移动端开发者在内部比较缺少分工. 相对比, 对于某些上规模的系统, 即使后端工程师这样的一个细分领域的角色, 也会进行分工上的再细分, 例如一般会分成基础服务开发工程师, 业务逻辑开发工程师.

随着移动端应用的复杂度不断增长, 移动端开发工程师这个角色还需要再进行更细的分工. 我们可以参考一些游戏开发行业的分工方式. 我根据自己的理解, 做一下分工.

对于移动端工程师岗位的划分, 我觉得可以分为: 1, 界面工程师; 2, 逻辑工程师.

下面, 根据工作职责和内容划分, 然后结合岗位划分来介绍.

职责1: 界面实现

界面实现这项工作属于界面工程师的职责. 具体来说, 此项工作包括:

1. 使用代码来编写静态的界面UI, 这部分是UI设计图的直接实现, 除去自定义控件部分.
2. 编写自定义控件, 如动画效果控件. 自定义控件可以是通用的, 和业务无关的, 也可以是业务相关的.

职责2: 界面交互

界面实现这项工作也属于界面工程师的职责. 此项工作内容为:

1. 处理界面交互, 如动画效果, 页面内 Tab 切换, 控件的出现和隐藏等.
2. 处理页面之间的跳转.
3. 在界面交互和页面跳转的过程中, 向数据逻辑模块请求数据.
4. 在数据逻辑模块返回数据后, 对界面进行改变, 如组装数据, 启用动效等.

职责3: 数据逻辑

数据逻辑模块是业务逻辑在终端的一种体现, 属于逻辑工程师的工作职责. 逻辑工程师根据业务特点, 从服务器请求数据和将数据保存到服务器(网络交互), 或者从本地请求数据和将数据保存到本地(客户端缓存).

数据逻辑模块一方面和服务端接口进行交互, 另一方面处理用户手机的数据存取(本地存储, 可统称为客户端缓存).

关于内嵌 WebView 控件的代码逻辑

内嵌 WebView 这种技术方案有一些特殊, 因为它既由网页本身实现了界面, 又实现了数据逻辑中的网络交互部分. 如果采用内嵌 WebView 控件的方案, 那么界面程序员的工作就变成:

1. 处理网页跳转与原生(宿主)页面之间的跳转关系
2. 向网页暴露数据逻辑接口

关于页面跳转的实现, 有两种方式:

1. 原生向网页暴露 js 接口, 由网页自主控制页面间的跳转
2. 原生拦截 WebView 的 URL, 改变页面跳转流程

Related posts:

  1. 基于 CocoaUI 的 iOS 应用 UI 热更新技术
  2. iOS流式布局UI框架CocoaUI开源
  3. 记一次关于系统性能的有趣讨论
  4. 苹果 MacBook Pro 屏幕缺陷导致蓝色显示异常条纹
  5. 史上最强大的PHP Web面试题(会做就能进百度)
Posted by ideawu at 2015-12-10 17:07:31

One Response to "关于移动端应用开发的一些想法"

Leave a Comment