我们在VBScript和SQL Server2005上使用Asp Classic。网站托管在Windows Server上。
我已经设法用Python替换了VBScript,这是一个很大的改进。
我想知道下一步会是什么。最初的开发人员是Microsoft产品的粉丝,但他对Python印象深刻。另一方面,我更偏向于开源。
如果我们希望以增量的方式转向.NET或Django,你会推荐哪种平台?在这方面,这些增量步骤可能是什么?例如,我目前在我的asp文件的开头有我的模型,在那里我创建了一组python对象。然后,我在文件的其余部分使用这些对象。也许下一步是使用HTML模板来表示视图,如果这与asp兼容的话。
如果能够为新平台添加完全新的页面,那就太好了。然而,客户端会话将需要在asp和新平台之间共享。也许我可以包装asp-classic的会话对象。
还有其他建议吗?
谢谢,
巴里
发布于 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中也会有很多新的东西,但是你会喜欢的:
不要误会我的意思,你仍然需要学习许多来自经典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的转换是最容易掌握的。
https://stackoverflow.com/questions/9665002
复制相似问题