周末的时候闲着没事,看到了个开源的红旅动漫的APP,于是自己就拿下来写了下,整个网站作者也解析成了接口,所以就可以写成app了,作者写的是用mui开发的,可以通过hbuilder软件打开,进行查看源代码,但是我没有用hbuilder,没有用mui框架,就自己简单的纯手写了下。

  下面来说下开始的准备把,这些接口数据都是来自红旅的,所以里面的图片啊链接什么的都是从网上直接过来的,所以一开始建项目文件夹的时候图片文件夹就不需要.顶部栏的话没什么好说的,下面的其他数据都是通过接口实现的,也就是得通过ajax来异步获取到数据,所以需要用到模板引擎,模板引擎的话我用的是github里腾讯的artTemplate,感觉还不错吧,渲染的也还挺快,感觉原生语法更像编程一点,可能更好理解一些吧。首先github上下载好模板引擎后直接导入到项目文件夹内,然后引用到需要使用模板引擎的地方就可以了,定义好模板后,就可以编写ajax。这是在移动端,为了能更简便更高效一点,使用了类似于jQuery的zepto库,用法和jQuery没什么区别的,稍微注意点不一样的地方就可以了,也和模板引擎一样导入到相应文件夹并引用就行。

  首页的轮播图获取到的数据里只有两张图,轮播图的实现有很多种方式,我是采用了在前面后面各加了一张,这样比较好做一点,你放的图越多,写的js代码就可以简便一点,图越少,就需要通过js来克隆图片,会相对复杂一点。这里我是克隆了两张图在收尾,这样就四张图了,轮播起来。再下面的内容是通过ajax获取,通过$.ajax({.....}),里面有个属性叫cache,缓存的意思,一开始也没有写这个属性,无意中添加了下,cache:false。发现好像有了缓存的问题。所以查了下,发现cache只有在get方式时可以使用,值为true的时候,会读取缓存,假如上次访问的one.html,这次再访问的话,会从上次的one.html读缓存,而不是再到服务器上读取。如果把值设置成false的话,会在url后面加一个时间后缀,让他跑到服务器获取结果。获取到数据后,接下去需要考虑的就是样式的问题了,我感觉,真的,有时候样式这个东西比js代码更难写,因为js代码错了会报错,可以通过浏览器调试工具进行调试,但是样式写那里有时候真的很难找,只得去试,然后慢慢调,li和里面包含的img,p,div之间的关系。调的时候,由于这是移动app,现在的手机屏幕有大有小,虽然差异不是很大,但是每款手机的屏幕也是不一样尺寸的,就是要不停的调试不一样的屏幕,可以先在浏览器调试工具中采用手机端模式,然后再真机调试。左边点击菜单栏的实现,下载下来的是用mui框架实现的,但是我没有用框架,所以就自己结合css3实现了类似的功能,大概就是点击菜单,左侧侧滑出一个页面,是菜单栏,本来主页的内容整体右移,并且被左侧的遮罩层遮住,使得不能的点击。实现的过程是给侧滑出来的菜单栏一个定位,在屏幕左侧隐藏,宽度设为70%左右,点击后移出来,为了有滑动的效果,则添加了transition:all -.4s,左侧侧滑出来的同时,原来的主页也右滑同样的距离,这样就感觉有左边移出来的东西把原来的页面 挤掉了,同时要有一个遮罩层,其实可以把背景设置成透明的,这样就有遮罩层的感觉,也可以加个层级,防止点击到下面的。其他也就没什么感觉麻烦的地方了。

  总结下,个人认为比较麻烦的地方就是获取到的内容写样式,适配不同的屏幕调试;由于没有用mui框架,轮播图的实现得自己写;同样没有用框架,左侧菜单栏的侧滑效果一开始没有想到,但是稍微想了一下,还是很简单的,实现起来也很快;还有就是ajax获取的时候缓存的问题。

