我们将Asp Classic与VBScript和SQL Server 2005结合使用。网站托管在Windows Server上。
我已经设法用Python替换VBScript,这是一个很大的改进。
我想知道下一步可能是什么。最初的开发人员是微软产品的粉丝,但他对Python印象深刻。另一方面,我更倾向于开源。
如果我们希望以渐进方式转向.NET或Django,您会推荐哪个平台?在这方面,这些增量步骤可能是什么?例如,我目前在我的asp文件的开头有我的模型,在那里我创建了一组python对象。然后,我在文件的其余部分(视图)中使用这些对象。也许下一步是使用HTML模板来表示视图,如果这与asp兼容。
能够为新平台完全添加新页面会很高兴。但是,客户端会话需要在asp和新平台之间共享。也许我可以包装asp-classic的Session对象。
还有其他建议吗?
谢谢,
百里
答案 0 :(得分:10)
我们实际上仍然运行着一个很棒的经典ASP Web应用程序。我们已经通过使用WSC(Windows脚本组件或scriptlet)来解决普通的ASP代码可以通过使用WSC(Windows脚本组件或scriptlet)分离关注点这一事实,这实际上在经典ASP中很有用。我们现在有调试组件,国际化,3层架构,没有性能问题。
然而;作为开发者,我们希望继续前进。可以这么说。我们尝试的第一件事是将部分vbscript代码实现到Python,至少使用现代语言工作,但是在WSC实现Python的许多麻烦之后很明显,WSC和Python没有&相处得很好。
My findings regarding Python and WSCs
为我们尝试的下一个合乎逻辑的步骤是迁移到ASP.NET,因为这是Microsoft提出的路线图。我们开设了一个C#/ ASP.NET MVC课程,聘请了一位经验丰富的.NET开发人员,开始实施新项目并将现有代码移植到.NET。 MVC是来自经典ASP," webforms"抽象Microsoft在ASP.NET MVC面向应用程序开发人员之前使用的抽象,是无状态Web的可怕抽象。
我们发现,与流行的看法相反,没有简单的方法从经典的ASP迁移到ASP.NET(至少不是如果你想要做的事情"对")。语言是不同的(VB.NET vs vbscript),事实上它完全是面向对象的,这需要很多了解你之前从未做过OO的东西,框架是不同的(MVC),你将不得不接受像lambda表达式这样的事情,甚至与数据库交谈也是不同的(LINQ)。你需要做的事情太多了,能够在一年内完成一个成功的项目。此外,我们聘请的开发人员是应用程序开发人员,并且指导我们进入ASP.NET不匹配。他知道C#语法,但不知道开发一个大型的Web项目。
与业内同行交谈时,很多人声称自己是.NET开发人员,但实际上他们缺乏经验。 .NET是在学校教授的,但刚出校的人只知道基本的东西,需要经验丰富的开发人员培训,至少做几个项目才能变得有用。此外,很多人自己选择.NET,因为它是一个流行的框架,经过一两本书后,可以创建一个简单的网站或应用程序。每个工作现场也有很多这样的工作。事实上,事实证明,很少有真正优秀(甚至是中等优秀)的.NET开发人员可用。我们已经找了一年多的经验丰富的人。
大约在同一时间我们发现该项目在.NET中没有任何地方我们也偶然发现了一个python开发人员(同时寻找更多的.NET开发人员)。我们决定放弃我们正在做的事情并再次研究Python。
我们目前正在Django中实施不同的项目,并且我们在过去4个月中取得了比在.NET编程一年中取得的更多进展。主要区别在于.NET / Visual Studio中有很多东西你只需要知道",某些文件的位置,做某些东西的工具,在代码中使用lambda表达式的地方,I我不能给你一些确切的例子,因为我很幸运地已经忘记了大部分内容。
在Python中也会有很多新东西,但你会喜欢:
不要误会我的意思,你仍然需要学习很多来自经典ASP的新东西,但根据我们的经验,学习曲线不是迁移到Python而是迁移到ASP.NET,编程是更有趣。
编辑:我还有另一个提示;我们目前可以使用memcached COM component在ASP和DJANGO网站之间交换信息。使用此功能,您可以从经典ASP访问memcached服务器 Django可以使用memcached作为后端,因此可以在经典ASP和Django之间快速交换信息。埃里克
修改强>
在我们在Django的初始项目之后,我们目前正在开发Flask。对于经典ASP开发人员来说,Flask比Django更好。 Django强加了很多约定,我们发现它限制了我们想要开发的用户界面类型
Django很棒,如果你想要快速运行,但我们已经习惯于在经典的asp中构建我们自己的表单/ datagrids /向导,而Flask在这方面为你提供了更多的自由。
从vbscript / IIS到Python / Flask的过渡是最容易掌握的恕我直言。