使用wex5得到的一些教训
博主一直都是做web开发,前段时间有个小想法,想给自己做个android小应用(很小,功能特别简单)。
了解到可以用js直接做,貌似很简单,选用了wex5(基于codova插件)来直接开发。
最终发现比直接用java踩到的坑还多,这里总结下:
1、在w文件中写的css会被做加工,可能产生问题。
我在里面写了个h5动画效果,单独代码抽出来可以使用,放到wex5中就是不能生效,百思不得其解,我一直以为是哪里写错,或者和哪个效果产生冲突,想了两个晚上,还是没思路。把页面源码抓出来发给朋友帮忙看,朋友一下子就说明问题所在“某某地方应该要有px单位”。当真没想到,竟然是被编译软件去除掉的,我完全不敢设想是编译软件问题,还一直在寻找自己写的代码中的错误。
解决方法:把css写在单独的css文件里面(不和w文件同名),然后用资源引入,例如:<require xid="require1" url="css!$UI/xiangmu/animation"></require>
2、跨域问题。
wex5的页面,在调试的时候都是指向例如127.0.0.1:8080域名,而自己使用的后端服务域名假设为example.com,ajax访问是需要跨域的,我以为这都是前提,不能修改。于是做了很多工作来解决跨域问题:
I、服务端添加允许跨域访问的头(为了跟web比较像,放弃使用jsonp形式);
II、返回sessionId(跨域访问,cookie带不过来,使用ajax返回头读不到);
III、修改express-session中间件,使能直接query传递sessionID(这是express-session的一个坑,cookie带了加密,而我又不能直接读到cookie结果,所以只能修改它,这个方法很糟糕,很丑)
整个开发过程,让人很难受,浪费很多时间,方法却依然如此丑。
解决办法:看了wex5文档里面,建议ajax请求使用插件带的request请求方法,就无需跨域(还是那么丑)
我目前选择使用的是修改调试域名,直接使用自己的example.com域名,然后服务端对应wex5页面的更新请求全部使用304(not modify)返回。
总结:wex5并不是我所想象的能迅速开发出应用的(我以为就行浏览器功能加了本地页面,加了一些api)。整个技术栈还是比较深的。为了降低学习成本,我略过了官方文档,然而却带来的是自己屡次碰壁,把时间花在了各种旁门左道上面。
使用wex5得到的一些教训的更多相关文章
- WeX5学习笔记
目录 WeX5学习笔记... 1 1.轻松看透WeX5产品能力和技术... 1 2.WeX5可以怎么玩?... 3 一.纯本地App. 3 二.关联一个网站,希望默认就打开某页... 4 三.UI设计 ...
- 新人入职100天,聊聊自己的经验&教训
这篇文章讲了什么? 如题,本屌入职100天之后的经验和教训,具体包含: 对开发的一点感悟. 对如何提问的一点见解. 对Google开发流程的吐槽. 如果你 打算去国外工作. 对Google的开发流程感 ...
- 。。。欢乐捕鱼App WeX5 连接打包代理服务失败,请检查代理服务地址是否正确。。。
今天学习了WeX5,第一次使用,使用它打包一个Web App 欢乐捕鱼的时候,在最终打包生成Native App的时候突然报错了,说:"连接打包代理服务失败,请检查代理服务地址是否正确&qu ...
- wex5 实战 图片触摸放大移动插件easyzoom的使用与集成
一 前言 客户的需求就是上帝的召唤. 作为一个开发人员,或者软件从业者,客户的要求就是准则. 遇到一个客户,让我做一个图片放大,但是移动拖拽要定位精准.之前研究过一个hammer插件,多次尝试放大后的 ...
- wex5 实战 框架拓展之2 事件派发与data刷新
一 前言 讲完公共data,相信大家对框架级的data组件级绑定有了更新的认识,接下来我们继续深入,以求研究明白wex5的框架能力. 在一个web项目中,其实有一个data, 是基础框架必须的data ...
- wex5 实战 框架拓展之1 公共data组件(Data)
一 前言 wex5作为开发利器,框架本身的集成能力与拓展能力可谓简单强大.在学习过程中,对框架的拓展能力,需要通过实践来丰富.今天,我以实际工作中的实例,先来看一看,框架上的公共data组件的实现与用 ...
- wex5 实战 手指触屏插件 hammer的集成与优劣
前言 前几天,给客户做了一个图片点击放大,很简单,客户说能不能双手指缩放图片呢? 想到了hammer,不管好用不好用,总得试. 网上居然没有像样的中文文档和成熟案例,有的文写的鬼都看不懂.还是自已动手 ...
- wex5 实战 用户点评与提交设计技巧
最近遇到很多同学做毕业设计,其中有一项是用户点评与提交.功能并不复杂,同学们又不会,做为一个完整的功能,如果用wex5来设计开发,事半功倍.今天就以景区实战来向大家展示wex5的高效与强大.半天可以设 ...
- wex5 实战 省市县三级联动与地址薄同步
无论是商城,还是快递,都要用到省市县三级联动,和地址薄,今天就以实战来制作,难点有3个: 1:三级联动,有wex5组件实现,相对简单,实战里对行数据进行了拼接 2: 地址薄选项,利用inputSel ...
随机推荐
- 遗传算法在JobShop中的应用研究(part 5:解码)
解码操作是整个遗传算法最重要的一步,在这步里面我们利用配置文件中的信息将染色体解码成一个有向无环图. 在介绍解码操作之前我们先来看一下配置文件,在part1绪论中我们已经介绍了一个车间调度问题的基本信 ...
- caffe + ubuntu16.04 (version without GPU)
This Guide is based on caffe github wiki guide (https://github.com/BVLC/caffe/wiki/Ubuntu-16.04-or-1 ...
- TLD目标跟踪算法
1. 简介 TLD目标跟踪算法是Tracking-Learning-Detection算法的简称.这个视频跟踪算法框架由英国萨里大学的一个捷克籍博士生Zdenek Kalal提出.TLD将传统的视频跟 ...
- 有关uploadifive的使用经验
这段时间做了一个项目用到uploadifive上传控件,和uploadify不同,这个控件是基于HTML5的版本而不用支持falsh,因而移动端也可以使用. 整理用过的相关属性与方法: 属性 作用 a ...
- 使用Angularjs的ng-cloak指令避免页面乱码
在使用Anguarjs进行web开发或者进行SPA(single page application)开发时,往往会遇到下面这样的问题. 刷新页面时,页面会出现一些乱码,这里的乱码具体是指`{{expr ...
- 绿色 或者 免安装 软件 PortableApps
Refer to http://portableapps.com/apps for detail. Below is just a list at Jan-01-2017 for quick show ...
- 解决在CAPSLOCK开启情况下sendkeys大小写异常的问题
http://files.cnblogs.com/files/liuzhaoyzz/sendkeys%E5%A4%A7%E5%B0%8F%E5%86%99.rar 首先利用GetKeyState(vb ...
- Alpha版本十天冲刺--Day6
会议总结 队员 今天完成 遇到的问题 明天要做 感想 鲍亮 获取帖子接口,url图片解析 无 获取帖子详情接口,发帖接口 这两天都是白天睡大觉,晚上敲代码,感觉得调一下作息了,假期更加爱赖床了,还得继 ...
- R语言实战(三)基本图形与基本统计分析
本文对应<R语言实战>第6章:基本图形:第7章:基本统计分析 =============================================================== ...
- 网站过滤器Filter
实际上,Filter与Servlet及其相似,区别只是FIlter的doFilter()方法里多了一个FilterChain的参数,通过该参数可以控制是否放行用户的请求.网站有了过滤器十分的方便,可以 ...