手机网站开发必修课[2009总结版]
作者:沉鱼 来源:taobaoUED 发布时间:2010-01-05 17:02:00
从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%及以下。而这个概率也仅仅只限于我们所测试过的机型,虽然我们采集的样本尽量覆盖各种特征的手机,但并不代表所有手机的情况。


猜你喜欢
- 2007年1月,国务院 * 了中央“一号文件”,文件中对加快农业信息化建设有了更明确的部署,为新农村建
- github源码地址:https://github.com/kuishou68/python各类图表的实现效果爬取的说说内容个性化说说内容词
- 1. torch.utils.data.Datasetdatasets这是一个pytorch定义的dataset的源码集合。下面是一个自定义
- 一、Request对象Request对象主要是用来请求数据,爬取一页的数据重新发送一个请求的时候调用,其源码类的位置如下图所示:这里给出其的
- MySQL的MyISAM、InnoDB引擎默认均使用B+树索引(查询时都显示为“BTREE”),本文讨论两个问题:为什么MySQL等主流数据
- 本文研究的主要是Python enumerate索引迭代的问题,具体介绍如下。索引迭代Python中,迭代永远是取出元素本身,而非元素的索引
- 废话不多说了,具体代码如下所示:function getIntAdd($a,$b){$c = '';$bCount = st
- 本文实例讲述了php tpl模板引擎定义与使用。分享给大家供大家参考,具体如下:tpl.php<?phpnamespace tpl;/
- 数据表中有一列数据,如图所示:现在需要将该列数据分成三列。SQL 代码如下所示:第一种select max(case when F1%3=1
- <?php/* Function Written by Nelson Neoh @3/2004. For th
- 首先我们一起来看下 Character entities references (HTML Entities)和 Numeric Chara
- Fuse.js是什么最近在项目里用到了Fuse.js做模糊查询,便对这个算法起了点好奇心,翻了翻源码。Fuse.js 是一个 JavaScr
- Python入门 本系列为Python学习相关笔记整理所得,IT人
- 可迭代对象和迭代器迭代(iterate)意味着重复,就像 for 循环迭代序列和字典那样,但实际上也可使用 for 循环迭代其他对象:实现了
- 使用django的小伙伴们应该都知道我们是无法开心的处理PUT跟DELETE的$.ajax({ url: 'XXX
- 本文为大家分享了python的concat等多种用法,供大家参考,具体内容如下1、numpy中的concatenate()函数:>&g
- Software as a service 软件即服务,21世纪开始兴起的一种完全创新的软件应用模式。客户通过互联网向厂商定购所需的应用软件
- []*int是一个指向指针的切片,本质上是切片,只不过切片里面存放的元素是指针;*[]int是一个指向切片的指针,本质上是指针,可以用*来获
- 这个是今年年初写的一篇,拿出来温习下。指针让程序结构变得混乱,也让程序执行效率提高,因此在oo的语言中不提倡指针的使用,使得程序结构清晰易读
- 经过上一章的内容,其实就页面层来说已结可以很轻松的实现功能了,但是很明显美观上还有很大的欠缺,现在有一些很好的前端css框架,如AmazeU