口号是PHP是世界上最好的开发语言,没有之一 – 被人打怕了,先举白旗。 很多人说网络是个聚宝盆,但是作为身处其核心的技术人员,一直是过宝山空手而回,所以想改变下自己,所以才有了这种制作网站的经历和实践。
PS:没有任何对于phper不尊敬的意思,而且我也认为不实践就没有发言权,所以我实践了。 这次实践的网站: http://www.dupan321.com
为什么会使用PHP
最近在考虑自己的职业生涯的问题,发觉自己在开发设计上面积累了蛮多的经验,对于网络,计算机原理之类的理解都还蛮多,但是一旦涉及到运营,推广这些,基本都是抓瞎,所以想试试,同时算是扩展自己的视野以及为未来某些摸索找找方向。
支出选择
我是一个纯粹的Javaer,所以做事情首选JAVA,然而用Java做一个展示型的网站几乎就是一个致命的BUG。
首先是服务器租用,搭建网站这种事情,最好是7*24可以support的,所以一个能公开访问的服务器就是重中之重了。按照以前工作的思路,租一个linux服务器,然后安装JDK,nginx,mysql,tomcat,然后配置部署,调试,然后再申请域名,绑定。。。我确实做了一遍,随便买了个一个月一百多的服务器,但是再加上偶尔还需要重启服务器,更新程序等等等等,让我直接放弃了。
所以转而投诚到PHP,中间也尝试过购买别人的JSP空间,省掉一些操作,但是经常会需要重启而掉链子(估计是跟别人公用tomcat导致),所以最后选择一个php的空间,空间加数据库打包在一起一年也才几百块,于是乎痛痛快快的买下来,然后准备PHP程序。
程序选择
最开始选择Java的时候不外乎是觉着Java里面存在大量的中间件,以及各种解决方案可以帮助自己省去很多操作,但是最后看来,对于一个普通的网站而言,Java提供的种种功能,基本上都成了屠龙之技,炫酷,而缺乏发挥的余地。
同时JAVA程序往往都使用各种中间件,每次生成的部署包动辄几十M甚至上百M,对于需要更大的灵活性的随时更改的展示型的网站,明显不足以胜任。
然后是网络上共享的成品或者半成品程序的选择(我们开发一个网站,当然不能是从头开始写了,所以我的选择是选择一个简单的小框架的网站,然后进行修改丰富以便完成自己的需要。)
Java的世界里面有很多的中间件,当然存在这些中间的原因基本上都是跟Java里面的各种规范各种标准一一对应的,使用这些中间件,等于自己符合了标准,符合了标准,则标准能提供给你的各种好处自然就会显现出来,比如webservice的wsdl,比如JPA的transaction,cache等,标准的定义顺便带来的是编程的规范化以及部署和使用的各种便利。
然而,Java世界里面对于各种成品产品的定义相对就少了很多,而且,鉴于研究java的基本上都是热爱Java文化的大牛,所以Java的中间件要比PHP的多的多,当然也成熟的多。同时,成熟或者可以发布的产品就相比较而言少了很多。在这个市场上,PHP大放异彩。在网上,各种类型的PHP成品网站比比皆是。
一个小小的结论
到目前为止,看起来Java貌似被打击的毫无生气可言,但是,需要注意一下的是,这里面提到的是展示类型的网站,而不是一个复杂的系统。
刚好在我自己弄这套系统的同时,我也在负责几套系统的设计(朋友的跟工作的),这些系统基本都是一些ERP或者电商或者综合类的应用,所以需要更大的技术纵深,比如需要更加简单的任务控制和调度,更简单的分布式的事务控制,更方便的跨应用的调用和管理等等,这时候本来我想把一部分东西用PHP来做一下,但是均衡之下还是选择了Java,究其原因,是因为Java的框架技术,已经为上述的各种情况提供了各类设定好的协议和标准,使用这一类的协议和标准,让系统设计的视角变的更加清晰,而且项目更加的易于实践,当然带来的就是大型项目的成功。
所以基本结论就是PHP在应付需要快速变化以及业务纵深较浅的应用的时候真的是一个非常棒的选择,我已经选择了,并且看起来应该会一直沿用下去。
而Java在针对大型复杂项目的时候则具备得天独厚的优势。
几个小点
资源的静态化
PHP对于资源的静态化提供了方便的OB函数,只要简单的调用OB函数自然让用户的请求帮助自己生成静态网页,效率和程序复杂度很低。
相比较Java,则需要动用filter之类的类完成类似的操作,复杂度较高
文件上传
PHP的文件上传,对于路径的控制和上传都比较简单。很容易控制和理解,而且完全可以将上传的文件放置到项目下而不会出现问题。
文件上传对于Java而言。。。那就是一个复杂的话题了,呵呵。