`

Mobile Web常见技术问题和规划

 
阅读更多

前一段时间应Boss要求,给开发组同事做了一次关于前端技术的演讲,我整理了现在项目遇到的很多问题,和未来规划。我还特意去了一趟上海,求教朋友一些前端架构问题,他说我遇到的问题具有很广泛的普遍性,很多团队都有遇到,于是我抽空整理出来。

 

 

 

Mobile Web常见技术问题和规划

 

现状

一、目前前端技术

(1)JS功能库:jQuery和Zepto混用;

(2)页面之间传递数据方法:url传递数据;

(3)本地数据存储cookie;

 

二、现存在的问题

(1)页面js以及css文件过多过大;

(2)JS库和插件引用不规范不统一;

(3)HTML片段管理和渲染方法需要改进和优化;

(4)没有进行JS模块化,通用方法未提出公用;

(5)线上JS和CSS代码未做压缩处理;

(6)没有数据缓存和更新机制;

(7)静态文件images需要规划管理;

 

 

 

 

 

 

 

 

规划

一、统一JS使用规范和基本解决方案

(1)全局使用JS功能库Zepto

逐步将项目中每个页面的jQuery替换成Zepto,解决两者的兼容差异,和Zepto的功能缺失;

 

(2)全局引入移动点击事件处理方案Fastclick

解决click在移动设备上300ms延迟和点透bug;

 

(3)统一HTML渲染方法

从原有HTML字符串拼接逐步改为使用前端模板渲染引擎doT.js;

 

(4)数据缓存及更新机制

本地数据localStorage缓存一些ajax请求的数据,更新时间等机制写成公用的JS方法;

 

(5)JavaScript模块化

CMD or AMD,计划引入seajs模块加载器;

 

 

 

二、布局和CSS开发

(1) 公用样式文件的维护、CSS文件目录管理规范、单个页面CSS文件引入规范

  • reset.css  (样式重置表)
  • common.css  (公用样式表)
  • page.css  (本页面样式) 

(2) 将JS动画效果逐步使用CSS3的动画进行取代

尽可能调用CSS3硬件加速

 

(3) 后期有待选型和研究的问题

  • 布局逐步放弃float布局,还是改用flex-box?
  • REM or 百分比布局选型?
  • LESS (SASS)是否适合引入?

 

三、前端代码可维护性

(1)命名规范

  • 语义化命名
  • CSS命名建议使用中杠来命名:help-guest-regist
  • JS建议驼峰命名法:helpGuestRegist (方法命名尽可能的语义化和完整)

(2)结构html、样式css、行为js分离

  • 避免HTML中写CSS样式
  • 避免HTML中写JS语句

(3)JavaScript全局变量

严格限制JS中全局变量的数量,避免定义过多全局变量;

 

注: 代码规范参考《编写可维护的JavaScript》

 

 

四、前端工作流改进

(1)多设备多浏览器自动同步刷新工具

http://www.browsersync.cn/

 

 

(2)前端代码上线前自动化处理

  • JS和CSS代码的压缩;
  • 给js/css/image文件版本号(文件指纹):解决浏览器和微信强缓存问题;
  • 将页面引入大量js和css文件合并成一个或多个文件(待解决):减少http请求;

注:目前打算使用gulp工具实现发布前的文件处理的环节;

 

 

 

 

 

五、项目前端架构调整(长期规划)

SPA(Single-page application)

优点

  • 可以在页面切换间平滑过渡,增加Loading动画,类似native app;
  • 可以在各个页面间传递数据,不依赖URL;
  • 可以选择性的保留状态;
  • 避免了公共JS的反复执行,如无需在各个页面打开时都判断是否登录过等等;
  • 减少了请求体积,节省流量,加快页面响应速度;

缺点

  • 前期开发复杂度大大提升,工期过长,涉及方面过多,需要长期进行规划;

 

MVC:

计划采用Backbone.js

 

 

 

 

资料:

移动H5前端性能优化指南

http://isux.tencent.com/h5-performance.html

 

 

  • 大小: 66.3 KB
  • 大小: 161.2 KB
  • 大小: 12.8 KB
  • 大小: 12.4 KB
  • 大小: 25.8 KB
  • 大小: 16.4 KB
2
0
分享到:
评论

相关推荐

    Programming the Mobile Web.pdf 手机网页开发

    《Programming the Mobile Web》不仅是一本关于移动网页开发的技术手册,更是引导开发者走出误区、掌握核心技术的重要指南。通过学习本书,开发者不仅可以获得实用的编码技巧,还能深刻理解移动网络的本质和发展趋势...

    Master Mobile Web Apps with jQuery Mobile (Third Edition

    综上所述,这本教程书籍的阅读者将通过学习《使用jQuery Mobile掌握移动Web应用(第三版)》,掌握到使用jQuery Mobile框架创建和优化移动Web应用所需的技术和知识,进而能够在移动Web开发领域中提升自己的专业能力...

    Sample of Master Mobile Web Apps with jQuery Mobile

    这部分内容对于初学者来说非常有用,帮助他们理解jQuery Mobile的工作原理及其与传统Web开发技术之间的区别。 2. **开发环境搭建**:接下来,作者可能会指导读者如何设置开发环境,包括安装必要的工具如文本编辑器...

    泛微e-mobile常见问题及解决

    然而,在实际部署和使用过程中,用户可能会遇到一系列技术问题,本文将针对泛微e-mobile的常见问题进行梳理,并提供相应的解决方法。 首先,当引导程序启动后,如果访问引导程序显示“无法显示该网页”,可能的原因...

    Head First Mobile Web+源码

    《Head First Mobile Web+源码》是一本专为移动Web开发设计的图书,它深入浅出地介绍了在当今移动设备上构建高效、响应式和用户体验优秀的Web应用的关键技术和策略。这本书以其独特的“Head First”教学风格,使得...

    Building Mobile Applications Using Kendo UI Mobile and ASP.NET Web API

    - **性能监控**:使用工具和技术监测应用性能,及时发现并解决问题。 #### 结论 《使用Kendo UI Mobile与ASP.NET Web API构建移动应用》不仅是一本技术指南,更是实践者的心得分享。通过本书的学习,开发者不仅...

    programming-the-mobile-web.pdf

    - 通过对实际项目中的常见问题及其解决方案的深入探讨,使读者能够快速掌握移动Web开发的核心技能。 #### 五、作者简介及出版信息 - **作者**:Maximiliano Firtman是一位知名的移动Web开发专家和技术讲师,拥有...

    Windows Mobile和Exchange Server 2003

    10. **TechNet中文网络广播首页.url和查看本次课程问题解答.url**:这些URL可能指向相关的技术资源和课程问答记录,帮助用户深入学习和解决问题。 通过观看【msft112006vxpm.wmv】这个视频文件,观众将能够获得实际...

    jquery mobile开发常见问题分析

    总结,jQuery Mobile由于其框架的特殊性,引入了一些与传统Web开发不一样的问题和挑战。开发者需要深刻理解框架的原理和特点,并且灵活运用解决方案来处理这些问题。了解如何正确使用事件绑定机制、处理Ajax页面请求...

    Build mobile web applications with Sencha.pdf

    常见的布局有Fit Layout、Card Layout和VBox Layout等。 - **数据存储**:Sencha Touch使用Ext.data.Store对象来管理数据。可以是本地数据也可以是从服务器获取的数据。 - **数据绑定**:允许UI组件与数据源进行动态...

    ctf web解题 找flag夺旗赛概述、原理及应用.pdf

    - **具备扎实的信息安全理论基础**,能够理解常见的攻击模式和技术原理。 - **敏捷的思维能力和良好的团队协作精神**,能够在高压环境下快速解决问题。 #### 三、应用 CTF Web解题不仅仅是一项竞技活动,其实际...

    jQueryMobile-HTML5模板

    **jQuery Mobile HTML5模板详解** ...总的来说,jQuery Mobile HTML5模板是学习和快速开发移动Web应用的宝贵资源,通过深入理解和实践,开发者能够提升在HTML5和jQuery Mobile上的技能,打造高质量的移动用户体验。

    Windows Mobile 2nd 开发黄金周(6):移动设备应用如何使用Web Service访问远程数据

    在现代移动开发中,连接远程服务器获取和发送数据是常见需求,尤其是在Windows Mobile平台上的应用程序。本主题深入探讨了如何在Windows Mobile设备上构建应用,使其能够通过Web Service与远程数据源进行交互。这一...

    jQuery Mobile实例

    jQuery Mobile 是一个用于构建响应式、触控友好的移动 Web 应用的框架,它基于 jQuery 和 HTML5 技术,专为简化跨平台开发而设计。这个实例集将帮助我们深入理解如何利用 jQuery Mobile 的功能创建高效、美观的移动...

    AJAX常见面试问题

    在本文中,我们将详细讨论 AJAX 面试中常见的问题和解决方案。 1.Ajax 的基础知识 在工作中,我们经常需要和后台交互,这时我们需要使用 Ajax 将数据发送到服务器端。在使用 Ajax 时,我们需要了解其基本参数,...

Global site tag (gtag.js) - Google Analytics