技术说明
一、前端技术
1、页面搭建
前端页面搭建使用html5+css3+js的方式,使用的框架有mui、jquery等,还有一些其他工具框架进行辅助,主要功能是实现移动端的页面展示,并且能兼容浏览器内核。手机网页开发。这部分跟web前端开发差别不大,使用的技术都是html+css+js。区别为手机浏览器是webkit的天下,pc端是IE的天下。
前端页面搭建使用html5的方式,编码格式为utf-8,采用viewport的方式自适应移动端和端的显示
首先创建一个index.html文件,前端页面以这样的方式搭建。
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
<script type="text/javascript" src="index.js"></script>
</head>
<body>
<div id="numDiv">0</div>
<button type="button" id="start">start</button>
<button type="button" id="stop">stop</button>
</body>
</html>
其次,创建一个count.js文件:
var countNum = 0;
function count(){
postMessage(countNum);
countNum++;
setTimeout(count,1000);
}
count();
再创建一个index.js文件
var numDiv;
var work = null;
load = function () {
numDiv = ElementById('numDiv');
ElementById('start').onclick = startWorker;
ElementById('stop').onclick = function () {
if(work){
inate();//停止,释放掉资源
work = null;//work重新初始化
}
};
};
function startWorker(){
if(work){
return;
}
work = new Worker('count.js');
ssage = function (e) {
numDiv.innerHTML = e.data;
};
}
2、页面兼容性及渲染
不滥用Float
Float在渲染时计算量比较大,尽量减少使用
不滥用Web字体
Web字体需要下载,解析,重绘当前页面,尽量减少使用
不声明过多的Font-size
过多的Font-size引发CSS树的效率
减少重绘和回流
a) 避免不必要的Dom操作
b) 尽量改变Class而不是Style,使用classList代替className
c) 避免使用document.write
d) 减少drawImage
Viewport可以加速页面的渲染,请使用以下代码
< meta name=”viewport” content=”width=device-width, initial-scale=1″>
动画优化
a) 尽量使用CSS3动画
b) 合理使用requestAnimationFrame动画代替setTimeout
c) 适当使用Canvas动画 5个元素以内使用css动画,5个以上使用Canvas动画(iOS8可使用webGL)
GPU加速
CSS中以下属性(CSS3 transitions、CSS3 3D transforms、Opacity、Canvas、WebGL、Video)来触发GPU渲染,请合理使用
PS:过渡使用会引发手机过耗电增加
3、meta相关总结
HTML5页面窗口自动调整到设备宽度,并禁止用户缩放页面
<meta name="viewport" content="width=device-width,initial-scale=1.0,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no" />
忽略将页面中的数字识别为电话号码
<meta name="format-detection" content="telephone=no" />
忽略Android平台中对邮箱地址的识别
<meta name="format-detection" content="email=no" />
当网站添加到主屏幕快速启动方式,可隐藏地址栏,仅针对ios的safari
<meta name="apple-mobile-web-app-capable" content="yes" />
将网站添加到主屏幕快速启动方式,仅针对ios的safari顶端状态条的样式
<meta name="apple-mobile-web-app-status-bar-style" content="black" />
4、逻辑处理
在页面中实现的页面主要有以下几类:
(1)列表的展示
通过查询后台数据在前端页面实现列表的展示,以【业务审批】为例,业务审批页面为当前用户或者是当前管理者下边待审批的业务列表,这个列表是在页面初始化的时候通过向后台传输用户唯一标识(openid),查询出当前用户所属的所有业务,然后以json串的方式返回前端,在前端取出json串采用循环的方式将列表展示在页面。
(2)单个业务的详查
以【业务审批】为例,在这个列表页面,点击单条记录的时候通过传递当前业 务号来查询这个业务的详细信息,并展示到详情页面。
(3)业务的操作
在业务的详情页面,通过对当前页面的信息增加,并对当前业务进行审批通过、回退等具
体操作向后台发送业务状态,完成业务的操作。
(4)用户的绑定
jsp用什么前端框架用户在菜单的每一个按钮都会绑定触发获取用户身份的操作,如果获取当前的用户身份没有对第三方的系统绑定,则调到绑定用户身份的页面,在这个页面通过向后台发送绑定用户的信息,进行绑定,绑定之后则每次都可以查询到用户的信息。如果用户要求解绑,在【我的信息】中有对用户解绑的操作,从而对用户解除绑定。
(5)不需要验证用户信息的页面
工具箱和一些推送消息的按钮,不需要获取用户身份,只是给用户提供一些工具性的页面。
二、后台技术
1、后台参数传递说明
前端项目和后台项目可以放到一个服务器,把页面作为移动web页面来处理,通过在
页面中使用调用后台的方法,ajax等一些异步传输的方式,获取前端页面需要的参数,来对页面进行填充。
前端页面可以是jsp页面,也可以是纯html页面,传递参数的时候需要在同域服务器下,对服务器请求以及返回参数。
服务器端可以使用webservice的方式发布服务,前端通过调用服务来返回数据。或者服务器使用其他Struts框架,那么前端使用ajax的方法来获取数据。
2、后台说明
用户验证用户身份,需要在回调地址写一个servlet用于获取用户的openid,具体的操作是,在前端诱导用户触发授权地址,由服务器重定向到后台的回调地址中,这个地址带code和当前业务标识,在servlet中通过获取access-token和code,通过访问接口地址获取userid,再通过userid换取openid,通过openid和当前的业务标识,来重定向到具体的前端页面,并将openid传到前端页面,进行下边的操作。
3、系统后台逻辑处理
在租赁系统中,后台提供区别于不同交易的接口,不同的业务处理,使用不用的逻辑方法,在前端使用方法的时候,为前端提供需要调用的方法,通过调用当前方法,接收前端参数,对参数进行判断、逻辑处理、数据查询等操作,最后再通过json的形式传给前台。
后台系统可以使用不同的框架进行开发,可以是发布webservice的方式,或者是Struts等发布servlet的方式,前端根据后台框架,采用不同的处理方式对后台进行访问,后台采取相对应得方式对前端的数据提取和处理。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论