.NET、JAVA和PHP在Web开发的优缺点
现在做Web开发,用哪个平台哪种语言其实本质上没有太大的区别,因为Web开发框架已经非常成熟,只要符合需求,能按时交付产品就ok了。
要选择哪个平台,是个商业问题,不是技术问题。
选择任何的语言最好深入进去了解其中的框架,不断进行高质量的代码优化才是最重要的。请记住代码的质量比其它一切一切都重要。
目前网站建设中的三大主流语言为Java、.NET(C#)、PHP。可以用一个通俗易懂的方式——超市来比较这三种语言的生态系统的差别。详见博客。
如果把Web开发比做开一家超市,网站的内容就是超市里面摆放的琳琅满目的商品,数据库就是这个超市的仓库,HTML5就是这个超市的货架,Web服务器就是用来让你去选择购物的一条条道路,而和你互动的JavaScript就是那些穿着卡哇伊短裙的促销小姐或者你们老公吴亦凡。
如果用PHP做超市开发,那么PHP在生活中就如同红旗连锁、舞东风(成都小店)或者你家楼下或者拐角任意的一家便利店。PHP开发有什么优点呢?快捷、高效,你不需要花很多的钱就可以开一家便利店,仅仅在开始阶段使用LAMP(linux+apache+mysql+php)就可以做网站开店运营。学习成本是最为低廉的,如同只要你有点小钱就能在老家开个便利店一样,任何一个有点基础的程序员都能够在一段时间学习之后就能使用LAMP找个笔记本或者五六年前的台式机去搭建个网站,所以相对沃尔玛那种大型超市或者万达广场,你身边的便利店是最多的一样,PHP开发的Web应用也是最多的。
那Java是什么呢?Java就是沃尔玛、家乐福、永辉那种大型卖场,Java有足够多的框架和开源项目让你解决目前你能够解决的一切卖场问题,一个仓库的东西不够,没关系我们采用分布式数据库来解决,一个收银台不够,没问题我们先采用多个Web服务器来增加收银台数量再采用负载均衡服务器把人流平均分到多个收银台中,这样人们就可以很快的付钱回家。如果采用刷支付宝或者微信支付,那服务器是不是要经常调用用户的信息?没问题,采用缓存服务器就行了,把用户的信息直接放到缓存的服务器中,这样每次就不用去数据库调用,数据库的负担就可以大大减少。如果你要问这些技术去哪里学,阿里巴巴已经把很多类似的技术开源了,去网上找呗。因此用Java进行web开发只有你想不到没有你做不到,想想天猫双十一那么大流量人家都搞定了,何况你现在遇到的这些毛毛雨。
最后到了我们.NET的Web开发,也就是ASP.NET,首先请各位同学记住ASP.NET和ASP是完全不同的东西。这里所说的都是ASP.NET,ASP.NET就是最上面所说的万达广场,只不过这个万达广场的老板不是王健林而是微软,微软已经把大厦建好(框架、技术搭建好),这时候你仅仅需要对你租的那个门店稍微装修一下,然后拎包入住就行了。只要你按时付房租,微软就会把你这个大爷伺候好,会给你提供各种羞羞服务(捂脸)。比如你彻底告别了命令行,包括数据库的等等操作都会有图形界面的软件来让你轻松操作,如果你技术够厉害,一个人就可以解决所以余下的问题,因此.NET技术大受各种外包公司或者技术相对较差的企业以及个人开发者欢迎。现在微软的云服务更是为你想的周到,让你从开一家便利店到开沃尔玛那种大卖场所需要的一切问题都给你解决,当然你只需要付钱。当然你也可以趁万达广场人流量多自己推个小车卖烤肠(使用盗版的服务器或者软件),但是微软会派会派保安在你把生意做大后来强行收费的,专门养大了宰是微软最擅长的。
Java
Java是由Sun公司推出的Java程序设计语言和Java平台的总称,是一种可以撰写跨平台应用软件的面向对象的程序设计语言。
Java的应用:网站建设在使用JSP开发时,以Java为基础的JSP网站建设编程语言广泛应用于很多网站,例如一些*机构的网站、大型平台、网络办公系统等。在企业级网页应用和移动端应用开发中占据主流。
Java Web开发的标配:HTML5+JavaScript+Java+Apache(或Nginx等其他)包括Tomcat+Mysql(或oracle或nosql)+Linux+…(无穷无尽的拓展)
优点分析:
1. 技术上没有上限和瓶颈,越往后积累越多,水平也越高。
2. 模块化开发(基于maven),不用担心以后的扩展,适合大项目开发。
3. 能应用于多平台,平台可移植性强。
4. 核心技术掌握在自己手里面,迁移其它语言很容易。
缺点分析:
1. 入门门槛高,要学很多开源框架再去学习搭建技术架构,学习周期长,开发较复杂。
2. 需要团队开发。
建议:参考成熟的开源项目,借鉴可利用的模块,寻找一个开源架构来做二次开发。
.NET(C#)
C#是由微软公司发布的一款面向对象的、运行于.Net平台中之上的高级程序设计语言,不但继承了C语言家族的贵族血脉(继承关系C->C++ ->C#),还具有开源和跨平台的优势。C#看起来与Java有着惊人的相似;它包括了诸如单一继承、界面、与Java几乎同样的语法,和编译成中间代码再运行的过程。
C#的应用:C#在网站建设中使得企业不必为了扩展程序终端,而必须去雇佣其他编程语言的开发者,大大降低了开发成本。
C# Web开发的标配:C#+SQLServer+IIS。
优点分析:
1. 由于微软把控件都封装好,只管用就行,上手容易,中文资料也很多。
2. 适合快速开发一个项目。
缺点分析:
1. 想深入学习原理困难,入门容易精通难。
2. 所有技术都是微软提供的,缺少核心技术积累,发展大了容易遇到瓶颈,需要等微软提供新技术支持。
PHP
PHP是一种通用开源脚本语言,开源免费、应用轻量、速度较快,语法混合了C、Java、Perl以及PHP自创的语法的特点,主要适用于Web开发领域。
php Web开发的标配:LAMP(linux+apache+mysql+php),完整说起来是HTML5+JavaScript+PHP7+Apache(或Nginx或其它)+MySQL+Linux。
优点分析:
1. 开发快捷、高效,相对容易。
2. 学习成本低,除了服务器外其他都免费。
缺点分析:
1. 后期延伸性相对差,因为Web开发的后期问题都集中在流量和数据库上面,虽然现在php7已经在优越性提高了很多,但是还是不能完全满足需要。
补充介绍:Python
Python是一种面向对象的解释型计算机程序设计语言,以语法简洁清晰,并有强大且丰富的类库而著称。Python是纯粹的*软件,源代码和解释器CPython遵循GPL(GNU General Public License)协议。Python被广泛应用于游戏开发、网站开发、科学运算、大数据分析、云计算等,图形开发等领域,这几年越来越受开发者欢迎,特别是在自动化运维方面,入门也很简单,但相对性能差些。感兴趣的可以去了解腾讯蓝鲸。
以上四种编程语言就是要与大家分享的主要内容,前三种是目前网站建设中常用到的三大主流语言,最后一种是近年来兴起的一种编程语言,企业在进行网站建设时可以根据自己的需求和相关的内容进行编程语言的选择。
[资料来源]