我的组织手头有很多传统的ASP软件。
由于我们的看法是微软明显缺乏对其旧产品的支持,我们需要弄清楚下一步该迁移到什么。
如果我们从Classic ASP迁移到ASP.NET,感觉就像是“完全重写”“迁移”。由于情况可能是这样,我们正在考虑转向一个免费(就像啤酒和演讲)的平台。我特别认为我们的投资(我的意思是在编程工作上)花在一个能让我们进化的平台上会更好,而不是强迫我们每4/5年丢弃一行代码。这是我们一直用来倡导向“自由”平台发展的主要论据。
目前,我们正在考虑混合使用Java和动态语言,如JRuby或Groovy。
我的问题是:什么是一个好的迁移选择?我们的恐惧是没有根据的吗?我们(可以想象)是否需要在4年或5年后重写大部分代码库?对于迁移到.NET或自由平台,您有什么论据?
发布于 2009-01-26 13:40:17
我们最近将一个重要的ASP项目迁移到了ASP.NET,绝对可以进行一次不完全重写的迁移,保留原始代码的一小部分(尽管我们从一开始就从业务逻辑和表示层之间很好地分离了一些架构良好的代码中获益)。
我们查看了两种可能的迁移路径:
的ASP.NET控件,单独的类等
由于日程压力,我们采用了第二条路线,允许我们更早而不是更晚地进行转换,然后从更长远的角度看待更根本的变化,作为未来发展的一部分。
在此基础上,对于初始迁移,我们能够重用现有代码的大部分,尽管随着我们的发展,这些代码正在逐渐被替换。假设一个“普通”页面有50-200行超文本标记语言和50-500行VBScript代码(作为单独的函数,不会混入超文本标记语言意大利面式),我们发现每个页面大约需要一个小时来迁移它们,包括将所有的ADO.NET数据访问更改到一个新的ADO数据访问层。一些简单的页面只需要几分钟,而一些更复杂的页面需要一整天的时间,但是大约一个小时的页面是数百个页面的总数字,更改数据访问的时间代表了工作的重要部分。
如果我们现在要重做迁移,我们将使用MVC MVC而不是web forms,因为它更好地映射到原始页面的编写方式-尽管我不能评论迁移到ASP.NET需要更多还是更少的时间。
这与您是否想要迁移到自由平台或更改语言没有任何关系-您可能有其他原因想要这样做。(我们的客户是基于Windows的,所以迁移到ASP.NET,除了开发时间,没有额外的成本。)然而,我可以说,无需完全重写就可以将一个重要的ASP站点迁移到ASP.NET -同样可以从ASP.NET的早期版本迁移到最新的版本,只需最少的工作。显然,我们选择的路线,保留了代码的一些ASP感觉,而不是选择完全的重新开发,可能并不适合每个人-但它确实给了你一个低影响的ASP.NET入口点,然后允许你在此基础上构建,同时最大限度地利用你现有的代码库和技能。
发布于 2009-01-26 11:32:50
你知道mono是存在的对吧?
我想你会发现一种语言的寿命并不像你想象的那么重要,因为一个应用程序的主要版本的生命周期很可能比大多数语言的生命周期都要短。公平地说,对于.NET 2.0 -> 3.0来说,这是一个相当小的变化,而不是“丢弃每一行代码”。如果你甚至想要升迁,这还不是真正需要的。
我认为对于你可能考虑的任何给定的平台,我都会考虑其他因素,比如你的程序员的舒适性/技能/熟悉度,社区支持,扩展和目标适合性。
发布于 2009-01-26 16:16:56
选择取决于你的公司是否有能力支持你选择的任何东西。
你们自己会支持这些代码吗?如果是这样,你现在的技能基础是什么?
如果你目前正在享受ASP,ASP.NET (重写代码或不重写)似乎是第一个尝试的想法,即使你还没有意识到这一点,通过使用ASP到目前为止,你可能已经在维护IIS以及在ASP.NET开发、部署和支持中获得了大量基于微软的服务和服务器,你可以重用或至少很容易地适应。
JAVA,RUBY,无论你选择什么,任何技术的美观/有用/强大/可用性/持久性都取决于维护它的人。
你应该提出的问题是:
..and等..
不要因为这里或那里的费用或免费还是非免费而分心。
当项目背后的人不了解/新技术时,工时的支持可能比大多数打包的软件解决方案更昂贵,然后这些解决方案将为您提供支持。
这对于开发环境也是如此,在开发环境中,您必须为IDE/Server/等支付更多费用,但在底线上,您需要经历的学习曲线较少,并且需要在您的专业水平上提供支持。
此外:正如@annakata所说,您有很多机会/项目来实现“啤酒一样免费”的ASP.NET功能。单声道或非单声道..
示例:如果您喜欢这样的事情,您可以使用Apache设置ASP.NET服务。
根据你所知道的和你想知道的来选择你想要采用的技术,而不是你认为的最新和最好的技术,特别是如果你甚至开始考虑重新构建你的代码集的整个原因是由于缺乏Microsoft对ASP的支持。
https://stackoverflow.com/questions/479461
复制相似问题