热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

web移动端开发总结

2019独角兽企业重金招聘Python工程师标准XXX微信企业号是接触的第一个移动端项目,下面对遭遇的问题和解决方法做以总结:项目背景࿱

2019独角兽企业重金招聘Python工程师标准>>> hot3.png

XXX微信企业号是接触的第一个移动端项目,下面对遭遇的问题和解决方法做以总结:

项目背景:借助微信企业号平台,使用第三方提供的数据接口,实现数据定制化展示。和普通的web开发类似,只是放到移动端,嵌入微信罢了。

项目规模:小

  1. 移动端开发注意要点:

    1,结构精简,交互方便。因为移动端的内容展示空间有限,内容的呈现方式,一些交互效果的设计方面,需要提前考虑。

    2,界面美观,兼容性能。移动端应用爆炸式增长,如何提升本应用的竞争力,业务固然重要,作为前端人员,界面和性能的优化也能为应用的用户粘度增色不少。

    3,面向对象,拥抱变化。开发通用原则。

    4,欢迎补充。。


2,框架依赖。

    初始时,业务不够清晰,原型太粗糙,为了将关注点更多放到业务实现上,选取了jqueryMobile框架,使用起来并不算难,官网的文档,demo还算齐全,对于实现原型是足够了,但是对于实际开发时,组件的固有特性和固有样式,导致其不够灵活,面对客户的定制化效果,越来越多的变化。随时可能面临页面大规模重构的风险。

对于小型项目,建议不引入该框架,只在需要时,使用其部分组件。

3,交互设计。

    设计交互时,要摒弃pc端的设计方式,按钮的大小,是否方便点击,状态变换是否明显,都需要注意

比如说,移动端一般不使用checkbox ,radio的原生样式,通常都是flipswitch的样式。

4,一些问题:

① 移动端的click事件有300ms延迟,可以使用tap事件

②ghost click(与重复绑定区分开),可能因为触摸屏的缘故,有时,对当前页面的点击,会响应到下一个页面,造成莫名其妙的跳转

    此类问题,在写事件绑定时,加上 prevetDefault,stopPropagation的调用。

③移动端对html5的支持并不是很好,使用html5特性时,要考虑兼容性。而且设备的性能很难匹配pc端,所以动画之类高cpu消耗的交互尽量少用。

④ 代码调试有点麻烦,chrome的模拟器很好用,实体机测试时alert成了神器。


在设计和开发中,要充分考虑到移动端的特性和一些局限性,才能制作出更加贴近用户的产品。

似我辈开发人员,更多使用的是后端渲染,也许使用前端渲染,使用一些前端框架,比如angular,backbone之类,也许会更加便捷,当然这对于开发人员的要求很高,前端还有很长的路要走。


都是些零碎,以后再慢慢补充。

更新:2015-11-26 

1,因为jquery mobile本身对于页面生命周期的管理自有一套事件,通常我们绑定元素事件时或者初始化一些第三方组件时,需要根据实际的使用情况,在不同的页面事件中绑定元素事件,比如,我们使用swiper插件(一个滑动插件),通常需要在pageshow事件里面进行初始化,因为它需要在知道容器的维度。而对于分页,我们通常需要在pageinit中初始化,如果放在pageshow中就会导致每次导航到当前页面都会初始化一次分页,造成不必要的资源消耗。

2,事件绑定了一次,但是会触发多次,这很可能是我们绑定事件的时机有问题,此时参考页面的声明周期去找问题把。通常解决此类问题,可以采取的方案:每次绑定事件前先解绑一次,示例:

  $("#dlist").off("tap", ".js-addOrder").on("tap", ".js-addOrder", function (e) {e.preventDefault();e.stopPropagation();var kSelected = $("#k_selected").val();var dSelected = $(this).parents("li").data("did");$("#d_selected").val(dSelected);$.mobile.navigate('@Url.Action("CustomizeComplete", "Customize", new { area = "Customize" })' + "?style=" + kSelected + "&dId=" + dSelected);});

3,动态加载的内容中部分控件没有被框架加强:在将动态内容append到dom中之前,先调用enhanceWithin();例如:

$(options.containerId).append(content).enhanceWithin().listview("refresh");



转载于:https://my.oschina.net/xcchcaptain/blog/599295