移动app的一些心得的更多相关文章

  1. uve (mui/light7)写APP的使用心得(大坑);

    话说mui这个框架的UI确实挺好看的(个人觉得)所以项目使用了他,结果里面的坑太TM多,不得不说MUI做东西太不用心了,社区不活跃,提问都没人管!; mui第一个坑: 日期选择器默认值无效:使用代码跟 ...

  2. 慢阻肺疾病管理APP——第一次迭代心得

    时光匆匆,不知不觉就到了第十二周.——第一次迭代都完成了,最终迭代还会远吗? 一.第一次迭代的设想和目标: 1.  我们的软件要解决什么问题?是否定义得很清楚?是否对典型用户和典型场景有清晰的描述? ...

  3. 开源一个上架 App Store 的相机 App

    Osho 相机是我独立开发上架的一个相机 App,App Store地址:https://itunes.apple.com/cn/app/osho/id1203312279?mt=8.它支持1:1,4 ...

  4. Oslo 相机 App

    https://itunes.apple.com/cn/app/osho/id1203312279?mt=8.它支持1:1,4:3,16:9多种分辨率拍摄,滤镜可在取景框的实时预览,拍摄过程可与滤镜实 ...

  5. iOS开发200个tips总结(一)

    tip 1 :  给UIImage添加毛玻璃效果 func blurImage(value:NSNumber) -> UIImage { let context = CIContext(opti ...

  6. React Native开发技术周报1

    (一).资讯 1.React Native 0.21版本发布,最新版本功能特点,修复的Bug可以看一下已翻译 重要:如果升级 Android 项目到这个版本一定要读! 我们简化了 Android 应用 ...

  7. iOS开发tips总结

    tip 1 :  给UIImage添加毛玻璃效果 func blurImage(value:NSNumber) -> UIImage { let context = CIContext(opti ...

  8. hBuilder培训资源视频教程汇总

    DCloud对开发者的学习支持分3个层面:官方文档.三方专业培训.网友经验分享 DCloud的精力主要在做产品,配套的文档也会一直完善好.但专业的培训还不是DCloud能做好的,在HTML5中国产业联 ...

  9. mui初级入门教程(一)— 小白入手mui的学习路线

    文章来源:小青年原创发布时间:2016-05-15关键词:mui,html5+转载需标注本文原始地址:http://zhaomenghuan.github.io/#!/blog/20160515 写在 ...

随机推荐

  1. Volt 模块引擎与phalcon框架组合使用指南

    ---- 近期工作中web页面使用由C语言编写的VOLT模板引擎,相比之前由js动态加载页面速度更快,更利于百度数据的抓取,现根据文档整理一下使用思路 (Volt是一个超快速和设计者友好的模板语言,C ...

  2. Oracle / PLSQL函数 - NUMTODSINTERVAL和NUMTOYMINTERVAL

    最近在学习数据库方面的知识,做个标记. 这里有英文解释,建议多看看英文文档: https://www.techonthenet.com/oracle/functions/ 下面开始记录一下,自己在Or ...

  3. Float 的那些事

    css float 定义元素浮动到左侧或者右侧.其出现的本意是让文字环绕图片而已. left.right.inherit(从父级元素获取float值).none 一.浮动的性质 1. 包裹性 disp ...

  4. 使用spring-data-mongodb操作mongodb

    mongodb.xml <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="h ...

  5. Python 自动给数字前面补0

    为了排版方便或者是输出文件命名整洁,通常需要给数字前面补0来做统一.Python中有一个zfill函数用来给字符串前面补0,非常有用,这个zfill看起来也就是zero fill的缩写吧,看一下如何使 ...

  6. Uva 10780 Again Prime? No Time.(分解质因子)

    题意:给你两个数m和n,问 n! 可以被 m^k 整除的k的最大值 思路:从这道我们可以想到n!末尾有多少个0的问题,让我们先想一下它的思想,我们找 n! 末尾有多少0, 实际上我们是在找n!中5的个 ...

  7. Kafka单机版安装(CentOS 7环境下)

    一.环境操作系统和软件版本介绍 1.环境操作系统为CentOS Linux release 7.2.1511 (Core) 可用cat /etc/redhat-release查询 2.软件版本 Kaf ...

  8. Redis同步操作失败的原因

    今天弄了下 Redis 的主从同步,设置方法其实很简单的,但崩溃的是遇到个莫名其妙的问题,始终同步不了.. 看了看错误日志: Unable to connect to MASTER: Invalid ...

  9. openstack私有云布署实践【11.3 计算nova - compute节点-nova用户免密登录(用于云主机冷迁移+扩展云主机大小)】

    云主机迁移+扩展云主机大小 ,官方说它依赖nova用户之间的免密登录.确保每个resion区域的compute节点服务器他们可以相互SSH免密   compute1-7     他们相互SSH免密 k ...

  10. 修复ubunut桌面

    title: 修复ubunut桌面 tags: 桌面, ubuntu grammar_cjkRuby: true --- ,按下Ctrl+Alt+F2.这会让你进入一个命令行界面而不是默认的用户桌面界 ...