独自一人花费了将近三个月的时间来作一个音乐网站(http://www.likenote.com ), 这对任何一个有过几年Web开发经验的人来讲都不是件什么太难的事。虽然我也作了 4 年J2EE开发,但仍是头一次使用全新技术来制做一个网站,这其中的辛苦却有点出乎个人意料以外。我大部分编程经验在 Windows 平台上,而这以前通过一番考察肯定的技术方案,从操做系统,数据库,Web 服务器,到后台技术都是我不熟悉的。html
只装过几回 Redhat Linux 我忽然要去管理一个 Unix 服务器,还要做性能优化,编译内核,学习防火墙技术。
只使用过 Windows 版本的 Mysql 的我要去管理一个从未使用过的开源数据库。
只装过 Windows 版本的 Apache 的我要去配置一个彻底陌生的 Web 服务器。
只撰写过一篇 Ruby on rails 文章的我(RoR 的经验仅仅限于那篇 Oreily 的教程),要使用它去开发一个完整网站。前端
虽然这并不是很困难的事情,可是须要的是时间,我定下的开发时间是两个月,结果超出了一个月,实际花费在 ROR 开发上的时间只有3个多星期(RoR 的开发效率可见一斑),大部分时间在学习,学习上述的各类知识,它们对我来讲都是陌生的,其中花费在学习服务器管理的时间就有一个多月,Rails 的学习花费了半个月(固然是读那本 Rails Book, 还有 Rails Recipes),还有 web 服务器和数据库也花费了一点时间。虽然网站的雏形已经出来,并且已经上线,可是我感受真正的工做才开始。这将近三个月的学习和开发,本身总结了一些经验, 对于那些打算独自开发 Web 项目的人可能有些借鉴做用。java
1:首先也是最重要的一点:
作一件事情的热情远比完成它所须要的技术更加剧要。
若是没有热情,就算是碰到一点小困难,你也会放弃,相反,就算是再大的困难你也能克服。程序员
2:尽可能不要到国内的任何技术论坛去提问,这既浪费本身的时间,也浪费别人的。
由于一般简单的问题搜索网络就能找到,反倒会招来嘲笑;复杂的问题也不会有人给你解决,一般论坛上也可能解决不了。最好的方式是本身从 Google 上搜索。(这是经验谈)web
3:CSDN 上的这篇文章很是好,虽然是转载自国外的。
http://java.csdn.net/n/20060710/92484.htmlsql
其中我对第 6,11,15 条的感触最深。引用以下数据库
注解:编程
国内程序员之间喜欢谈论技术的人多,真正闷头作事的人太少;各类论坛上相互争吵,辩论的多,写代码的人少。我也曾经是这样的人,不少东西都是停留在 想法上,开始对 RoR 的顾虑也不少,性能啊,扩展啊。在网上搜索到不少这样的辩论,曾经动摇过我使用 ROR 的决心, 可是最终开发效率这一点最终占了上风。 其实仔细想一想,你若是不喜欢一个东西,会找出有不少缘由,若是喜欢它,一条理由就足够了。边学习边作的确是个好的方式,应该算是 Agile 的工做方式吧。那些考察讨论再三再开始作事的方式道象是 RUP 了。浏览器
这两条的理念是相同的,因此放在一块儿注解
注解:
这点的确很重要,我在开来始作网站的时候,界面设计选用了很复杂的页面模板,想到各 种花哨的技术来堆砌它。后来以为人家来你网站无非是推荐音乐,听音乐,评论,搜索,真正常常操做的就是这么一些简单功能,鼓捣花哨概念和技术的想法可能从 最开始就是在远离你的用户。这的确是应该尽可能避免的,若是不是读到这条,我可能也不会中途改版。性能优化
3:Ajax 看上去很美,可是它应该限制在某些特定功能的网站上(好比 Gmail, Google Map),整个网站采用它应该是不合适的。并且浏览器之间兼容的问题的确仍是存在的。RoR 提供了很是简单的 Ajax 使用方式,有时候你会忍不住去采用它(Rails Recipes 这本书上充满了各类“奇技淫巧”),可是在作以前千万要考虑一下,这样作是否会给你的页面带来复杂性和服务器性能上的问题。在开发这个网站的开始,我也试 验了不少 RoR 的Ajax 技术,可是后来都取消了,只保留了一个最简单的首页“最新留言”的动态显示功能。由于这个功能的确颇有用。我将网站定位为一个多媒体的应用,因此采用 Flash RIA 来制做前端可能会更好, 整个网站采用 Flash 作前台比整个网站采用 Ajax 作前台更合理。缘由以下:
1:Flash 比 Ajax 更成熟
2:Flash 有组件
4:若是你一我的制做整个网站,那么采用 RoR 是很是好的选择,缘由固然是开发效率。整个网站从最开始有想法,到最终完成花费了三个月,其中学习时间占据了大部分,那么几个星期的开发时间就至关紧张 了,若是采用 Java 可能根本没法想象。 其实搭建这么个音乐网站的想法,早在2001年就有了,我前后在论坛上推荐了四年的音乐,两年在博客上写音乐推荐。这期间我不是没有本身开发一个网站的想 法,可是用 Java 实现起来太麻烦,我不少想法只是停留在脑海中,大部分时间用在考虑实现了,再加上我是个极为懒惰之人,看到那么麻烦的事情就不作了,直到 RoR 的出现,才使得这个网站得以完成。RoR 的好处在于:若是你有什么想法,你老是能很快的实现,只要你掌握了基本的技术,你就能够发挥你的想象来建设你的网站。 首页上泡泡框显示访客留言摘要的功能是我在一天早上5点醒来的时候想到的,爬起来用了两个小时就完成了它,不少人反映这个东西很好玩。
5:Web 2.0 的网站如今实在是太多,已经把整个市场搞坏了,前几天一个之前公司的朋友和几我的一块儿开了个公司,也是作 web 2.0 网站的,兴高采烈地把刚刚上线的网站地址给我,我一看,又是这种似曾相识的模板,似曾相识的应用。这种 Web2.0 站点的趋势就是:早期的ewb2.0国内站点抄袭国外的知名站点,后来的新进者抄袭国内已经成名的web2.0站点。若是这样的网站也有人投资那才叫怪 了。 原本我也有开发网站寻找投资的想法,可是实在是想不出什么赢利模式,我也作不来这些写计划书的事情,仍是本身凭兴趣作的好玩。朋友都说个人网站页面不适合 商业站点,让我赶忙换了,我内心很清楚什么是他们说的商业页面模板,可是他们都说好,可我偏不喜欢。无法,仍是按照个人想法来改造它吧。只要本身上班找个 工做养活这个网站,或者更好的状况是,它能本身维持本身,这我就心满意足了。
6:如今的 RoR 实在是太火了,大有你们同上一条船的架式,搞 RoR 的人以它为荣,以搞 Java 为耻,估计也能写出个八荣八耻。可是它只是一种技术,众多后台技术中的一种,网站的访问者并不会由于你使用了 RoR 就给你掏钱,甚至是留下个好印象。网站的内容是主要的,掌握了它并不意为着能制做一个好网站。常言说:拥有榔头并不意为着你就是个建筑师 ,也不能让满地都是钉子。要么你去给人敲钉子为生,或者指导别人如何敲钉子,再或者找到一个好木场本身建个房子。“去 RoR 化”多是我要作的下一个工做,把前台用 Flash 重建,采用 RoR 的 builder view 技术来传递信息。我我的感受这个音乐网站有个好的想法,无论它是否能挣钱。首先是音乐推荐的确能给人带来快乐,作这样的网站才有趣。技术应该是实现你想法 的工具,若是网站成为技术的试验品,对我来讲就没有什么意思了。