推荐阅读
  • Html5-Canvas实现简易的抽奖转盘效果
    本文介绍了如何使用Html5和Canvas标签来实现简易的抽奖转盘效果,同时使用了jQueryRotate.js旋转插件。文章中给出了主要的html和css代码,并展示了实现的基本效果。 ... [详细]
  • 如何在HTML中获取鼠标的当前位置
    本文介绍了在HTML中获取鼠标当前位置的三种方法,分别是相对于屏幕的位置、相对于窗口的位置以及考虑了页面滚动因素的位置。通过这些方法可以准确获取鼠标的坐标信息。 ... [详细]
  • 本文介绍了Python函数的定义与调用的方法,以及函数的作用,包括增强代码的可读性和重用性。文章详细解释了函数的定义与调用的语法和规则,以及函数的参数和返回值的用法。同时,还介绍了函数返回值的多种情况和多个值的返回方式。通过学习本文,读者可以更好地理解和使用Python函数,提高代码的可读性和重用性。 ... [详细]
  • vue使用
    关键词: ... [详细]
  • 展开全部下面的代码是创建一个立方体Thisexamplescreatesanddisplaysasimplebox.#Thefirstlineloadstheinit_disp ... [详细]
  • 闭包一直是Java社区中争论不断的话题,很多语言都支持闭包这个语言特性,闭包定义了一个依赖于外部环境的自由变量的函数,这个函数能够访问外部环境的变量。本文以JavaScript的一个闭包为例,介绍了闭包的定义和特性。 ... [详细]
  • 单点登录原理及实现方案详解
    本文详细介绍了单点登录的原理及实现方案,其中包括共享Session的方式,以及基于Redis的Session共享方案。同时,还分享了作者在应用环境中所遇到的问题和经验,希望对读者有所帮助。 ... [详细]
  • Ihavethefollowingonhtml我在html上有以下内容<html><head><scriptsrc..3003_Tes ... [详细]
  • Python SQLAlchemy库的使用方法详解
    本文详细介绍了Python中使用SQLAlchemy库的方法。首先对SQLAlchemy进行了简介,包括其定义、适用的数据库类型等。然后讨论了SQLAlchemy提供的两种主要使用模式,即SQL表达式语言和ORM。针对不同的需求,给出了选择哪种模式的建议。最后,介绍了连接数据库的方法,包括创建SQLAlchemy引擎和执行SQL语句的接口。 ... [详细]
  • IjustinheritedsomewebpageswhichusesMooTools.IneverusedMooTools.NowIneedtoaddsomef ... [详细]
  • position属性absolute与relative的区别和用法详解
    本文详细解读了CSS中的position属性absolute和relative的区别和用法。通过解释绝对定位和相对定位的含义,以及配合TOP、RIGHT、BOTTOM、LEFT进行定位的方式,说明了它们的特性和能够实现的效果。同时指出了在网页居中时使用Absolute可能会出错的原因,即以浏览器左上角为原始点进行定位,不会随着分辨率的变化而变化位置。最后总结了一些使用这两个属性的技巧。 ... [详细]
  • HTML5网页模板怎么加百度统计?
    本文介绍了如何在HTML5网页模板中加入百度统计,并对模板文件、css样式表、js插件库等内容进行了说明。同时还解答了关于HTML5网页模板的使用方法、表单提交、域名和空间的问题,并介绍了如何使用Visual Studio 2010创建HTML5模板。此外,还提到了使用Jquery编写美好的HTML5前端框架模板的方法,以及制作企业HTML5网站模板和支持HTML5的CMS。 ... [详细]
  • Android实战——jsoup实现网络爬虫,糗事百科项目的起步
    本文介绍了Android实战中使用jsoup实现网络爬虫的方法,以糗事百科项目为例。对于初学者来说,数据源的缺乏是做项目的最大烦恼之一。本文讲述了如何使用网络爬虫获取数据,并以糗事百科作为练手项目。同时,提到了使用jsoup需要结合前端基础知识,以及如果学过JS的话可以更轻松地使用该框架。 ... [详细]
  • 本文介绍了在满足特定条件时如何在输入字段中使用默认值的方法和相应的代码。当输入字段填充100或更多的金额时,使用50作为默认值;当输入字段填充有-20或更多(负数)时,使用-10作为默认值。文章还提供了相关的JavaScript和Jquery代码,用于动态地根据条件使用默认值。 ... [详细]
  • 本文介绍了如何在Jquery中通过元素的样式值获取元素,并将其赋值给一个变量。提供了5种解决方案供参考。 ... [详细]
author-avatar
兰州老头_337
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有