2012-03-12 85 views
3

我们将Asp Classic与VBScript和SQL Server 2005结合使用。网站托管在Windows Server上。将端口ASP设置为Django或ASP.NET

我设法与Python来代替VBScript和这一直是一个很大的进步。

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

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

这将是很好能够完全添加新页面的新平台。但是,客户端会话需要在asp和新平台之间共享。也许我可以包装asp-classic的Session对象。

其他建议?

感谢,

巴里

回答

8

哇,这正是我们(作为一家公司)已通过。

实际上,我们仍然有一个很大的传统的ASP Web应用程序的运行。我们已经通过使用WSC(Windows脚本组件或脚本)来分离关注点,从而避免了普通的ASP代码可以通过spaghetti代码这一事实,这在传统的ASP中非常有用。我们现在拥有调试组件,国际化,3层架构和性能问题。

但是;作为我们想要“继续前进”的开发者,可以这么说。我们尝试的第一件事是将我们的vbscript代码的一部分实现到Python,至少用现代语言工作,但是在WSC中实现Python的许多麻烦之后,显然WSC和Python并没有相处得很好。
My findings regarding Python and WSCs

下一个逻辑步骤来尝试我们被转移到ASP.NET,因为这是由微软提出的路线图。我们参加了C#/ ASP.NET MVC课程,聘请了一位经验丰富的.NET开发人员,并开始实施新项目并将现有代码移植到.NET中。 MVC是从传统ASP开始的方式,在ASP.NET MVC面向应用程序开发人员之前,Microsoft使用的“webforms”抽象是对无状态Web的可怕抽象。

我们发现,流行的看法相反,有没有简单的方法从传统的ASP迁移到ASP.NET(至少不是如果你想要做的事情“正确”)。语言是不同的(VB.NET vs VBScript),它是完全面向对象的事实,它需要很多的理解,你从来没有做过OO的东西,框架是不同的(MVC),你会有要捡起像lambda表达式之类的东西,即使与数据库交谈也是不同的(LINQ)。有太多的东西你必须拿起才能在一年内完成一个成功的项目。另外,我们聘请的开发人员是应用程序开发人员,并且指导我们进入ASP.NET的不匹配。他知道C#的语法,但不知道如何开发一个大型的web项目。

谈起同行中成为appearant有很多自称是.NET开发人员,但在现实中,他们都非常缺乏经验的行业。 。NET是在学校教授的,但是在校外的人只知道基本的东西,需要经验丰富的开发人员进行培训,并且至少要做几个项目才能变得有用。也有很多人选择.NET自己,因为它是一个流行的框架,并通过一两本书后,可以创建一个简单的网站或应用程序。每个工作场所也有大量的人员。事实上,事实证明,很少有非常好的(甚至是中等优秀的).NET开发人员可用。我们寻找了一年以上的有经验的人。

大约在同一时间,我们发现该项目没有在.NET中去任何地方,我们也发现事故Python开发(同时寻找更多的.NET开发人员)。我们决定放弃我们正在做的并再次研究Python。

我们目前正在实施在Django不同的项目,我们已经在过去4个月,比我们一年编程.NET的那样取得较大进展。主要区别在于,在.NET/Visual Studio中,有许多“你只需要知道”的东西,某些文件的位置,做某些事情的工具,在代码中使用lambda表达式的地方,我不能给你确切的例子,因为我幸运地已经忘记了它的大部分。

在Python会有很多新的东西为好,但你一定会喜欢:

  • 事实上,它的动态类型,这是很多喜欢的VBScript。
  • 我发现编程的Python我可以经常编码半小时 而不运行我的代码,当我运行它时,它会立即运行 。它非常直观。
  • 它是跨平台的;你可以尝试使用Linux作为服务器,如果需要的话,但IIS也可以工作(使用Helicon Zoo)。
  • Python开发者似乎对自己行业的更严重 。 .NET通常在学校教授,学习 Python是一个有意识的选择。
  • 您可以挑选webframeworks 和技术,如奥姆斯,会话层或其他层。在这方面Django是 挺僵化的,但像金字塔这样的框架很灵活。
  • Python是OO,但不一定是。 中的语言一般是(可能不是语法上的,但在概念上)是更好地匹配vbscript的 。
  • 如果或者当微软决定放弃asp.net ,就像他们对经典ASP和(例如) Silverlight所做的一样,那么使用Python就不会有问题。

不要误会我的意思,你仍然要学习很多从传统的ASP即将到来的新的东西,但在我们的经验中学习曲线不太陡迁移到Python比ASP.NET和编程是更有趣的。

编辑:我有一个小窍门给你;我们目前可以使用memcached COM component在ASP和DJANGO网站之间交换信息。使用这个你可以从传统的ASP访问一个memcached服务器。
Django中可以使用的memcached作为后端,这样交换的信息是可能的,快如闪电传统的ASP和Django的之间。

埃里克

编辑:
之后,我们在Django最初的项目,我们目前在瓶发展。对于经典的ASP开发人员来说,Flask比Django更适合。 Django强加了很多约定,我们发现它限制了我们想要开发的用户界面类型。
如果你想要一些东西并且运行的很快,Django是很好的,但是我们已经习惯用经典的asp构建我们自己的窗体/数据网格/向导,并且Flask在这方面给你提供了更多的自由。
从vbscript/IIS过渡到Python/Flask是恕我直言,最容易掌握。

+1

此外,不要让人们告诉你.NET编译速度更快。它可能是,但当然在Web环境中,开销几乎不是服务器端代码,而是数据库,HTTP调用和/或UI。优化这些和一个体面的服务器,你将不会注意到.net和python之间的速度差异。 – 2012-03-12 21:20:21

相关问题