Web开发框架–第1部分:选项和标准

在我的公司,我们正在评估未来几年将使用哪种Web开发框架。

自上次评估以来,我们一直在使用由Struts 2驱动的Java应用服务器作为MVC,将Tiles作为模板引擎,将jQuery用于Javascript awesomennes,将DWR用于AJAX调用,将MyBatis作为ORM。

但是我们认为是时候重新评估并继续使用更新/更好/更友好的框架了。

在这篇文章中,我将向您介绍我们的候选人以及我们评估每个框架所依据的标准。 在接下来的几周中,我将发布每个框架的实际评估,最后是我们的选择以及选择的原因。

在列出候选人之前,我应该指出一些我们为了缩短名单而做出的假设和限制:

  • 我们将只评估基于Ruby,Python和Java的框架。 .Net或PHP或其他技术没有任何问题,但是我们无法涵盖所有​​内容,而这三者是我们的主要候选人。
  • 该公司在Java平台上拥有丰富的经验和积累的知识,因此您将看到更多基于Java的框架。 尽管希望他们没有偏见。
  • 所有框架都必须免费使用,最好是开源的。 另外,不必使用专有的IDE,应用程序服务器或数据库来与它们一起开发和/或在生产环境中使用它们。

候选人

我们选择评估的框架是:

  • 播放框架2.0
  • Ruby on Rails
  • Django的
  • Google Web工具包
  • Spring Roo
  • Spring框架
  • Struts2
  • JBoss接缝

标准

我们将使用的标准将由以下各项组成:

  • 学习曲线
  • 简单任务的开发性能
  • 复杂/单一任务的开发性能
  • 依赖管理
  • 代码性能/安全调整功能
  • 平台升级/冗余功能
  • 企业市场接受度
  • 开发和使用SOAP和REST服务的复杂性

在每个标准项目中,将为每个框架分配不良,中等和良好的分数等级。 为了评估他们,我们将使用每个竞争者执行以下任务:

  • 在开发工作站中安装框架
  • 使用免费的IDE,应用程序服务器和数据库来设置开发环境
  • 开发框架教程概述的“ Hello world”或类似示例
  • 修改示例应用程序以通过自定义结构执行特定的数据库查询并显示结果
  • 将依赖项添加到第三方库并在我们的应用程序中使用它执行计算
  • 开发“ Hello world” REST服务
  • 从我们的应用程序中消费我们自己的服务

我们从Play Framework 2.0开始,我将在发布结果时将其发布。

参考: 选择Web开发框架-第1部分: Ricardo Zuasti博客博客中JCG合作伙伴 Ricardo Zuasti的选择和标准 。


翻译自: https://www.javacodegeeks.com/2012/07/web-development-frameworks-part-1.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/371911.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

增加一个类的功能可以采用继承或者代理模式或者装饰者模式

增加一个类的功能有3种办法: 1.继承 2.代理模式 3.装饰者模式转载于:https://www.cnblogs.com/panxuejun/p/6127837.html

dell增强保护套装还原失效_汕头长安欧尚汽车音响改装升级,还原真实音色

今天给大家分享的是汕头车韵汽车音响改装店开业以来,升级改装的第113辆长安汽车。长安欧尚x7外观设计十分出彩,整体造型动感十足,前脸采用六边形大尺寸的前格栅,并加入了“云鹰之翼”的设计元素,造型十分具有攻击性&am…

POJ 2386 Lake Counting

链接:http://poj.org/problem?id2386 Lake Counting Time Limit: 1000MS Memory Limit: 65536KTotal Submissions: 24263 Accepted: 12246Description Due to recent rains, water has pooled in various places in Farmer Johns field, which is represented by a…

计算机窗口颜色不能自定义,用RBG颜色设置自定义颜色

这个是Mac自带的测色计快捷键shift command c即可复制RBG格式的颜色#DD0000 这个是csdn 的logo里的红色我们得到的是十六位颜色代码但是UIColor()只有这几种初始化方式init(white: CGFloat, alpha: CGFloat)init(hue: CGFloat, saturation: CGFloat, brightness: CGFloat, al…

http协议和浏览器缓存问题

HTTP是超文本传输协议。 HTTP是一个应用层协议,由请求和响应构成,是一个标准的客户端服务器模型。HTTP是一个无状态的协议。 转载于:https://www.cnblogs.com/hodgson/p/6128003.html

Spring3国际化和本地化

我最近想将Spring 3提供的国际化和本地化功能添加到我当前的项目之一中。 我浏览了Spring文档,然后在Internet上搜索以找到一些资源。 但是我找不到能够满足客户要求的资源。 大多数教程都像hello world应用程序,它提供了基本的理解。 即使是spring文档&…

h3c交换机 查看二层交换机端口ip_【分享】项目中如何选到称心如意的交换机?...

项目中如何选择交换机?这七个步骤不能少如何选择交换机?如何根据项目确定网络结构?我们在做大部分项目都有这样的疑问,交换机做为弱电中最常用的设备之一,关于他的使用与选择,不得不知,本期我们…

