ASP port for Django or ASP.NET

We are using Asp Classic with VBScript and SQL Server 2005. The websites are hosted on Windows Server.

I was able to replace VBScript with Python and it was a big improvement.

I'm wondering what the next step will be. The original developer is a fan of Microsoft products, however impressed with Python. I, on the other hand, tend to be more open source.

If we want to move gradually towards .NET or Django, which platform would you recommend? In this regard, what could be these additional steps? For example, currently I have my model at the beginning of my asp files where I create a set of python objects. Then I use those objects throughout the rest of the file, in the view. Perhaps the next step would be to use HTML templates to represent the view if it is asp compatible.

It would be nice to be able to add new pages entirely for the new platform. However, the client session needs to be split between asp and the new platform. Maybe I can wrap an asp classic Session object.

Any other tips?




source to share

1 answer

Wow, this is exactly what we (as a company) went through.

We actually have a large classic ASP web application. We got around the fact that plain classic ASP code can be spaghetti code using WSC (Windows Script Components or Scriptlets) to share the concern, which actually works great in Classic ASP. We now have a debug component, internationalization, a three-tier architecture, and no performance issues.

Nevertheless; as developers we wanted to "move on," so to speak. The first thing we tried was to implement some of our vbscript code for Python, at least work in a modern language, but after a lot of problems implementing Python in WSC, it was clear that WSC and Python didn't get along well.
My conclusions regarding Python and WSC

The next logical step for us is to move to ASP.NET, as this is the roadmap proposed by Microsoft. We took a C # / ASP.NET MVC course, hired an experienced .NET developer, and started implementing new projects and porting existing code to .NET. MVC is a way to move from classic ASP, Microsoft's "webforms" abstraction, used before ASP.NET MVC was geared towards application developers and is a terrible abstraction of a stateless web site.

We've found that, contrary to popular belief, there is no easy transition from classic ASP to ASP.NET (at least if you want to do something "right"). The language is different (VB.NET vs vbscript), there is the fact that it is completely Object Oriented, which has a lot to do with the fact that you have never done OO stuff before, the structure is different (MVC), you will have to perceive things like this, like lambda expressions, even talking to a database is different (LINQ). There are too many things that you need to pick up to bring out a successful project within a year. Also, the developer we hired was the application developer and mismatch to guide us in ASP.NET. He knew the syntax of C # but had no idea about developing a large web project.

Talking about peers in the industry, it became apparent that there are many people who claim to be .NET developers, but they are actually very inexperienced..NET is taught in schools, but people who are just not familiar with students only know the basics and need training from experienced developers and are doing at least a few projects in order to become useful. Also a lot of people are picking up .NET themselves because it is a popular framework and after working through a book or two can create a simple website or application. There are also many in all workplaces. In truth, it turns out that there are very few really good (or even moderately good) .NET developers. We have been looking for an experienced one for over a year.

Around the same time we found out that the project wasn't going anywhere in .NET, we also accidentally discovered a python developer (while looking for more .NET developers). We decided to give up what we were doing and learn Python again.

We are currently implementing various projects in Django and we have made more progress in the last 4 months than in the .NET programming year. The main difference is that there were a lot of things in .NET / Visual Studio that you "just needed to know", the locations of certain files, tools to perform certain actions, where to use lambda expressions in the code, I can't give you exact examples, because luckily I have already forgotten about it.

There will be a lot of new things in Python too, but you'll love:

  • The fact that it is dynamically typed, which is very similar to vbscript.
  • I found that Python programming I can often code for half an hour without running my code, and when I run it, in the end it works immediately. It's very intuitive.
  • It is cross platform; you can experiment with Linux server if needed, but IIS works as well (using Helicon Zoo ).
  • Python developers look more serious about their profession .. NET is usually taught in schools, learning Python is a conscious choice.
  • You can choose webframeworks and technologies like ORM, session layers or other layers. Django is pretty tough in this regard, but a framework like a pyramid is very flexible.
  • Python is OO, but not required. The language is generally (perhaps not syntactically, but certainly conceptually) a better match for vbscript.
  • If Microsoft decides that should be abandoned, as it did with classic ASP and (for example) Silverlight, you will have no problem using Python.

Don't get me wrong, you still have to learn a lot from classic ASP, but in our experience the learning curve is less steep, carries over to Python than ASP.NET, and programming is a lot more fun.

EDIT: I have one more tip for you; we can currently exchange information between ASP and DJANGO sites using the memcached COM component . Using this, you can access the memcached server from classic ASP.
Django can use memcached as a backend, so communication is possible and lightning fast between classic ASP and Django.


After our initial project in Django, we are currently developing in Flask. Flask is an even better match for classic ASP developers than Django. Django imposes a lot of conventions, and we found that this limited us as to the types of user interfaces we wanted to develop.
Django is nice if you want something fast and fast, but we're already used to creating our own forms / datagrids / wizards in classic asp, and Flask gives you a lot more freedom in this regard.
Moving from vbscript / IIS to Python / Flask is IMHO the easiest to understand.



All Articles