做一个有前瞻性的网站
2012-08-27 09:56:09 来源:Chinaz 评论:0 点击:
技术总是在不停地发展,理论也在不停地发展,时装可能会复古,但技术不会。如果你现在正准备做一个全新的网站,或者你现在准备改造一个旧网站,那么有些是你应该要注意的。我接下来要说的,不一定是多么新的东西,但确实很多网站在开发的时候没有注意到。
基于RESTAPI
Amazon是一家很有前瞻性的公司,遗憾的是我们只知道它是一家卖书的公司,但实际上它是三大云服务提供商之一,其它两家是Google和微软,但Amazon显然不是排第三名。Amazon在很早前就提出产品全部API化,即使是自己内部的产品,也只能通过API调用。
就算你的网站不准备提供公开的API服务,也应该基于API开发,你可以不提供这个服务,但你应该有。没准哪一天你的老板突然要求说,我们和XX公司要合作,怎么把数据提供给他们,难道你告诉老板说我们要再准备半年么?有家公司准备找我做一个iOS上的项目,我告诉他们要提供API,然后他们已经折腾一年,还是没有把API提供出来,MyGod!
REST可以让API更加简洁,起码我是这样理解的,我们把服务器上所有的内容都抽象成为一个个资源,然后提供增删改查就可以了,好像初级程序员必学就是这四个了。但事实也不是太容易,技术并不仅仅是写代码,更难的是设计,REST就是设计的范畴。
三屏兼容
你的网站不仅仅只能在PC上访问,还需要在手机和Pad上访问。你可能会叫救命,当当是PC上的浏览器兼容就已经让人头大了,还要兼容Pad和手机,天啦。没有办法,谁让移动用户越来越多了,最起码要兼容Pad的用户。要做到这些其实真的不难,如果你的网站能做到API化和数据分离,三屏兼容的工作量没有你想象中的大。
对于一些古老的浏览器和设备,向它们说拜拜吧,记住,不要试图讨好所有的用户,搞清楚自己的目标用户都在用什么浏览器很重要。对于像IE6的用户,可以提供给他们一个简版的网站,然后提醒他们升级。如果你的用户以IE6的用户居多,那你还升级什么网站呢,估计不是做新闻就是采集下载站,让他们看广告吧。
数据与实现分离
这点很重要,因为我讲的很多地方都依赖于数据与实现分离,这不是什么新理论了吧,但遗憾的是大家都喜欢把数据和实现纠缠到一起。社交化时代搜索引擎现在真心不那么重要了,很多网站最大的访问来源已经不在搜索引擎,而是社交网了。果断全站采用AJAX吧,好处太多坏处太少。如果你网站还在过于依赖于搜索引擎,那么你应该反思一下了。另外,你也可以针对搜索引擎和用户提供不同的页面,Google现在已经可以索引AJAX的页面了吧。
国际化
就算你的网站只面向中文用户,也应该实现网站的国际化,指不定哪天你的老板说我们要面向全球用户呢,也可能哪天你的网站墙内开花墙外香呢。对于那些采用GB2312编码的网站我是深恶痛绝的,做技术的要有一些前瞻性眼光。当然国际化不仅仅语言的问题,但你语言的问题都没搞好,谈什么国际化。
支持OAuth和OpenID
多数情况下,你的网站应该可以通过第三方帐号登陆,比如说QQ、人人网、Google、Twitter等等帐号登陆,既然可以利用他们海量的用户资源,为什么不用呢。我实在不明白某些网站提供的服务很一般,要求你注册填一大堆的资料,恨不得刨你家的祖坟,这是不对的。还有一些网站,也不是什么重要的服务,非得要用户提供极高复杂度的密码,这也是不好的。
支持社会化分享和RSS输出
用户在你的网站上应该很容易分享到Facebook、Twitter、腾讯微博、新浪微博等等社交化的网站,并且你应该鼓励用户多多分享,熟人之间的传播信任度会比搜索引擎高。支持RSS输出,这和你网站的类型有关,如果你是一个全封闭的网站,那么略过这条吧。
注重移动设备
如果现在你还在忽视移动设备,那还是洗洗睡吧,你的网站除了要提供可以在移动设备上访问之外。还应该提供相关的App,毕竟用户还是不习惯打开浏览器输入你的网址,占据用户桌面还是没有过时。
基本上你只需要搞定iOS/Android/WindowsPhone就可以了,对于什么S60之类的,放弃它们吧,诺基亚都放弃了,你还有什么理由不放弃呢?
结语
不要担心工作量的问题,你这样做只会越来越简单,未来要升级变化也很容易,凡事先难必后易,反之亦然,能量守恒定律在此处也效。如果你的网站架构设计得好的话,兼容的工作量也会减少。
如果你还在不停修改网站的深渊里煎熬,马上彻底重构,如果旧的项目无法修改,那么就放弃它,修改的成本有时候会大于重建的成本。有些项目可能牵扯太多,无法一下子替换,那就一步步换,总是要死的,无非时间问题,别让团队陷入到改Bug的泥沼中去。
国内技术通常要比国外技术落后,我讲的这些并不是什么先进的技术,但我拍脑袋认为,国内绝大多数网站没有做到2点以上。
基于RESTAPI
Amazon是一家很有前瞻性的公司,遗憾的是我们只知道它是一家卖书的公司,但实际上它是三大云服务提供商之一,其它两家是Google和微软,但Amazon显然不是排第三名。Amazon在很早前就提出产品全部API化,即使是自己内部的产品,也只能通过API调用。
就算你的网站不准备提供公开的API服务,也应该基于API开发,你可以不提供这个服务,但你应该有。没准哪一天你的老板突然要求说,我们和XX公司要合作,怎么把数据提供给他们,难道你告诉老板说我们要再准备半年么?有家公司准备找我做一个iOS上的项目,我告诉他们要提供API,然后他们已经折腾一年,还是没有把API提供出来,MyGod!
REST可以让API更加简洁,起码我是这样理解的,我们把服务器上所有的内容都抽象成为一个个资源,然后提供增删改查就可以了,好像初级程序员必学就是这四个了。但事实也不是太容易,技术并不仅仅是写代码,更难的是设计,REST就是设计的范畴。
三屏兼容
你的网站不仅仅只能在PC上访问,还需要在手机和Pad上访问。你可能会叫救命,当当是PC上的浏览器兼容就已经让人头大了,还要兼容Pad和手机,天啦。没有办法,谁让移动用户越来越多了,最起码要兼容Pad的用户。要做到这些其实真的不难,如果你的网站能做到API化和数据分离,三屏兼容的工作量没有你想象中的大。
对于一些古老的浏览器和设备,向它们说拜拜吧,记住,不要试图讨好所有的用户,搞清楚自己的目标用户都在用什么浏览器很重要。对于像IE6的用户,可以提供给他们一个简版的网站,然后提醒他们升级。如果你的用户以IE6的用户居多,那你还升级什么网站呢,估计不是做新闻就是采集下载站,让他们看广告吧。
数据与实现分离
这点很重要,因为我讲的很多地方都依赖于数据与实现分离,这不是什么新理论了吧,但遗憾的是大家都喜欢把数据和实现纠缠到一起。社交化时代搜索引擎现在真心不那么重要了,很多网站最大的访问来源已经不在搜索引擎,而是社交网了。果断全站采用AJAX吧,好处太多坏处太少。如果你网站还在过于依赖于搜索引擎,那么你应该反思一下了。另外,你也可以针对搜索引擎和用户提供不同的页面,Google现在已经可以索引AJAX的页面了吧。
国际化
就算你的网站只面向中文用户,也应该实现网站的国际化,指不定哪天你的老板说我们要面向全球用户呢,也可能哪天你的网站墙内开花墙外香呢。对于那些采用GB2312编码的网站我是深恶痛绝的,做技术的要有一些前瞻性眼光。当然国际化不仅仅语言的问题,但你语言的问题都没搞好,谈什么国际化。
支持OAuth和OpenID
多数情况下,你的网站应该可以通过第三方帐号登陆,比如说QQ、人人网、Google、Twitter等等帐号登陆,既然可以利用他们海量的用户资源,为什么不用呢。我实在不明白某些网站提供的服务很一般,要求你注册填一大堆的资料,恨不得刨你家的祖坟,这是不对的。还有一些网站,也不是什么重要的服务,非得要用户提供极高复杂度的密码,这也是不好的。
支持社会化分享和RSS输出
用户在你的网站上应该很容易分享到Facebook、Twitter、腾讯微博、新浪微博等等社交化的网站,并且你应该鼓励用户多多分享,熟人之间的传播信任度会比搜索引擎高。支持RSS输出,这和你网站的类型有关,如果你是一个全封闭的网站,那么略过这条吧。
注重移动设备
如果现在你还在忽视移动设备,那还是洗洗睡吧,你的网站除了要提供可以在移动设备上访问之外。还应该提供相关的App,毕竟用户还是不习惯打开浏览器输入你的网址,占据用户桌面还是没有过时。
基本上你只需要搞定iOS/Android/WindowsPhone就可以了,对于什么S60之类的,放弃它们吧,诺基亚都放弃了,你还有什么理由不放弃呢?
结语
不要担心工作量的问题,你这样做只会越来越简单,未来要升级变化也很容易,凡事先难必后易,反之亦然,能量守恒定律在此处也效。如果你的网站架构设计得好的话,兼容的工作量也会减少。
如果你还在不停修改网站的深渊里煎熬,马上彻底重构,如果旧的项目无法修改,那么就放弃它,修改的成本有时候会大于重建的成本。有些项目可能牵扯太多,无法一下子替换,那就一步步换,总是要死的,无非时间问题,别让团队陷入到改Bug的泥沼中去。
国内技术通常要比国外技术落后,我讲的这些并不是什么先进的技术,但我拍脑袋认为,国内绝大多数网站没有做到2点以上。
上一篇:微信营销的六大利器
下一篇:价格战背后的苏宁:张近东目标销售额1万亿
分享到:
收藏