开发大型web应用,你会选择什么作为后端语言?

本文是转载,原文地址:http://www.iteye.com/news/25729

近日,Hacker News中有一个问题引起了广泛的讨论:如果要开发一个大型的web应用程序,你会选择什么编程语言来进行后端开发,要考虑到开发时间、成本和可维护性。 

以下是部分回复: 

1.  Java 

hendzen 写道
对于一个“大型”的web应用,我会老老实实地使用Java,并会选择Jetty作为HTTP服务器,Jersey/JAX-RS作为web框架。JVM是无与伦比的,并且新员工入职培训也相对轻松得多,因为大部分人都了解Java。 

尽管不像Rails/Django那么时髦,但是你将得益于众多高性能、可靠的Java库,更不用说那些伟大的分析工具。

meddlepal 写道
我同意,我会选择Java来开发核心功能,对于一些非核心功能,我可能会选择Groovy或JRuby。 

Jersey/JAX-RS非常不错,但我感觉有些风险,我更倾向于Play2。 

Java/JVM生态系统中有很多非常积极的东西,如伟大的虚拟机、库、庞大的社区以及大量的开发者。这是开发一个大型web应用真正要考虑的。

2.  .NET  

Avalaxy  写道
比起Java平台,我更倾向于ASP.NET MVC(比如C#)。.NET栈是非常强大的,我个人认为比Java强得多,并且ASP.NET MVC框架包含了大量RoR中的优秀特性。

ralphael  写道
我投.NET、MVC和SQL Server一票。 

这个平台上拥有大量的示例程序,况且stackoverflow.com就是基于.NET的。

spobo  写道
.NET绝对不是一个坏的选择。 

过去几年,微软已经真正到达了顶峰,它们最新的框架非常易于开发者掌握和使用,微软同时也开始基于.NET来推动其开源项目,比如codeplex和NuGet,微软同时还是jQuery的核心贡献者。微软最近还发布了WebAPI,为开发者创建REST-ful JSON/XML应用提供了一个相当平缓的方式。

3.  PHP  

interwho  写道
对我个人而言,我会选择PHP: 

  • 更快地解决事情;
  • 网上有大量的类可以使用,这让事情变得简单;
  • 个人认为,比其他一些语言更容易维护;
  • 可在几乎所有的网站托管服务器中运行,价格便宜;
  • 可扩展。
如果你需要其他更强大的功能,你可以无缝过渡到另一种语言。

4.  Ruby或Python  

olalonde  写道
Ruby/Rails和Python/Django似乎是YC初创企业最常见的选择,它们在开发时间、成本、可维护性方面具备一定的优势。

spdy  写道
Python/Django或Ruby on Rails。如果你行动快速、经常改变主意,就选它们。

netgineer  写道
在面向服务架构中,我会选择Ruby。在不同系统之间使用HTTP/JSON用于内部API。如果性能是瓶颈,你可以考虑在部分系统中使用一个稍低级别的语言(Java、Haskell、Go、Erlang等)。 

Rails使SOA开发更加容易和快速,除了API客户端,我没有其他好的解决方案。

3pt14159 写道
Python(Tornado或Twisted)+ Riak。为什么呢?你可以轻松扩展,并且有大量的库,开箱即用,并且你也无须担心你的数据库受影响。

5.  Clojure  

Zak  写道
我倾向于Clojure,因为: 

  • 属性清单和类似于继承的行为对于映射和记录是非常自然和方便的。我认为,这些特性将有益于大型应用程序。
  • Clojure可以抽象数据库,保存和执行关系模型比ORM更加直接。
  • Clojure可以利用Java库,这意味着你在实现一些常用功能时会非常轻松。

6. 选择喜欢(擅长)的语言  

spobo 写道
使用一个更高级的编程语言,同时使用标准接口与前端进行通信。如果你为后端构建了一个REST API,使用什么语言是不重要的。你可以随时更换更高性能的部件,也可以使用不同的语言来开发不同的功能。 

如果你想降低开发成本,就使用大多数开发者已选择的生态系统,Python、PHP、Ruby、Java、.NET都可以,这些语言都有一些伟大的框架,帮助你进行快速开发。 

但是,不管你做什么,不要强制让你的开发人员去使用不喜欢的语言。听从你的开发团队,要相信每种语言都有很大的潜力。

已标记关键词 清除标记
<div style="color:#444444;"> 适用人群 <p style="color:#666666;"> 所有的IT从业者,尤其适合快速掌握新技术,快速增长工作经验人群,对教育公平,教育公益,教育爱心公益人士 </p> </div> <p> </p> 课程概述 <p> 该互联网实战项目是基于 Spring Boot 2+ SpringSecurity5+Element UI+Vue Admin Template+蚂蚁可视化AntV 等技术栈开发的项目,采用分布式,多模块,前后端分离开发。包括图形展示、权限管理、用户管理等功能。 </p> <p> <br /> 【后端技术】<br /> 技术 说明<br /> Spring Boot2 MVC框架 开发的一站式解决方案<br /> Spring Security5  认证和授权框架<br /> MyBatisPlus3.3.1  基于 MyBatis 框架的快速研发框架<br /> MyBatisCode工具 生成 MyBatis 相关代码<br /> Jackson 提供了处理 JSON 数据的工具<br /> Lombok 简化对象封装工具 <br /> Druid   数据库连接池  </p> <p> <br /> 【前端技术】<br /> Vue        互联网最火的前端框架<br /> Vue Router 路由框架<br /> Vuex 全局状态管理框架<br /> Axios 前端 HTTP 框架<br /> Element UI 前端 UI 框架<br /> Vue Element Admin 前端模板<br /> Antv  蚂蚁金服可视化技术,阿里巴巴可视化技术,天猫,淘宝,支付宝,花呗均使用AntV </p> <p> <br /> 【开发工具】<br /> IntelliJ IDEA 开发 IDE<br /> SQLyog 数据库连接客户端<br /> Postman HTTP 请求工具 </p> <p> <br /> 【开发环境】<br /> 工具 版本<br /> JDK 1.8<br /></p><p> MySQL 5.7 </p> <p> <img src="https://img-bss.csdn.net/202004100931037906.png" alt="" /><img src="https://img-bss.csdn.net/202004100931102139.png" alt="" /><img src="https://img-bss.csdn.net/202004100931321943.png" alt="" /></p>
相关推荐
<p> <br /> </p> <p style="color:#24292E;"> 课程的实战源码是我在 GitHub 上开源项目 <a href="https://github.com/ZHENFENG13/spring-boot-projects">spring-boot-projects</a> 中的其中一个项目代码,目前已有 2300 多个 star,项目截图如下: </p> <p style="color:#24292E;"> <img src="https://img-bss.csdn.net/201908031439119810.png" alt="" /> </p> <p style="color:#24292E;"> <br /> </p> <p style="color:#24292E;"> 由于项目比较受大家欢迎,因此心中就出现了将它做成教学视频的想法,也就是你现在了解的这个课程《SpringBoot入门及前后端分离项目开发》,本课程是一个 Spring Boot 技术栈的实战类课程,课程共分为 3 大部分,前面两个部分为基础环境准备和相关概念介绍,第三个部分是 Spring Boot 项目实践开发。Spring Boot 介绍、前后端分离、API 规范等内容<strong>旨在让读者更加熟悉 SpringBoot 及企业开发中需要注意的事项并具有使用 SpringBoot 技术进行基本功能开发的能力;</strong>这最后的项目实战为课程的主要部分,我带着大家实际的开发一个前后端分离的 Spring Boot 实践项目,让大家实际操作并从无到有开发一个线上项目,并学习到一定的开发经验以及其中的开发技巧,<span>旨在让读者具有将 Spring Boot 真正应用于项目开发的能力;</span> </p> <p style="color:#24292E;"> 以下为实践项目的页面和功能展示,分别为: </p> <ul style="color:#24292E;"> <li> 登录页面 </li> </ul> <p> <span style="background-color:#FFFFFF;"><img src="https://img-bss.csdn.net/201908031438579072.png" alt="" /><br /> </span> </p> <p style="color:#24292E;"> <br /> </p> <ul style="color:#24292E;"> <li> 列表页面(分页功能) </li> </ul> <p> <span style="background-color:#FFFFFF;"><img src="https://img-bss.csdn.net/201908031438403196.png" alt="" /><br /> </span> </p> <p style="color:#24292E;"> <br /> </p> <ul style="color:#24292E;"> <li> 图片上传功能 </li> </ul> <p> <span style="background-color:#FFFFFF;"><img src="https://img-bss.csdn.net/201908031438176997.png" alt="" /><br /> </span> </p> <p style="color:#24292E;"> <br /> </p> <ul style="color:#24292E;"> <li> 富文本编辑器整合使用 </li> </ul> <p style="color:#24292E;"> <br /> </p> <p style="color:#24292E;"> <img src="https://img-bss.csdn.net/201908031437475366.png" alt="" /> </p> <p style="color:#24292E;"> 实践项目的主要功能和页面就是这些,通过项目展示大家也能够感受到,在实际应用开发中的高频次功能都已经实现,稍加修改就可以运用到企业开发中,整个项目的开发模式为前后端分离的模式,即 Spring Boot 提供后端接口,前端页面通过 Ajax 异步调用接口的方式与后端服务器进行交互并将数据填充至页面中,这也是目前企业开发中比较重用的开发模式,希望大家能够了解并且能够实际的上手开发。 </p> <p> <br /> </p>
©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页