一直在考虑假如让我开发网站我会选择什么语言? j2ee?.net?还是ruby,python,php? 现在每一种语言都是一套完整的体系和平台,有很多的支撑点(服务器软件,框架,开源API,官方API,文档),不可否认哪种语言用好了都会开发出完美的网站。因为上面这五种都是很适合网站开发的语言。
不过我还是想找出一个我心目中的选择。所以我先列了一个表,把几个比较知名的网站罗列了以下,看看人家都在用什么?不过后来发现也是百花齐放。
当当网 .net
赶集网 .net
卓越 java?
淘宝 java
MYSPACE .net
FACEBOOK php
豆瓣 python
Youtube python
Twitter ruby
javaeye ruby
据我所知,java和.net应该是迄今为止最为完善的两种企业级开发“平台”,它们包括了一整套可以解决问题的方案,而不仅仅是单纯的语言。如果采用它们来开发网站,那么上至页面展示,下至数据映射,乃至远程访问,集群等都有数种解决方案可以让人选择,尤其是java有无数的开源项目可以充当 demo.
从页面展示来说,java有JSF,Tapestry,Webwork,Struts等集大成的框架(包括页面组件,页面跳转,缓存,URL自定义等等),也有sitemesh,velocity等一系列模板框架;.net也有asp的组件库(跟tapestry类似)和template功能。应该说不相上下,但是易用性上.net 胜出,因为IDE集成了拖拽组件和对组件属性进行修改功能。只是.net世界少了些选择的乐趣。
从中间层来说,java有spring和EJB(session bean),这两种解决方案都是杀手级的,要效率有效率,要简单有简单,而且EJB的分布式解决方案几乎是perfect,真是大型应用的必要选择。众所周知EJB3.0之后的开发越来越轻松了。不过现在也冒出了spring.net,但是.net世界的分布式解决方案还没听到,也许WCF就是为了这一目的而产生的?总之感觉.net世界总是追着java的屁股走。今年是个关键时刻,看看oracle收购sun之后java是不是还能推陈出新,不断前进。
持久化层不用说了,hibernate,EJB(JPA)对Nhibernate,LinQ,个人感觉还是java纯正一些, Linq的语言写出来感觉怪怪的。
异步处理方面也是如此,java的解决方案要远远多于.net.
如果这个世界上只有java和.net两种开发语言,我会选择java。虽然.net有良好的开发工具(visual studio)可以显著加快页面的开发速度,但是要用.net作出一个典型的MVC应用你就会知道有多别扭了(不能成功的分层,代表不适合协作开发),而且用了.net就等于放弃了 unix/linux。另外java世界充斥着N多成功的开源项目,要开发任何东西都有前车之鉴。
问题在于并不是只有.net和java两种选择。事实上很多专家都在预测动态语言(ruby,python,php)将会超过静态语言(java , .net)的流行程度。这与动态语言开发的敏捷性是分不开的,选择动态语言开发网站会大大节省开发时间。我们肯定不应该忽略专家的意见,况且sun被收购,微软被google在互联网领域压得抬不起头来是客观事实。
三者选其一php会被我首先排除掉,当然可能是我的偏见。php分层,php面向对象都很弱,程序员用php开发本身就会降低程序员的竞争力。不过php发展多年,有很多的经验和成果可以借鉴,这是ruby和python所欠缺的。
ruby近几年的流行势头极其迅猛,这与它的杀手级框架ruby on rails是分不开的,据javaeye的创始人之一robbin宣称javaeye网站开发,三个人只用了2个月左右的时间,真是不得不惊叹,而且"截止目前,JavaEye网站仅仅使用了总价格2.6万人民币的两台低端PC服务器,就支撑了网站每天高达140多万动态请求的访问量"。不过ruby on rails开发起来真是一个人一个写法,非常不适合团队开发(或者说还没找到方法去团队协作)。而且ruby on rails大企业和开源的支持都比较少,这是不得不考虑的问题,背靠大树好乘凉,没有大树自然就晒得很疼。
说到最后只剩下一个python了,总得来说它没有那么多出人意料的亮点,但是它的开发速度也很快,曾经让两个高手做实验,两个人分别用ruby on rails和用python的django开发同一个东西,用django居然比ruby on rails还要快。python也足够面向对象,而且python有google的支持,发展时间也比ruby要长,因此积累的资源就要更加丰富。用django开发出来的东西可以足够规范,让每个人都能读懂其他人的代码,适合团队开发。说到这里我的选择就很清楚了,如果让我现在做一个网站,我会选择 python。
当然由于经历和积累的原因,我的见解可能是很片面的,有什么问题,大家可以帮我提出来,非常感谢。
分享到:
相关推荐
本项目提出的影院网站设计,采用了基础且广泛使用的HTML语言,并辅以Python编程语言,实现了影院网站的前端和后端开发。 HTML(超文本标记语言)是构建网页的骨架,它通过各种标签来定义网页的结构和内容,让浏览器...
【摘要】 本文主要探讨了购物网站的开发设计,特别是在毕业设计的背景下,...综上所述,本文通过对购物网站开发的深入研究,不仅提供了理论知识,还展示了实际操作过程,为从事相关领域工作的人士提供了有价值的参考。
综合以上内容,甘肃省红色旅游网站开发设计源码的结构和组成体现了现代化网站开发的多方面考量,不仅涵盖了前后端的开发技术,也体现了在用户体验、性能优化、内容管理以及自动化部署等多方面的努力。通过这样的综合...
项目采用Java作为核心开发语言,这不仅因为Java具有跨平台、面向对象、安全性高等特点,而且其成熟的生态系统和广泛的社区支持,使其成为构建大型企业级应用的首选语言。除了Java,项目还融合了JavaScript、CSS、...
【基于ASP.NET的房地产网站开发】是一个典型的Web应用程序项目,主要使用了Microsoft的.NET框架,具体为ASP.NET技术,这是用于构建动态网站、web应用和web服务的强大平台。在这个项目中,开发人员选择了Visual ...
安全性是社交网站开发中不可忽视的方面。网站应该实现安全的数据传输协议(如HTTPS),并采用加密技术保护用户密码和敏感信息,避免数据泄露风险。同时,要设计有效的数据备份和恢复策略,防止数据丢失。 用户体验...
了解ASP.NET在音乐网站开发中的应用,及其如何通过数据库和后端开发环境进行综合开发,从而构建一个功能完备、界面友好的音乐网站平台。本设计不仅适用于音乐网站,也为其他类型的网站提供了开发参考。 本项目的...
本文档为一份基于Java语言开发的购物网站设计源码。Java语言以其跨平台、面向对象、安全性高等特性,广泛应用于大型系统开发中,尤其适合需要高并发处理、事务管理和数据持久化的复杂应用场景。该购物网站项目充分...
标题中明确指出,这是一个基于Java语言开发的求职招聘网站项目,该项目采用了Java作为后端开发语言,并结合了Spring Boot框架以及Vue.js前端框架。这种技术栈的选择在现代Web开发中相当常见,尤其是对于需要快速开发...
首先,从技术角度来说,该相亲网站采用Java作为主要开发语言,Java是一种广泛应用于企业级开发的编程语言,以其跨平台、面向对象等特性著称。在开发相亲网站时,使用Java能够保证程序的稳定性和扩展性,同时也利于...
通过对"丽物论坛 lisvbbs"实例的学习,开发者可以深入理解ASP开发论坛的基本原理和实践技巧,同时也可以掌握到网站开发中的通用知识,如数据库设计、用户体验优化、安全性考量等。通过实际操作,可以提升自己的编程...
1.采用Java语言开发 2.支持Android 2.1版本以上 IIS站点需要添加HTML映射,操作步骤: 1.站点属性-》主目录-》配置-》映射-》添加 2.可执行文件与.aspx一致,扩展名.html,确认文件是否存在不选
此外,安全性是PHP开发的重要考量。TCMS可能包含了防止SQL注入、XSS攻击的安全措施。例如,使用预处理语句来防止SQL注入,对用户输入进行过滤和转义来防止跨站脚本攻击。 文件管理和上传也是PHP网站系统常见的功能...
音乐网站开发涉及多个方面,首先需要考虑的是用户体验,包括界面设计的美观度、操作的便捷性以及音乐播放的流畅性。音乐播放器的设计至关重要,需要有播放、暂停、前进、后退、随机播放、循环播放等功能,同时还要有...
4. B/S模式的应用:选择B/S模式(浏览器/服务器模式)进行视频网站系统开发是出于其高效性考量。该模式允许用户通过网络浏览器访问和使用网站,极大地提高了系统的灵活性和易用性。 5. Java语言在系统开发中的应用...
渐飞网站管理系统很可能采用了MVC(Model-View-Controller)模式,这是一种广泛用于Web开发的设计模式,它将业务逻辑、数据和用户界面分离,提高了代码的可读性和可维护性。C#与ASP.NET MVC框架的结合,使得开发者...
在网站开发中,“主干”通常包含了网站的主体结构和基础功能,但可能不包括特定环境下的配置文件、用户上传的内容等。这表明了“jk-global-website”项目可能是一个由团队合作开发的网站,使用了版本控制系统如Git,...
3. 技术架构和开发语言选择:该网站采用了SSM框架(Spring、SpringMVC、MyBatis),使用Java语言进行开发,并利用Mysql数据库存储数据。这些技术的选择保证了网站的跨平台性和大型商业网站的开发能力。 4. 网站功能...
在网站开发初期,选择合适的框架和编程语言至关重要。Django和Python是备受推崇的选择之一,尤其是对于那些希望构建稳定、安全且功能丰富的网站的开发者来说。Django框架提供了强大的ORM(对象关系映射)、模板系统...