首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将ASP移植到Django或ASP.NET

将ASP移植到Django或ASP.NET
EN

Stack Overflow用户
提问于 2012-03-12 18:02:18
回答 1查看 2.3K关注 0票数 4

我们在VBScript和SQL Server2005上使用Asp Classic。网站托管在Windows Server上。

我已经设法用Python替换了VBScript,这是一个很大的改进。

我想知道下一步会是什么。最初的开发人员是Microsoft产品的粉丝,但他对Python印象深刻。另一方面,我更偏向于开源。

如果我们希望以增量的方式转向.NET或Django,你会推荐哪种平台?在这方面,这些增量步骤可能是什么?例如,我目前在我的asp文件的开头有我的模型,在那里我创建了一组python对象。然后,我在文件的其余部分使用这些对象。也许下一步是使用HTML模板来表示视图,如果这与asp兼容的话。

如果能够为新平台添加完全新的页面,那就太好了。然而,客户端会话将需要在asp和新平台之间共享。也许我可以包装asp-classic的会话对象。

还有其他建议吗?

谢谢,

巴里

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-03-13 00:03:36

哇,这正是我们(作为一家公司)所经历的。

我们实际上仍然有一个大型的经典ASP web应用程序在运行。通过使用WSC (Windows脚本组件,或scriptlet)来分离关注点,我们绕过了这样一个事实,即普通的经典ASP代码可能是意大利面条代码,这实际上在经典ASP中工作得很好。我们现在有了调试组件,国际化,3层架构,没有性能问题。

然而,作为开发人员,我们想要“继续前进”。我们尝试的第一件事是将部分vbscript代码实现为Python,以便至少在现代语言中工作,但在WSC中实现Python遇到了很多麻烦之后,很明显WSC和Python相处得并不好。

My findings regarding Python and WSCs

我们尝试的下一个合乎逻辑的步骤是转向ASP.NET,因为这是微软建议的路线图。我们上了一门C#/ASP.NETMVC课程,聘请了一位经验丰富的.NET开发人员,开始实施新项目并将现有代码移植到.NET上。

我们发现,与流行的想法相反,从经典的ASP迁移到ASP.NET并非易事(至少如果你想做正确的事情就不是这样的)。语言是不同的(VB.NET和vbscript),事实是它完全是面向对象的,这需要你很好地理解你以前从未做过的面向对象的东西,框架是不同的(MVC),你将不得不学会像lambda表达式这样的东西,甚至与数据库交谈都是不同的(LINQ)。要想在一年内完成一个成功的项目,你需要掌握的东西太多了。此外,我们聘请的开发人员是一名应用程序开发人员,不适合指导我们使用ASP.NET,他知道C#语法,但对开发大型web项目一无所知。

在与业内同行交谈时,很明显,有很多人声称自己是.NET开发人员,但实际上他们非常缺乏经验。.NET是在学校教授的,但刚走出校门的人只知道基本的东西,需要经过经验丰富的开发人员的培训,并至少完成几个项目才能变得有用。还有很多人自己选择了.NET,因为它是一个流行的框架,在读完一两本书之后,就可以创建一个简单的网站或应用程序。在每个求职网站上也有很多这样的网站。事实上,事实证明,真正优秀(甚至一般优秀)的.NET开发人员非常少。我们已经找了一年多有经验的人了。

就在我们发现这个项目在.NET上无处可去的同时,我们也偶然发现了一个.NET开发人员(同时寻找更多的python开发人员)。我们决定放弃我们正在做的事情,重新研究Python。

我们目前在Django中实现了不同的项目,在过去的4个月里,我们取得了比一年的.NET编程更多的进展。主要的区别是,在.NET/Visual Studio中,有很多事情你“只是必须知道”,某些文件的位置,做某些事情的工具,在代码中在哪里使用λ表达式,我不能给你确切的例子,因为幸运的是我已经忘记了大部分。

在Python中也会有很多新的东西,但是你会喜欢的:

  • 我发现编写Python时,我经常可以在不运行代码的情况下编写半个小时的代码,当我最终运行它时,它会立即生效。它非常直观。

  • 它是跨平台的;如果需要,你可以尝试使用linux作为服务器,但是IIS也可以工作(使用Helicon Zoo)。

  • Python开发人员似乎对他们的职业更加认真。.NET通常在学校教授,学习Python是一种有意识的选择。

  • 您可以选择You框架和技术,如or、会话层或其他层。Django在这方面是相当严格的,但是像金字塔这样的框架是非常灵活的。

  • Python是面向对象的,但不是必须的。一般来说,该语言(可能不是在语法上,但在概念上)是vbscript的更好匹配。

  • 如果或当微软决定放弃asp.net时,就像他们对经典的ASP和(例如) Silverlight所做的那样,你使用Python不会有问题。

不要误会我的意思,你仍然需要学习许多来自经典ASP的新东西,但根据我们的经验,迁移到Python的学习曲线并不像迁移到ASP.NET那么陡峭,编程也要有趣得多。

编辑:我有另一个技巧给你;我们目前可以使用memcached COM component在ASP和DJANGO站点之间交换信息。使用它,你可以从传统的ASP访问memcached服务器。

Django可以使用memcached作为后端,所以在传统的ASP和Django之间交换信息是可能的,而且速度非常快。

埃里克

编辑:

在Django的初始项目之后,我们目前正在Flask中进行开发。对于传统的ASP开发人员来说,Flask比Django更适合。Django强加了很多约定,我们发现它限制了我们想要开发的用户界面类型。

如果你想要快速启动和运行,Django是很好的,但我们已经习惯于用经典的asp构建我们自己的表单/数据网格/向导,而Flask在这方面给了你更多的自由。

从vbscript/IIS到Python/Flask的转换是最容易掌握的。

票数 10
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9665002

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档