|
4
|
| user26294 · 技术社区 · 17 年前 |
|
|
1
11
这是你必须做的。 首先,确保你可以在跑步之前走路。建立一些简单的,可能与你的主要项目无关的东西。 不 建立一个最终项目的一部分,并希望它将“演变”为最终项目。结果总是不好。为什么?你会犯愚蠢的错误。但是你不能删除或修改它们,因为你应该把这个错误演变成最终的项目。 接下来,选择一个框架。什么?第二?对。第二。在你真正使用一些脚本语言和框架之前,你对你正在做的事情没有真正有用的概念。一旦你建立了一些东西,你现在有了一个明智的意见。 “等等,”你说。为了完成第一步,我必须选择一个框架。但是,步骤1包含允许撤消的决定。为步骤1选择错误的框架没有长期的负面影响。这只是学习。 第三,用你的战略框架和一些经验,把你现有的站点分解成你可以用新的框架构建的碎片。从最重要的部分到最不重要的部分进行优先排序。 不 将整个转换计划为一个庞大的项目。它永远不起作用。这使一项大工作比必要的更复杂。 我们将使用django作为示例框架。您将拥有模板、视图函数、模型定义、url映射和其他详细信息。 对于每个生成,请执行以下操作:
唯一值得保留的是数据和操作概念。不要试图保留或转换代码。这是误导。您可以将unittests从junit转换为python unittest。 几个月前我给了这个建议。在这个过程中我不得不做一些指导和复习。修改后的网站正在运行。没有从旧技术的转换;他们从零开始做了建议的重写。开发商高兴。现场运作良好。 |
|
|
2
7
如果您已经在Java中实现了大量的业务逻辑,那么我看到了两种可能性。 第一种是使用在jvm中运行并具有web框架的高级语言,例如 Groovy / Grails 或 JRuby 和 Rails 。这允许您直接利用Java中实现的所有业务逻辑,而不必重新构建整个站点。您应该能够利用框架在web开发方面提高的生产力,并仍然利用您现有的业务逻辑。 另一种方法是将业务逻辑层转换为一组可通过标准rpc机制获得的服务-rest、soap、xml-rpc或其他一些简单的xml(yaml或json)over http协议(另请参见 DWR 这样,前端就可以对业务逻辑进行这些RPC调用。 第一种方法,在jvm上使用高级语言,可能比第二种方法更少的重新架构。 如果您的目标是从Java中完全迁移,那么这些方法中的任何一种都允许您在较小的步骤中这样做,您可能会发现这种混合比整体销售贬低更好——JVM具有大量的库并集成到许多其他系统中。 |
|
|
3
6
使用自动化工具来“移植”web应用程序几乎肯定会保证将来的编程效率将降到最低,而不是提高。 一个好的脚本语言可以帮助编程人员理解编程语言的良好编程习惯。自动化工具通常不是设计用来输出优雅或编写良好的代码,而是只输出工作正常的代码。 只有在努力重新实现Web应用程序之后,编程效率才能得到提高——由于重新实现所需的时间,这可能会导致总体上的改进,也可能不会。 |
|
|
4
1
这里给出的许多建议都是假设您(而且只有您)正在对应用程序进行完全重写。可能不是这样的,它改变了很多答案 如果您已经开始使用j2ee,那么正确的答案是grails。简单地说:您可能已经有了hibernate和spring,您将希望能够以最小的痛苦在旧代码和新代码之间来回切换。这正是groovy的优点,在这方面它甚至比jruby更平滑。 另外,如果你已经有了J2EE应用程序,你就已经有Java开发人员在四处游荡了。在这种情况下,学习groovy就像是从梯子上摔下来——从字面上来说。除了匿名内部类之外,Groovy是Java的纯超集,这意味着您可以编写Java代码,称之为Groovy,并完成它。当您越来越熟悉Groovy的特性时,可以将它们集成到Java ISH Groovy代码中。不久,您将编写非常Groovy的代码,甚至还没有真正实现转换。 |