我有兴趣了解web应用程序是如何发展的。我们的想法是,如果在基于java的web应用中引入新的技术或设计方法,那么最值得探索的5-10种技术是什么?此外,如果有人能指出好的书籍或在线资源来进行这项研究,也会很有帮助。
发布于 2011-12-01 08:20:24
一个关键的方面是开发人员的生产力。Matt Raible (通常是非EE空间)和Adam Bien为EE6空间在这个领域做了一些出色的研究和演讲。
发布于 2011-12-01 09:09:09
对于我所有快速有效的web解决方案,我都使用Grails。它提供了生产力和合理的性能。它是由VMWare支持的,所以长期支持看起来还可以。
发布于 2011-12-02 03:44:58
应用程序随时间成功发展的能力更多地与您的软件体系结构有关,而不是与您的技术或方法有关。然而,您对技术和方法的选择将影响您如何构建您的软件。
首先,要知道你面对的是什么。在20世纪60年代末,人们开始研究随着时间的推移应用程序会发生什么。在过去的40年里,这些观察结果已经变成了一组定律(c.f。梅尔·雷曼)。这可能看起来很明显,但这是一个很好的起点:
如果你长期从事这项工作,最大的问题可能是组织上的,而不是技术上的。例如,开发人员已经知道并喜欢使用哪些技术?如果开发人员计划在公司工作5-10年,问一下未来让他们兴奋的是什么。收集关于“热门”网络应用技术的想法的最好地方是http://www.infoq.com/。
考虑哪些方法适合您组织的技术和业务文化。敏捷开发是伟大的,但它并不适合每个组织或每个环境。
考虑一下供应商。我曾经在一个网站工作,那是一家真正的IBM商店,因为IBM生产可靠的软件和硬件。然而,客户端实际上被锁定在供应商中。1997年,客户仍在使用令牌环网和OS/2。当需要时,给自己一些空间来切换工具和技术。如果不切换技术栈,一个有生命的应用程序几乎不可能在十年的使用中存活下来。
要真正创建一个能够适应业务环境变化的软件设计,请遵循这句古老的格言:“构建一个即扔即弃”。我们曾经使用新的操作系统,新的编程范例,从绿屏终端到胖客户端GUI的切换构建了一个新系统……这是对公司信息技术的彻底改造。如果我们没有建立一个原型并把它扔掉,我们永远不会成功。当我们构建原型时,我们没有在第一次选择所有正确的技术和方法。但是当我们构建生产系统时,我们有机会纠正这些错误。只有当您可以创建原型,然后在将其用于实际业务需求之前将其丢弃时,这才有效。一旦应用程序投入生产,“扔掉一个”的窗口就消失了。
祝你好运!-Aaron
https://stackoverflow.com/questions/8334391
复制相似问题