现在做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被广泛应用于游戏开发、网站开发、科学运算、大数据分析、云计算等,图形开发等领域,这几年越来越受开发者欢迎,特别是在自动化运维方面,入门也很简单,但相对性能差些。感兴趣的可以去了解腾讯蓝鲸。

以上四种编程语言就是要与大家分享的主要内容,前三种是目前网站建设中常用到的三大主流语言,最后一种是近年来兴起的一种编程语言,企业在进行网站建设时可以根据自己的需求和相关的内容进行编程语言的选择。

.NET、JAVA和PHP在Web开发的优缺点的更多相关文章

  1. J1001.Java原生桌面及Web开发浅谈

    自从Java问世以来,在服务端开发方面取得了巨大的发展.但是在桌面/Web开发方面,一直没有得到大的发展.从最初的AWT,到Swing,再到JavaFX,Java从来没有在桌面/Web解决方案中取得重 ...

  2. java web 开发入门

    Java web,是java技术用来解决web互联网领域的技术总和.Java web技术主要包括客户端和服务端,java在客户端的服务有java applet,不过用的非常少,大部分应用在服务端,比如 ...

  3. 为什么做java的web开发我们会使用struts2,springMVC和spring这样的框架?

    今年我一直在思考web开发里的前后端分离的问题,到了现在也颇有点心得了,随着这个问题的深入,再加以现在公司很多web项目的控制层的技术框架由struts2迁移到springMVC,我突然有了一个新的疑 ...

  4. java WEB开发入门

    WEB开发入门 1 进入web JAVASE:标准- standard   JAVA桌面程序 GUI    SOCKET JAVAEE:企业-浏览器控制  web 2 软件结构 C/S :client ...

  5. Java Web开发中MVC设计模式简介

    一.有关Java Web与MVC设计模式 学习过基本Java Web开发的人都已经了解了如何编写基本的Servlet,如何编写jsp及如何更新浏览器中显示的内容.但是我们之前自己编写的应用一般存在无条 ...

  6. 【转】 java web开发之安全事项

    从事java web开发也有几年了,可是开发中的安全问题却越来越不以为然.直到不久遇到一黑软,瞬间sql注入,少时攻破网站数据库.还好,我还没有用root级的用户连接数据库.不过也没有什么用了,因为我 ...

  7. 初学 Java Web 开发,请远离各种框架,从 Servlet 开发

    Web框架是开发者在使用某种语言编写Web应用服务端时关于架构的最佳实践.很多Web框架是从实际的Web项目抽取出来的,仅和Web的请求和响应处 理有关,形成一个基础,在开发别的应用项目的时候则可以从 ...

  8. 【原创】三分钟教你学会MVC框架——基于java web开发(2)

    没想到我的上一篇博客有这么多人看,还有几位看完之后给我留言加油,不胜感激,备受鼓励,啥都别说了,继续系列文章之第二篇.(如果没看过我第一篇博客的朋友,可以到我的主页上先浏览完再看这篇文章,以免上下文对 ...

  9. Java在Web开发语言上败给了PHP

    PHP的主要语言开发者之一.Zend公司的创始人之一Andi Gutmans最近在blog中直言不讳地批评了Java语言.他指出,目前Java厂商试图在JVM上提供动态语言实现的路子根本不对,Java ...

随机推荐

  1. Java异常处理——受控(checked)的异常(throws语句)

    受控与不受控的异常 1.throws语句中声明的异常称为受控(checked)的异常,通常直接派生自Exception类. 2.RuntimeException(其基类为Exception) 和Err ...

  2. flutter 入口文件配置路由+加载页面

    入口文件配置路由 1.路由信息 -- 加载页面 ,通常用于显示新的内容或者广告,加载完成之后进入主页面 -- 主页面 /app 2.配置页面  main.dart main.dart // main ...

  3. Day74

    Django框架之视图函数(day74)一 作业相关 urlpatterns = [   url(r'^$',views.book),  #根路径,响应到指定视图函数:   .....   url(r ...

  4. sql优化使用技巧

    1.LIMIT 语句分页查询是最常用的场景之一,但也通常也是最容易出问题的地方.比如对于下面简单的语句,一般 DBA 想到的办法是在 type, name, create_time 字段上加组合索引. ...

  5. eclipse 安装MyBatis插件 -- 官网直接拖动“安装”

    拖动“安装” http://marketplace.eclipse.org/marketplace-client-intro?mpc_install=2947754

  6. thinkphp5 部署注意事项

    配置tp5 需要修改设置 1. 通过yum安装的Apache,会默认安装在/etc/httpd因此配置文件也在相应的目录中 修改文件vim /etc/httpd/conf/httpd.confhttp ...

  7. sql 查询语句的练习

    --1.使用基本查询语句. --(1)查询DEPT表显示所有部门名称. select * from dept; --(2)查询EMP表显示所有雇员名及其全年收入(月收入=工资+补助),处理NULL行, ...

  8. 正式表达式判断私有 IP 地址

    正式表达式判断私有 IP 地址   ^1(((0|27)(.(([1-9]?|1[0-9])[0-9]|2([0-4][0-9]|5[0-5])))|(72.(1[6-9]|2[0-9]|3[01]) ...

  9. 学习使用github

    自己尝试了一下用git bash完成了第一次下载与上传,感觉git desktop应该是讲bash某些需要输入代码的工作图形化了,但是因为感觉用起来有些不知所措,所以反倒是用代码的gitbash比较方 ...

  10. node-服务器

    原生: const http=require('http'); http.createServer((request,response)=>{ response.writeHead(200,{& ...