1、开发流程包括:

(1)用户需求分析
(2)产品原型设计
(3)UI视觉设计
(4)APP开发
(5)项目测试
(6)发布

App开发经过UI设计完成之后,便会进入开发阶段。

(1)服务器端:编写接口协议文档,服务器环境架设(国内一般都是用阿里云服务器,国 外一般用亚马逊),设计数据库和编写API接口。
(2)APP端:开始对UI设计图进行界面开发,UI开发完成则进入和服务端接口对接,通过 服务端的接口获取数据,编写功能上的逻辑。
(3)PC端:后台需要有一个数据录入平台供管理员进行管理,包括用户管理、产品管理、 订单管理等,具体根据需求设定。开发完成,大致可以看到整个产品输出。

服务端API设计应该考虑到的问题

1、通用的数据交换格式

目前,对于接口和客户端的数据交换格式,基本上就是两种,xml和json,而现在使用json的应该占大多数。

交换的数据包括两种,一种是客户端请求服务器端接口时传递的一些参数,一种是服务器端返回给客户端的数据。

对于客户端的请求参数,现在也越来越多的接口要求采用json的格式,而不是以往最常见的key_value对了。

2、隐式用户与显式用户

显式用户和隐式用户,我不知道这两个词用的是否确切。
显式用户指的是,APP程序中有用户系统,一个username、password正确的合法用户,称之为显式的用户,通常显式用户都需要注册,登录以后能完成一些个人相关的操作。

隐式用户指的是,APP程序本身就没有用户系统,或者一个在没有登录的情况下,使用我们APP的用户。在这种情况下,可以通过客户端生成的UDID来标识一个用户。

有了用户信息,我们就能够了解不同用户的使用习惯,而不仅仅是全体用户的一个整体的统计信息,有了这些个体的信息之后,就可以做一些用户分群、个性化推荐之类的事情。

3、客户端与服务端的肥瘦平衡

在以前C/S、B/S架构时,我们就已多次讨论过这个问题,客户端是瘦点好还是肥点好,当然也没有固定答案,需要自己根据实际情况去做权衡。
但是,在移动开发中,由于客户端的修改会很费时费力,特别是IOS应用还要经过Apple审核,
另外,当前IOS开发人员、Android开发人员的人工成本普遍较高,人才紧缺,
基于这两点,能在服务器端实现的功能就不要放在客户端,毕竟服务器端程序的修改要比客户端方便、灵活、快捷的多。

4、良好的接口说明文档和测试程序

接口文档有时候是项目初期就定下来的,前后端开发人员按照接口规范开发,有的是接口开发完成后写的。

接口文档要清晰、明了,包含多少个接口,每个接口的地址、参数、请求方式、数据交换格式、返回值等都要写清楚。

接口测试程序,有条件的话,也可以提供,方便前后端的调试。

一般app涉及到的库会有:

UI框架(比如下拉刷新PullToRefresh、侧滑菜单Slidingmenu)
网络请求库(比如okhtttp、AndroidAsyncHttp、Volley)
数据操作库(比如GreenDao、Ormlite)
图片缓存框架(比如Universal-Imageloader)
数据解析库(比如Gson)

