周末的时候闲着没事,看到了个开源的红旅动漫的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. dd命令详解

    一.dd命令的解释. dd:用指定大小的块拷贝一个文件,并在拷贝的同时进行指定的转换. 注意:指定数字的地方若以下列字符结尾则乘以相应的数字:b=512:c=1:k=1024:w=2 参数: 1. i ...

  2. jq向webApi提交post json数据

    在页面想webApi post json数据的时候,发现webapi不能直接以json的方式接受数据(注:我是没有发现一个很好的方式来post json数据的);但是可以以数据结构的方式传递: 如下: ...

  3. 【转】经典!python中使用xlrd、xlwt操作excel表格详解

    最近遇到一个情景,就是定期生成并发送服务器使用情况报表,按照不同维度统计,涉及python对excel的操作,上网搜罗了一番,大多大同小异,而且不太能满足需求,不过经过一番对源码的"研究&q ...

  4. Python json解析

    #encoding: utf-8 ''' Author:Siukwan ''' import sys reload(sys) sys.setdefaultencoding('utf8') import ...

  5. .net在网页中生成二维码和条形码

    二维码: 1.下载ThoughtWorks.QRCode.dll文件 2.创建Web项目,添加引用刚才下载的文件 3.在项目中添加aspx窗体,编写代码如下 <%@ Page Language= ...

  6. Xcode 注释工具的使用

    1:Xcode 8之后 Goodbye World In Xcode 8, Apple integrated a comment documentation generator plugin, whi ...

  7. iOS 手势识别

    首先给大家解释一下为什么要学习手势识别? 如果想监听一个UIView上面的触摸事件,之前的做法是: 自定义一个UIView : 实现UIView的touches方法,在方法里面实现具体功能 透过tou ...

  8. CoreJavaE10V1P3.2 第3章 Java的基本编程结构-3.2 注释

    3.2 注释 1. //形式注释 System.out.println("We will not use 'Hello, World!'"); // is this too cut ...

  9. html使用css让文字多行超出部分用省略号三个点显示的方法案例

    text-overflow: -o-ellipsis-lastline;overflow: hidden;text-overflow: ellipsis;display: -webkit-box;-w ...

  10. Android之HandlerThread

    HandlerThread详解 1 HandlerThread基本原理 HandlerThread继承自Thread,它是一种可以使用Handler的Thread.它的实现很简单,就是在run方法中通 ...