导读:国内手机网站目前还算是个新鲜事物,相应的手机网站前端开发也并不是特别成熟,对于一个网页设计师来说要做一个手机网站还是会碰到许多问题,本文转载自淘宝 UED,分享如何开发进行手机网站的前端卡发。

从09年初接手淘宝手机网站前端开发的工作至今,转眼已是一年。一步步看着手机淘宝从最初的beta版本到今天的样子,感慨良多。

手机网站开发,有着许多不为人知的困难:

一是可参考的资料太少,大部分手机网站都处于起步阶段,很多的时候都是摸着石头过河,而鉴于淘宝自身的特殊性,也使得我们在参考成功案例之余,要做更多的思考;

二是兼容性工作异常艰辛,难度一点也不比web网站的兼容性工作来的低;

再 者作为一个手机网站的前端开发,也往往容易被人忽视(包括我们自己),大家也许会觉得做好一个手机网站能有多难,了解一点XHTML、一点CSS,甚至不 需要对JavaScript有什么研究,事实却不是如此,正因为手机网站的开发受到设备的太多限制,前端们常常为了节约几个字节而纠结万分,写出语义化良 好的代码也显得更加重要,而多版本的开发需求也对于JavaScript的优雅降级要求甚高,这样才能使得网站有分版本需求的时候可以公用同一套 XHTML代码,最大程度的降低开发成本。

对于手机网站来说,相信现在仅仅只是个开始,随着各种新机型的相继面世,这块领域必将成为兵家必争的新高地。

注意:由于手机网站发展迅速,请参阅者注意本篇文章的发布时间。

目录

  • 手机用户设备统计分析
  • 手机浏览器兼容性测试结果概要
  • 手机网站开发中你需要注意的问题
  • 推荐参考资料
  • 总结

手机用户设备统计分析

拥有全面的用户数据,无疑能帮助我们做出更符合用户需求的产品。内部数据能帮我们精确了解我们的目标用户群的特征;而外部数据能告诉我们大环境下的手机用户状况,并且能在内部数据不够充分的时候给予我们一些非常有用的信息。

从外部数据来看,09年10月到11月期间

国内浏览器品牌市场占有率前三甲为:

  • Nokia(78%)
  • Opera(OEM) (10%)
  • iPhone(Safari) (3%)

国内的手机操作系统前三甲为:

  • Nokia SymbianOS(80%)
  • iPhoneOS(6%)
  • SonyEricsson(5%)

当然,作为中国的手机网站开发者,不能忽视强大的山寨机市场(或者应该叫作做国货精品手机市场?)。顺便提一下,这类手机通常使用的是MTK操作系统。

