让Java来的更容易些吧
回顾
最近发表在TSS上的几篇文章讨论了Java和JEE最棘手的问题之一:复杂性和由此给初学者带来的陡峭的学习曲线。Chris Keene最近描述了几个步骤,能够让他所谓的“低端”开发者体会到Java的实用性和相关性:要使Java更容易入门,更优美,更有趣--主要的还是要提供一个简易的平台,使得任何一个15岁大的儿童能够很容易开发和运行web应用程序。Java语言本身不是问题,JSP的语法或者说JRE的API包也不是问题。问题在于这门语言给入门这一环节增加了太多的困难。这篇文章将试图提出一些正确的改变方式,将Java转变成如上提到的一个简易的开发平台。
简易开发模型
Java最给人带来挫败感的特性之一就是用来部署web应用程序的EAR/WAR/JAR/web.xml这一体系结构。当然,这个结构方便专业的开发人员管理大型的项目,但如果我想要的只是一个小规模的交互网站呢?为什么我不能只写一个Servlet或者JSP程序,甚至只是写一个简单的Java类,把它拷贝到服务器端然后就能执行它?
JEE应当有能力部署一个单独的类而不需要任何WAR和JAR包装,就像PHP那样。
动态的重新加载类
这一问题的一部分已经被像JavaRebel这样的产品所解决,但现在是时候把这一特性添加到JVM和JEE的规范中了。改变一个单独的Java类并且不需要服务器重启就可以立刻看到结果。虽然在有些情况下和部分服务器中这一特性已经能够实现,但是最低的要求仍然是需要重新部署整个应用程序。在很多情况下服务器重启可能需要花费5分钟左右的时间。
一个简易的网络服务器控制台
不同的服务器有不同的管理平台,其中大部分都是基于web的。新用户期望找到类似于微软IIS控制台的工具,能够浏览服务器端的文件夹,观察已经配置好的应用程序,深入到应用程序的各个类和各页中,删除,更新或者上传应用程序的任一部分。除此之外,控制台还必须提供对数据源的简单配置,JRE参数,用户管理,JNDI对象,EJBs以及很多我没有提及到的资源对象。这样的控制台只存在在像WebLogic和WebSphere这样的专业服务器中,而Tomcat, Jetty甚至JBoss所提供的控制台又都不够强大。
一个可视化集成卡发环境GUI设计器
SUN花了很大的力气推广它的NetBeans5.1web开发包和NetBeans6系列。这个IDE为可视化web设计提供了强大的解决方案,并且提供一个可以和微软的Visual Studio IDE相媲美的基于Swing的可视化设计器。但不幸的是,大部分的java社区还是偏好使用Eclipse。NetBeans的web开发包的另一个问题是它在非GlassFish的服务器上配置应用程序。我曾经尝试在WebLogic, Tomcat和JBoss上配置一个可视化web应用程序。我做了很多尝试,使用了我曾经在一个特殊版本的JBoss上运行过的JARs,但是在其他所有的服务器只显示了一个恼人的异常页面。事实是如果你不是Java专家,将一个在NetBeans中设计好的web表单,部署到Tomcat或者Jetty server几乎是一个不可能的任务。
除此之外还有其他的问题,也许就是最流行的windows(SWT)UI,或者说能使用到它只是少数初学者的好运气,而事实是大部分Java初学者在开始的时候需要从数目繁多的Eclipse版本中挑选一个下载。而现在还没有基于eclipse的免费的可视化IDE设计器。这意味着15岁的小孩,如果想为他的项目写一些web表单,就会倾向于下载免费的MS Visual Studio Express 版本而不是Eclipse。如果SUN能够将它出色的可视化解决方案整合到Eclipse中,可能会把整个平台向前推进一大步。
结论
在不同的开源项目和框架中,大多数的技术都是公开的。我们需要做的只是给它们包裹一个简单易用的外壳。一个IDE->Deployment->Server的简单组合就可以把java从一个专家专用的平台转变成能广泛被人们所使用的技术。Ubuntu是一个类似的例子,它把linux桌面系统带给了普通人而不是那些linux专家。在这方面,微软从发布了Visual Basic和.NET平台开始就一直做的很好。Java将如何去竞争呢?
上一篇: 今天准备出门看了一下黄历忌笑你好笑不好笑
下一篇: 感触生活的幽默笑语