SSH中一些典型的问题

struts2 1-1:为什么每次请求都要创建一个Action对象? 是出于对线程安全的考虑,每个request都不会相互影响 1-2:ModelDriven拦截器的配置中refreshModelBeforeResult解决了什么问题? 先把旧的model对象从ValueStack…

为什么计算机连接不上打印机,为什么电脑连接打印机后却没反应

2013-12-12我的笔记本怎么连接不了打印机 显示是这样的好:以下方法供您参考:看一下您的系统服务中这两个(最上面 和最下面的是不是没启用)总之是您的局域网连接没有连接上,要不在网上邻居里您会看到其他的机器的,这是搜到的解决的…

JavaFX 2.0布局窗格– BorderPane

BorderPane非常适合开发更复杂的布局。 通常, BorderPane提供五个不同的区域:顶部,右侧,底部,左侧和中央。 您可以通过调用setTop/setBottom/set…方法将Node设置到每个区域。 这种方法使开发“类似于网站”的应用程序…

页面排版简单样式

页面排版简单样式demo <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns"http://www.w3.org/1999/xhtml" xml:lang"zh-cn"> &l…

JavaWeb基础(jsp初识)

jsp, java server page jsp页面是在服务器上运行的一个页面 动态网页 与后台有数据交互的页面 与其他语言的区别: jsp 使用java语言进行开发, 安全性高, 适合大型项目, 企业级的文本应用分布式项目, 服务器集群, hadoop asp.net 使用c#, .Net平台, 简单易用, 因为不开源, 所以安…

nao机器人拆解_一些机器人硬件网站

以前收集过一些网站&#xff0c;偏机器人机械结构、硬件、参数(也有模拟或算法)。在 https://www.zhihu.com/question/19826366 也夹杂着一些网址&#xff0c;但是有些网址没有深入的内容&#xff0c;排版也不好&#xff0c;所以 在这里编辑成一个列表&#xff0c;方便归档。欢…

心电图是模拟计算机吗,心电图仪

心电图仪是由威廉爱因托芬(W. Einthoven,1860-1927)发明的。 什么是心电图仪(机)M311986 心电图仪能将心脏活动时心肌激动产生的生物电信号(心电信号)自动记录下来&#xff0c;为临床诊断和科研常用的医疗电子仪器。国内一般按照记录器输出道数划分为&#xff1a;单道、三道、六…

从Java 8启动项目拼图?

在马克雷因霍尔德 &#xff08; Mark Reinhold &#xff09;在他的《 项目拼图&#xff1a;火车晚点 》一文中提出“将项目拼图推迟到Java 9的下一个发行版中”。 他解释了这样做的原因&#xff1a;“仍然存在一些重大的技术挑战”&#xff0c;并且“没有足够的时间来进行广泛的…

ChannelOption用到的socket的标准参数

ChannelOption.SO_BACKLOG, 1024 BACKLOG用于构造服务端套接字ServerSocket对象&#xff0c;标识当服务器请求处理线程全满时&#xff0c;用于临时存放已完成三次握手的请求的队列的最大长度。如果未设置或所设置的值小于1&#xff0c;Java将使用默认值50。 ChannelOption.SO_K…

cbrt c语音_isgraph - [ C语言中文开发手册 ] - 在线原生手册 - php中文网

在头文件中定义int isgraph(int ch);检查给定字符是否具有图形表示形式&#xff0c;即它是数字(0123456789)&#xff0c;大写字母(ABCDEFGHIJKLMNOPQRSTUVWXYZ)&#xff0c;小写字母(abcdefghijklmnopqrstuvwxyz)或标点符号(!"#$%&()*,-./:;<>?[\]^_{|}~)或特定…

计算机的内存和cpu,内存与CPU二者之间的关系_Intel服务器CPU_服务器产业-中关村在线...

“在一起&#xff0c;在一起”&#xff0c;相信这也是很多人希望的结果&#xff0c;无论是从技术角度&#xff0c;还是从空间角度&#xff0c;似乎二者都有着很多理由被放在一起完成任务。但是&#xff0c;二者为何一直没有“在一起”呢&#xff1f;也许这句歌词可以回答原因&a…

JUnit,Logback,带有Maven 3的Maven

在本系列中&#xff0c;我们已经学习了建立基本的Spring MVC应用程序并学习了如何在Spring MVC中处理表单 。 现在该讨论更多涉及的主题了。 但是&#xff0c;在我们涉足更深的领域之前&#xff0c;让我们先进行一些基础设置。 单元测试 我不是TDD传播者。 我在那里说了。 我从…

Gradle中的buildScript,gradle wrapper,dependencies等一些基础知识

就想收藏一篇好文&#xff0c;哈哈&#xff0c;无他 Gradle中的buildScript代码块 - 黄博文 然后记录一些gradle的基础知识&#xff1a; 1.gradle wrapper就是对gradle的封装&#xff0c;可以理解为项目内部内置了gradle 2.dependencies的参数 上官方参数表https://docs.gradle…