(以上数据均来自statcounter.com

手机浏览器兼容性测试结果概要

注意:以下所说的“大多数”是指在我们测试过的机型中,发生此类状况的手机占比达50%及以上,“部分”为20%到50%;“少数”为20%及以下。而这个概率也仅仅只限于我们所测试过的机型,虽然我们采集的样本尽量覆盖各种特征的手机,但并不代表所有手机的情况。

XHTML部分

大多数手机不支持的:

  • 表单元素的“disable”属性

部分手机不支持的:

  • “button”标签
  • “input[type=file]“标签
  • “iframe”标签。

虽然只有部分手机不支持这几个标签,但因为这些标签在页面中往往具有非常重要的功能,所以属于高危标签,要谨慎使用。

少数手机不支持的:

  • “select”标签:该标签如果被赋予比较复杂的CSS属性,可能会导致显示不正常,比如”vertical-align:middle”。

CSS部分

大部分手机不支持的:

  • “font-family”属性:因为手机基本上只安装了宋体这一种中文字体;
  • “font-family:bold;”:对中文字符无效,但一般对英文字符是有效的;
  • “font-style: italic;”:同上;
  • “font-size”属性:比如12px的中文和14px的中文看起来一样大,当字符大小为18px的时候你也许能看出来一些区别;
  • “white-space/word-wrap”属性:无法设置强制换行,所以当你网页有很多中文的时候,需要特别关注不要让过多连写的英文字符撑开页面;
  • “background-position”属性:但背景图片的其他属性设定是支持的;
  • “position”属性;
  • “overflow”属性;
  • “display”属性;
  • “min-height”和”min-weidth”属性;

部分手机不支持的:

  • “height”属性:对”height”的支持不太好,奇怪的是在我们的测试当中,仅仅只有很少部分手机不支持”width”属性;
  • “pading”属性
  • “margin”属性:更高比例的手机不支持”margin”的负值。

少数手机不支持的:

  • 少数手机对CSS完全不支持;

JavaScript部分

这部分测试相对不那么让人抓狂,要么干脆不支持,如果支持的话,对基本的dom操作、事件等支持度都还不错。但我们没有测试过很复杂的脚本。

在我们测试过的手机当中,支持(包括不完全支持)JavaScript的手机比例大约在一半左右,当然,对于我们来说,最重要的不是这个比例,而是要如何做好JavaScript的优雅降级。

其他

  • 部分手机不支持png8和png24,所以尽量使用jpg和gif的图片
  • 另外对于平滑的渐变等精细的图片细节,部分手机的色彩支持度并不能达到要求,所以慎用有平滑渐变的bar设计
  • 部分手机对于超大图片,既不进行缩放,也不显示横下滚动条
  • 少数手机在打开超过20k的测试页面时,会显示内存不足

开发中你需要注意的问题

  • 手机网页编码需要遵循什么规范?
    遵循XHTML Mobile Profile规范(WAP-277-XHTMLMP-20011029-a.pdf), 简称为XHTML MP,也就是通常说的WAP2.0规范。 XHTMLMP是为不支持XHTML的全部特性且资源有限的客户端所设计的。它以XHTML Basic为基础,加入了一些来自XHTML 1.0的元素和属性。这些内容包括一些其他元素和对内部样式表的支持。和XHTML Basic相同,XHTML MP是严格的XHTML 1.0子集。
  • 网页文档推荐使用扩展名?
    推荐命名为xhtml,按WAP2.0的规范标准写成html/htm等也是可以的。但少数手机对html支持的不好。
  • 为什么现今大多数的网站一行字数上限为14个中文字符?
    由于手持设备的特殊性,其页面中实际文字大小未必是我们在CSS中设定的文字大小,尤其是在第三方浏览器中。例如Nokia5310,其内置浏览器 页面内文字大小与CSS设定相符,但是第三方浏览器OperaMini与UCWEB页面内文字大小却大于CSS设定。经测试,其文本大概在16px左右。 假如屏幕分辨率宽度为240px,去除外边距,那么其一行显示14个字以内,是比较保险(避免文本换行)的做法。
  • 使用WCSS还是CSS?
    WCSS (WAP Cascading Style Sheet 或称 WAP CSS)是移动版本的CSS样式表。它是CSS2的一个子集,去掉了一些不适于移动互联网特性的属性,并加入一些具有WAP特性的扩展(如-wap- input-format/-wap-input-required/display:-wap-marquee等)。 需要留意的是,这些特殊的属性扩展并不是很实用,所以在实际的项目开发当中,不推荐使用WCSS特有的属性。
  • 避免空值属性
    如果属性值为空,在web页面中是完全没有问题的,但是在大部分手机网页上会报错。
  • 网页大小限制
    建议低版本页面不超过15k,高版本页面不超过60k。
  • 用手机模拟器和第三方手机浏览器的在线模拟器来测试页面是不是靠谱?
    有条件的话,我们当然建议在手机实体上进行测试,因为目标客户群的手机设备总是在不断变化的,这些手机模拟器通常不能完全正确的模拟页面在手机上的显示情 况,比如图片色彩,页面大小限制等就很难再模拟器上测试出来。当然,一些第三方手机浏览器的在线模拟器还是可以进行测试的,第三方浏览器相对来说受手机设 备的影响较小。

推荐参考资料开发权威网站

  • WAPForum:XHTML Mobile Profile规范.pdf
  • WAPForum:WCSS规范.pdf
  • W3C:XHTML Basic 1.1规范.html
  • W3C:Mobile Web Test Suites Working Group.html
  • PPK:关于手机浏览器兼容性的测试和研究.html
  • Developershome:XHTML MP 教程.html汉化版

经典开发文章

  • Unknown:移动WAP相关标记语言的演进.jpg
  • Flora Graham:Alternative mobile browsers tested.html
  • Lucas Pettinati(Yahoo):Challenges of Interface Design for Mobile Devices.html
  • Holly Kolman:How to Make a Click to Call Link.html
  • Brian Suda:Introduction to the Mobile Web.html

手机型号查询

  • handsetdetection:手机查询.html 机型很全,偏国外机型,参数较多
  • mobile9:手机查询.html 机型较全,偏门机型可能无内容
  • 试手机网:手机查询+模拟.html 机型稍少,可以模拟手机操作

总结

目前来说,手机网站开发是个典型的设备驱动开发的过程,页面被设计成什么样,能做到怎么样,几乎全取决于目标客户的手机设备情况。

所以,对手机设备的了解,对于设计开发过程有着直观重要的作用,对于前端来说,就需要有计划的进行长期的手机浏览器兼容性测试,什么样的设计能被实现,什么样的标签可以使用,这些都需要有数据的支持。

我们必须有这样的认知,开发的手机网页总是会在或多或少的手机设备上出现问题,因为我们永远无法知道所有用户的手机设备情况,所以我们更要尽量的遵循标准进行开发,这样才能将满足用户的比例做到最好。

任何一个领域都有值得你进行深入了解的地方,即使现在看起来,手机网站的开发还有点不入主流,但我相信,随着手机设备的更新换代,总有一天它也会成为我们占领客户的一个重要战场,iphone这类有符合web标准的浏览器的手机发布,也给了我们更多的信心。

总之,革命尚未成功,同志仍需努力

转载于:https://www.cnblogs.com/zimin1985/p/3362325.html

手机网站前端开发经验总结相关推荐

  1. (转)手机网站前端开发经验总结

    导读:国内手机网站目前还算是个新鲜事物,相应的手机网站前端开发也并不是特别成熟,对于一个网页设计师来说要做一个手机网站还是会碰到许多问题,本文转载自淘宝 UED,分享如何开发进行手机网站的前端卡发. ...

  2. 手机wap前端开发经验

    对于我们前端来讲,wap2.0开发无疑是对我们的一个考验,这个考验主要是考验我们对于重构方面的功底.下面主要分 UI.HTML.CSS.Javascript三方面给大家分享在wap2.0开发中的一些个 ...

  3. 移动平台3G手机网站前端开发布局技巧汇总

    您或许正在或准备参与一个WepApp项目,您或许正在Google搜索mobile development相关的文章,您或许是一名专业的WEB前端工程师,您或许想学习Mobile前端开发方面的技术,如果 ...

  4. 面向手机网站的前端开发

    从09年初接手淘宝手机网站前端开发的工作至今,转眼已是一年.一步步看着手机淘宝从最初的beta版本到今天的样子,感慨良多. 手机网站开发,有着许多不为人知的困难: 一是可参考的资料太少,大部分手机网站 ...

  5. 手机网站开发必修课[3]:前端开发总结

    手机网站开发,有着许多不为人知的困难: 一是可参考的资料太少,大部分手机网站都处于起步阶段,很多的时候都是摸着石头过河,而鉴于淘宝自身的特殊性,也使得我们在参考成功案例之余,要做更多的思考: 二是兼容 ...

  6. 【精品资源】干货分享:20款精美的手机网站模板下载

    移动互联网在过去一年呈现爆发性增长,掀起移动互联网应用的热潮.众多互联网公司都争相推出手机应用和手机网站,想在移动大蛋糕中分一杯羹.这篇文章向大家分享20款精美的手机网站模板. 您可能感兴趣的相关文章 ...

  7. 手机端适应_手机网站开发制作和电脑pc端有哪些区别

    现在移动互联网的发展,现在很多企业做网站开发不仅是电脑端的网站,还包括了移动端网站的开发,移动端网站开发和pc端是有一定的区别,比如移动端的页面更小,移动端的打开和加载速度都远低于电脑端访问网站,其实 ...

  8. 基于React的PC网站前端架构分析

    代码地址如下: http://www.demodashi.com/demo/12252.html 本文适合对象 有过一定开发经验的初级前端工程师: 有过完整项目的开发经验,不论大小: 对node有所了 ...

  9. 推荐几个手机网站在线预览测试工具

    随着移动互联网的爆发,移动端的布局成了大多数企业的刚需,而手机网站也慢慢成为一个营销企业的标配,包括百度.当当网在内的很多网站,移动端流量已经超过PC端流量,越来越的企业都在建立和完善自己的手机网站, ...

  10. 网站前端开发基础知识学什么?必备技能

    网站前端开发基础知识学什么?Web前端开发网页制主要由HTML.CSS.JavaScript三大要素组成.随着企业需求变,前端开发技术的三要素也演变成现今的HTML5.CSS3.jQuery.响应式布 ...

最新文章

  1. 哈工大导师禁止实验室硕士出去实习,称「实习就像和35岁渣男试婚」,你怎么看?...
  2. 皮一皮:这个TONY有点厉害!
  3. BrowserLog——使用Chrome控制台作为Log查看器
  4. 几款***常用小工具的使用说明
  5. java并发数据共享机制_Java并发编程:核心理论之数据共享性
  6. matlab对经济指标分析,经济背景下的数据预测分析--基于matlab建模(郑铿城)
  7. 七台河计算机网络工程专业,网络工程本科专业介绍
  8. 思维导图 源码 php,使用思维导图,优雅的完成自己的代码
  9. 额的神啊~~可爱的Visual Studio把项目模板扔了
  10. azure上传代码_深入了解Azure Data Studio:更多代码和更少GUI
  11. OFBiz + Opentaps 目录管理 四. 产品(四)礼券
  12. (转)先锋伯格:选择一条少有人走的路,所有的不同由此开始
  13. 40套各种风格住宿酒店行业网站html5模板大气商务酒店网站模板度假村酒店官方网站模板旅行酒店宾馆整站模板html5网页静态模板Bootstrap扁平化网站源码css3手机seo自适响应
  14. Myeclipse2017破解:成功解决me Trial expired 0 days ago mgeclipse It's now time to buy the best IDE for yo
  15. H5网页播放器EasyPlayer如何实现iOS端H.265视频全屏播放效果?
  16. 【软件工程大作业】软件项目管理之成本管理
  17. Linux音频系统编程之芯片平台适配功放Codec Driver解读
  18. IoT通讯技术选型及模型设计的思考
  19. Atrainable feature extractor for handwritten digit recognition(经典文章阅读)
  20. scrollTo,scrollBy,smoothScrollBy,smoothScrollTo

热门文章

  1. 互联网寒冬,腾讯人均发放巨额奖励,更是在号召「共同富裕」
  2. 神经网络十大学习率衰减提效策略!
  3. 【收藏】图解最常用的10个机器学习算法!
  4. 【面经】NLP算法-字节跳动
  5. pytorch_LSTM预测股票行情
  6. 每日算法系列【LeetCode 42】接雨水
  7. nlp基础—7.隐马尔可夫模型(HMM算法)
  8. 机器学习—线性回归推广及案例
  9. Java网络编程之服务端中的Socket
  10. 白板推导系列Pytorch-朴素贝叶斯