“扣扣应用”开发手记

时下,国内各大互联网公司,都以各自不同的方式打着开放的牌,特别是在微博业务这块。4月初,看到一向比较保守的腾讯,也高调开放,就抱着玩的心态做了一个小微博应用,聊以打发工作之余的时间。

这个应用其实是一个结合腾讯微博开放平台API的应用导航和点评小网站。因为日常工作,很少做互联网上的应用,而且基本都是做一些后台代码的开发,这次做这么个小东西,竟然也遇到了不少的麻烦。现记录于此,以备日后查询。


一、域名交易

一个网站要发布出来,便于大家访问,首先要注册一个稍微好点的域名。而现在好点的.com域名几乎绝种了,.cn域名个人真是伤不起(此处略去300字)。于是很多人可能要选择从那些所谓的米农手里购买域名。我的这个QQApp.com就是从别人手里购买的。购买域名,不少卖家如果看你不太懂的话,都会告诉你在他域名挂靠的平台注册一个账号,你给他钱,他将域名push到你的账号下就可以。因为域名过户麻烦,还要邮寄资料之类的,如果你同意,他当然懒得麻烦,钱到手就ok了。而不过户只push,你只得到域名的使用权,没得到所有权。日后如果你要卖给别人的话,就会相当麻烦。甚至搞不好,人家可以申诉回去。

二、安全性的忽视很可怕

因为平时都做企业内部开发,很多安全性的问题,其实是可以通过管理屏蔽掉的,你知道公司网站哪里有个漏洞,也不敢瞎捣鼓。于是,在这方面,我一直比较忽视。虽然说没有绝对的安全,但是尽量减少一些漏洞,是做网站必须重视的。

在做这个应用时,我默认从腾讯微博API读取出来的微博内容text,就是不超过140个汉字的简单字符串,没做任何处理,直接就将其显示到页面上。而事实上腾讯微博API对写入数据是不做检查的,任何人都可以通过发微博的api,往里面注入脚本。而如果你的应用在显示数据时不做处理,又正好你的API提取到了那些其他人通过API注入的脚本,问题可能就会在你的网页上呈现。

三、最新版本的jQuery害得我折腾了半天

为了做这个应用,现学的jQuery,于是就下载了当时能下载的最新版本1.5.2。而这个版本在iframe里,在firefox下有个兼容性问题。当时发现在firefox有问题,我就一顿找自己代码的兼容性问题,看了一遍又一遍,折腾了大半天,几近崩溃。无奈之余,下载了一个1.4.4版本换上,问题解决了。

四、美工这块是硬伤

N年前,就觉得自己应该学学ps之类的工具的使用。但是每次学了一点,就静不下心来继续学。于是现在也只是三脚猫的功夫,只会修修补补一点,完全做一套风格的模板,着实无从下手。于是只得从网上找一些自己喜欢的风格的模板或者网站,将图片下载下来,再自己写css做上。也许这就是所谓的“山寨”。不得不佩服那些从DB做到UI,都轻车熟路的大牛们。

五、浏览器兼容问题

平时工作中开发企业内应用,我们甚至会很不厚道地建议用户使用IE的某个版本,在某个分辨率下来进行访问。这种做法,现在在N多政府部门的网站上还是能找到痕迹。但是作为开发一个个人网站,我们可能要尽量地去满足(或者说讨好)那些未知的用户。于是就导致了浏览器兼容问题的考虑。虽然IE10都要出来了,但是在N多地方,N多用户还在使用着IE6。为了这个问题,搞什么css hack之类的东西,真是一件令人头疼的事情。折腾了很久,我也基本只搞定IE7~IE9,chrome,firefox之下的兼容性问题,IE6只能不完全兼容,其他的各色浏览器,实在是懒得去测试了。

值得一提的是下面这种格式的链接,用jQuery后期绑定click事件,在IE6、IE7(IE8不太确定,好像也有)下的问题:

<a href="javascript:void(0);" id="a1">a1</a>
<a href="javascript:;" id="a2">a2</a>
如果不在click对应的function里最后加上“return false;”,会在执行完function代码再执行href里的内容,而在href里使用javascript:void(0);或javascript:;将使得执行function的那段代码失效。

这个问题也折腾我很长时间。

六、推广运营玩不转

对于像我这样的程序员来说,开发过程的乐趣可能是痛并快乐着的。虽然起早贪黑,但是很兴奋。当网站开发完,部署到服务器上后,一时有种不知所措的感觉。这是一个“酒香还怕巷子深”的年代,何况你的酒也许还不香。如何将自己开发的东西推广出去,并且运营好,是一个很陌生的话题。


posted @ 2011-05-06 08:05  木白  阅读(2862)  评论(21编辑  收藏  举报