20169219《移动平台开发实践》移动APP设计应该考虑到的问题的更多相关文章

  1. 微信公众平台开发:Web App开发入门

    WebApp与Native App有何区别呢?Native App:1.开发成本非常大.一般使用的开发语言为JAVA.C++.Objective-C.2.更新体验较差.同时也比较麻烦.每一次发布新的版 ...

  2. 从Objective-C转战C++ Android平台开发实践(C++/Java)

    是否使用虚拟方法 最好在不用“virtual”关键字的情况下声明所有cpp成员方法 但是在写CPP头文件时,请检查有没有父类的方法被当前的工作覆盖.如果有,请确保将这些方法改为虚拟方法. 如果从父类继 ...

  3. 开源低代码平台开发实践二:从 0 构建一个基于 ER 图的低代码后端

    前后端分离了! 第一次知道这个事情的时候,内心是困惑的. 前端都出去搞 SPA,SEO 们同意吗? 后来,SSR 来了. 他说:"SEO 们同意了!" 任何人的反对,都没用了,时代 ...

  4. 20169214 2016-2017-2 《移动平台开发实践》Android程序设计 实验报告

    实验四 Android程序设计 课堂练习 实验题目 采用后缀表达式法,设计一个建议计算器,实现+.-.*./四种运算. 代码实现 码云链接 关键代码部分及结果如下: Android程序实验 Andro ...

  5. 基于React Native的58 APP开发实践

    React Native在iOS界早就炒的火热了,随着2015年底Android端推出后,一套代码能运行于双平台上,真正拥有了Hybrid框架的所有优势.再加上Native的优秀性能,让越来越多的公司 ...

  6. 基于 Angularjs&Node.js 云编辑器架构设计及开发实践

    基于 Angularjs&Node.js 云编辑器架构设计及开发实践 一.产品背景 二.总体架构 1. 前端架构 a.前端层次 b.核心基础模块设计 c.业务模块设计 2. Node.js端设 ...

  7. 升讯威微信营销系统开发实践:(1)功能概要与架构设计( 完整开源于 Github)

    GitHub:https://github.com/iccb1013/Sheng.WeixinConstruction因为个人精力时间有限,不会再对现有代码进行更新维护,不过微信接口比较稳定,经测试至 ...

  8. Day1:了解APICloud平台、理解APICloud应用设计思想、掌握平台使用流程。学习如何对一款APP进行需求分析、功能分解和架构设计等编码之前重要的准备工作

    学习目标 总体上了解一下APICloud平台,重点介绍相关的学习资源,入门资料,常见的FAQ等 明确我们这七天要开发一个什么样的APP,明确功能需求,跟上每天的课程节奏,可以课前预习 梳理出对于一款A ...

  9. Java生鲜电商平台-优惠券功能设计与开发(小程序/APP)

    Java生鲜电商平台-优惠券功能设计与开发(小程序/APP) 说明:Java生鲜电商平台-优惠券功能设计与开发(小程序/APP) 目录 1.项目背景与需求分析 2.需求目的与功能点列表 3.业务逻辑 ...

随机推荐

  1. oracle驱动包maven下载失败解决

    oracle是付费的,因此jar包也不是随便让人下的,这就给maven的下载和编译带来了麻烦,因为我们没法从maven仓库直接拿来用.解决办法就是先从别的地方获取jar包,再放到本地仓库里去,这样运行 ...

  2. yum安装报错“rpmts_HdrFromFdno: Header V3 DSA signature: NOKEY, key ID 1e5e0159”

    Do not forget to set gpgkey when installing the oracle-validated rpm Read more: http://oracletoday.b ...

  3. java实例三维空间求点之间的距离。。。。

    package com.b; public class Ponit { private double x; private double y; private double z; public Pon ...

  4. selenium自动化浏览器后台运行headless模式

    通过selenium做WEB自动化的时候,必须要启动浏览器, 浏览器的启动与关闭会影响执行效率. 当我们在自己电脑运行代码时,还会影响做别的事情. 鉴于这种情况,Google针对Chrome浏览器新增 ...

  5. 1009 Product of Polynomials

    题意:模拟多项式相乘 思路:略.有一个注意点,题目中说指数最大为1000,当两个多项式相乘后,指数最大就为2000,这一点不注意会出现段错误. 代码: #include <cstdio> ...

  6. xunsearch进阶使用

    目录 设置分页 设置排序 读取文档结果 搜索结果高亮处理 获取数量 获取热门搜索词 获取相关搜索词 设置分页 $search->setLimit(5); // 设置返回结果为前 5 条 $sea ...

  7. VS配置附加包含目录技巧

    把include文件夹(里面是某个库的头文件)拷到自己的项目中,添加头文件时需要使用#include"include\xxx.h"方式,如果打算使用#include"xx ...

  8. python爬西刺代理

    爬IP代码 import requests import re import dauk from bs4 import BeautifulSoup import time def daili(): p ...

  9. 匿名类型与Select方法实现自定义对象插入局部表结构中

    在提取局部表结构数据时,通过Select选取需要的字段,如下句,此时其实产生了一个不用于_menuMan的原新数据类型new { c.SYS_COMMANDS_ID,c.TXT_COMMANDTITL ...

  10. centos7 xfs 文件系统配置quota 用户磁盘配额

    centos7的xfs配置   XFS是扩展性高.高性能的文件系统.也是rhel7/centos7的默认文件系统.XFS支持metadata journaling,这使其能从crash中更快速的恢复. ...