十佳JavaWeb应用框架,你知道几个?
温馨提示:这篇文章已超过531天没有更新,请注意相关的内容是否还可用!
众所周知,工欲善其事,必先利其器。选择一个好的Web应用框架就像一把称手的兵器,可以助你们披荆斩棘。
现在就为你们整理了十佳JavaWeb应用框架,并简单讨论一下他们的优缺点。
第一,大名鼎鼎的MVC框架。MVC框架成为是一个教科书式的MVC(模型Model、视图View和控制器)框架,严格组照MVC范式要求进行分层设计。经过多年的发展,MVC已经发展成了一个Web应用程序的全能架构。
易用性方面,MVC为Web应用程序的研发和配置提供了有用的工具箱。扩展性方面,MVC也以插件多而出名,大量优秀插件可供选用,如SOAP服务、RESTAPI和安全认证。
优点:
强大的组件化功能,代码可读性高;可以借助POJO(PlainJava,简单的Java对象)对检测数据进行简单的注入;可以灵活使用DI(,依赖注入,或者叫控制反转);不同组件间是低耦合的(前面四点优点归根结底还是耦合度低)。
缺点:
针对新手来说,实现的难度相当大;学习曲线非常陡峭,即入门比较难。
第二,JSF。它可以说是所有Java框架中的与Java关系近期的,因为它和Java都是的小熊猫博客。JSF其实并算不上最好的Java框架,但是因为的加持,JSF的文档是最全也最容易找到的。
另外,由于JSF已借助JCP格式化为的一个别,所以你即便安装了J2EE,就可以无障碍使用JSF了。复杂的功能也能用JSF提供的长期工具和库来推动。借助JSP(JavaPages),JSF还可以支持不同的和XUL技术。
优点:
因为JSF集成在中,对于使用IDE的研发人员来说十分方便。
缺点:
入门门槛相当高,如果没有JavaWeb的开发历程很难完整理解JSF。
第三,。是软件基金会(ASF)赞助的一个开源项目,也是基于MVC范式进行设计的,但是不像MVC那么苛刻遵守MVC模式,经常被视作一种变种。
是借助一系列接口和类来推动这些特定的用途,为Java应用提供了网络框架。与特色的互联网功能不同,它可以建立动态响应。众人拾柴火焰高,在各个开源社区的一同尽力下,才有了刚刚的妨碍。当然,常常被质疑为“万年漏洞王”,去年全球还由于新漏洞闹的沸沸扬扬,但依然不能够定其是一个超强易用的框架。
优点:
原生支持I-18-N(即国际化,其来源是英语词汇的首末字符i和n,18为后面的字符数);便捷的数据有效性验证和身份验证;支持模块化研发和集成软件。
缺点:
灵活性不足;安全性有待加强。
第四,ORM也是一个不能被忽视的优秀框架,属于使用GNU通用公共许可证发行的自由开源工具。是一套对象关系映射解决方案,能够构建面向对象建模与关系数据模型的映射。对JDBC进行了相当轻量级的对象封装,使Java开发人员可以随意所欲的使用对象编程思维来操控数据库。
优点:
移植性好,只应该设置极少量的代码更改推动与其它数据库通信;数据库不敏感,通吃MySQL,DB2和等主流数据库;优秀的缓存体系(缓存,二级缓存,查询缓存),对于这些改动不大且常常使用的数据,可以将他们放在缓存中,不必在每天使用时都去查询数据库,缓存体系对提高功耗大有好处;延迟加载(只有等平台必须使用集合属性时才从数据库装载关联的数据)。
缺点:
如果断电,所有未储存就会损坏;重启非常慢。
第五,GWT(Web)是一个前端使用,后端使用Java的AJAX框架,以许可证2.0版本开放源码。GWT通过编译器将Java代码编译成,可以让开发人员只使用Java就可以迅速研发维护复杂但高性能的,借此减少研发人员负担。
比如一些本地库之外,都可以用集成的GWTAnt将Java源码构建成。GWT已经推动了长期代码跨系统复用,包括跨浏览器移植性、国际化、UI抽象化、书签、历史管理、远程程序读取和异步的代码。
优点:
入门容易;尤其合适应用;在想要借助增加用户端负载并且降低服务器端负载,进而提高响应速率的web应用程序;通过各类各样的库,开发人员可以充分运用GWT的能力;内置IDE能够直接重构Java密文/代码;由负责开发,前景光明。
缺点:
GWT是一个迅速迭代的项目,版本很多,可能无法了解所有接口和技巧;编译器执行强度相当慢;定义结构的之后需要使用专用的方式来执行。
第六,Play框架是一种基于无状态()、Web友好和轻量级的架构,支持Scala和Java两种语言。它建立在Akka(一个用Scala编写的分布式应用框架)上并运用了Akka顶部设计的完全异步模型,为可高度伸缩的应用程序分配最小和可分析的资源(例如线程数、内存和CPU)。
Play比较友好,开发人员可以借助文本编辑器和浏览器直接进行更改。此外,尽管它是无状态的,但它的体量是可以预见的。可以说,Play是为了因应现代移动和网络应用的应该而诞生的。
优点:
极大地提升了开发人员的生产率;配置、模板和java代码的修改可以快速完成重载;Play是在Netty基础上设计的,支持异步I/O;它是开源的;由公司和公司提供商业支持;Play可以在运行时处理错误。
缺点:
Play2基本上是对Play1的重写,比.X和.X的差别大多了,想想就明白了;它是围绕异步I/O形成的,你或许会受到一个不知名的小熊猫博客;无论是Play框架还是Akka的英文资料少之又少。
第七,是一个许可的开源Javaweb应用程序工程,并拥有一个活跃的社区()。用开发的浏览器应用图标可以超过和桌面应用类似的效果,但和Flash、不同的是,应用无需在浏览器上加装任何软件。它支持纯Java开发环境,开发人员无需深入了解HTML,XML或是。如果你以前使用Java开发过Swing,SWT等应用,可以比较易于开始使用开发Web应用。
优点:
只应该在服务器端编程;支持布局、侦听器和模块类型;支持各种软件;可以很便利地和框架集成。
缺点:
不支持多窗口;手动建立的JS代码的不够精简。
第八,基于编程语言,是一个秉持己见、提倡用承诺的默认设定代替复杂配置的框架。它与JVM很好地整合,能够在提供强大功能的同时保持高效,包括异步编程、编译时元编程、运行时和领域专用语言(DSLphp企业网站源码 没有用面向对象和模板技术的,专注于某个应用程序领域的计算机语言)。可以透明地、无缝地与Java、JavaEE容器和JVM进行互操作和集成。
优点:
处理中大型项目的理想工具;提供一个迅速的开发周期;提供丰富的软件;文档简单易懂的;安装过程很简洁,新手也可以在短时间内建立应用程序;GORM(,对象关系映射)的配置简单;管理CSS简单;动态配置特点,无需再次开启服务器就能设置配置。
缺点:
依赖JVM运行环境;多线程时候有时也许会有问题。
第九php企业网站源码 没有用面向对象和模板技术的,又称,一看这个名字,又是一个基金会旗下的开源框架了。是一个基于模块的轻量级的Java应用程序框架。使用依照XHTML标准的命名空间来支持HTML模板。其特征在于对Html和Java代码进行了有效的分离(有促使程序员和美工的合作),基于规则的配置(降低了XML等配置文件的使用)。
优点:
代码是用Java编写的;没有XML配置文件;没有返回键的问题;是一种简单Java对象为中心的编程;测试非常容易。
缺点:
发展前途非常不明晰;基于事件的设计或许增加代码混乱的概率。
第十,Vert.x框架是一个基于JVM、轻量级、高功耗的应用框架,基于事件驱动和异步,使用很少的核心线程里占用最小限度的硬件资源处理长期的高并发。Vert.x支持多种语言,例如、Ruby、、和Java,因此可以按照项目特征和队伍技能灵活选择语言。
优点:
设置容易;Vert.x容器里强大的内核线程;为异步提供简单的方式和对象。
缺点:
一些硬件可能难以执行;支持语言很多,选择一门正确的语言会让人头疼会。
本文详细介绍了当前10个最主流的JavaWeb框架的各自特征和优缺点。希望能对你们将来的学习和工作有所帮助。
今日福利:框架学习资源大礼包让你走上巅峰
完整资源获取模式
关注“黑马程序员”,回复“框架“即可获取
本文来自网络,如有侵权请联系网站客服进行删除
还没有评论,来说两句吧...