We are a DevCraft Ultimate subscriber and use it to develop products and are at a juncture. Our stuff is standards-based and the standard itself is making such a large non-backwards compatible set of changes, we are at a place where changing technologies and starting over is not out of the question.
Presently we use:
- Visual Basic .NET - we started with this long ago and our back-end uses it and our programmers all know it. The back-end won't need to change substantially, so we will probably want to keep it (hundreds of thousands of lines of well-tested code) and we will want to keep our developers
- Silverlight - lots of code, but am not too pleased with the result - we have one of our major interfaces written in it
- --- when it runs, it takes up huge amounts of memory on the server
- --- almost all unforeseen problems end up with useless error messages
- --- requires way too much code to be written for pretty common operations
- --- Microsoft has a very lukewarm committment to it in the long term at best
- AJAX - a little better, we have another major interface written in it
- Straight ASP.NET with our own software that generates HTML dynamically entirely based on database content (very good for what it does and we will not touch it)
That's it in short - we will be rewriting the Silverlight and AJAX apps using something. We want it to:
- Have a good shelf-life
- Be fast - some of the pages need to browse through 10's of millions of "heavy" database records. On other pages we need to configure thousands of containers that each can have many properties, services, objects, and each of those objects can be complex as well.
- Have a relatively quick development cycle - our "flashiness" needs are not great, so we don't need tremendous video or audio control or fine control over graphics - system administrators will use these tools. They do need to be comfortable to use, however - they would rather choose things from dropdown boxes than type them in, tree views are out (they can't handle really large lists)...
- Be easy to maintain - Silverlight was a killer here - the end result is really spectacular, but you really need to do everything to get it that way. I would rather spend our time getting the logic correct than trying to get grids to align correctly.