What is best way to convert desktop app to web app?
-
Thanks, Mycroft Holmes, for the insightful reply. Food for thought, taking things in a measured way instead of jumping in. Speaking of what we tend to hate, as you mentioned about the expression "a richer user experience" - I spent a couple of years, untold hours, trying to get my head around remoting. Then this WCF appears, and do you think I can find an article that tells me in plain english how to move from remoting to WCF? Arrgh. Also, I don't want to write xaml. I want the mongoose to kill the snakes for me... (Donovan) Anyway, Bill Burrows, at the MyVBProf site, has some nice tutorials about silverlight, RIA, even MVVM. He demos some redeeming improvements in VS2010 that seem to require a lot less xaml programming. I am using such things to keep my finger in the pie while I figure out what to do with my app. Thanks again.
____________________________________________________________________________________ The Vulcan Science Directorate has determined that time travel is impossible.
If you don't like the xaml then forget RIA, seems to want to move everything into the xaml. Also the latest MS demos seem to lean almost exclusively to EF as the DAL, I find that distressing and chucked the entire RIA concept out. We are just about finished our MVVM code generator so we should be getting a bit more production. My first .net book was on Dotnet Remoting, trying to learn dot net and remoting from scratch, what a nightmare. Eventually someone slapped me and pointed me to an ordinary winforms app and I never looked back.
Never underestimate the power of human stupidity RAH
-
I work alone, and I have developed a huge desktop app, probably a quarter million lines of code, that has evolved for well over 10 years. I keep thinking it would be nice to convert it to a browser UI, but have watched many technologies go by, like asp, ajax, and now there's webmatrix, and sometimes I wonder whether I should take the leap, or whether it may cost me another 10 years to rewrite it for the web. It uses .NET remoting, and is multithreaded, so wcf and parallel programming come to mind as well. Fear promotes a lack of action, but knowledge defeats fear, so I thought I'd submit this general question to the "big team" out there in the code project universe. :)
____________________________________________________________________________________ The Vulcan Science Directorate has determined that time travel is impossible.
Why not just make it a Click Once "Smart Client"? Then you can keep it a windows application, but deploy it from the web like a Java Applet. You'll probably need very little code changes, it's more of a deployment option really and simple to implement. Unless you have a customer willing to finance the effort, it's probably not worth the massive amount of coding you'll need to do. You can do smart client in a day. The beauty of Smart Client apps is that you have a single install location (on the web server) to keep up to date. When the user clicks the icon, it automatically goes out to check for a new version and downloads it before starting up the app. It's really best of both worlds...
-
I work alone, and I have developed a huge desktop app, probably a quarter million lines of code, that has evolved for well over 10 years. I keep thinking it would be nice to convert it to a browser UI, but have watched many technologies go by, like asp, ajax, and now there's webmatrix, and sometimes I wonder whether I should take the leap, or whether it may cost me another 10 years to rewrite it for the web. It uses .NET remoting, and is multithreaded, so wcf and parallel programming come to mind as well. Fear promotes a lack of action, but knowledge defeats fear, so I thought I'd submit this general question to the "big team" out there in the code project universe. :)
____________________________________________________________________________________ The Vulcan Science Directorate has determined that time travel is impossible.
Take a look at visualwebgui. There's a screencast transforming a winformsapplication to a webapplication with their softwarestack. :omg:
-
Luc Pattyn wrote:
why not use something that has been around somewhat longer already?
I haven't been following all the discussions, webinars, training etc, but my impression is that newer technologies eliminate a lot of plumbing type of code that I would prefer not to have to teach myself. E.g. when ajax first came out. Also, I want whatever I do to look way cool, so I'm afraid that if I go with the older stuff, it might look like some windows 3.1 thing. To compensate for that, I've considered 3rd party tools like the really nice devexpress controls, etc. I haven't gone there either, here's my reason: If my app were in-house, rather than commercially marketed (my "team of one" includes wearing the marketing hat as well), it would probably be okay. But I avoid 3rd party dlls as much as possible, so my version updates are not driven by 3rd party compatibility issues/bugs. I really appreciate all the feedback I'm getting! When you work alone, you need other voices and someone to bounce ideas off. :)
____________________________________________________________________________________ The Vulcan Science Directorate has determined that time travel is impossible.
BobishKindaGuy wrote:
Also, I want whatever I do to look way cool
No, you don't. You want whatever you do, done right. A working Windows 3.1-application will always beat an exception in Silverlight 6 in terms of usability. Make sure you produce a car that can be used for driving, before you start pimpin' it.
I are Troll :suss:
-
I work alone, and I have developed a huge desktop app, probably a quarter million lines of code, that has evolved for well over 10 years. I keep thinking it would be nice to convert it to a browser UI, but have watched many technologies go by, like asp, ajax, and now there's webmatrix, and sometimes I wonder whether I should take the leap, or whether it may cost me another 10 years to rewrite it for the web. It uses .NET remoting, and is multithreaded, so wcf and parallel programming come to mind as well. Fear promotes a lack of action, but knowledge defeats fear, so I thought I'd submit this general question to the "big team" out there in the code project universe. :)
____________________________________________________________________________________ The Vulcan Science Directorate has determined that time travel is impossible.
I would say before you dive in, restructure your code base to enforce a presentation layer, and if feasible (or not already accomplished) pull all the presentation layer off into a separate solution. this will make the development of even code behind faster. if you can, get everything scrunched down to one form, with all the necessary controls displayed on that single form. once you've accomplished this the mapping of winforms to webpages is quite simple (and if your comfortable spending about a week slopping code around flagrantly) you can etch out a crude close approximation first gen WebApp rather quickly. Really the "functional template" has already been written (legacy code) and you want to float a new UI on it, so Hack together a minimal UI (in appearance only) and then focus on getting everything to stitch together...
I'd blame it on the Brain farts.. But let's be honest, it really is more like a Methane factory between my ears some days then it is anything else...
-
I work alone, and I have developed a huge desktop app, probably a quarter million lines of code, that has evolved for well over 10 years. I keep thinking it would be nice to convert it to a browser UI, but have watched many technologies go by, like asp, ajax, and now there's webmatrix, and sometimes I wonder whether I should take the leap, or whether it may cost me another 10 years to rewrite it for the web. It uses .NET remoting, and is multithreaded, so wcf and parallel programming come to mind as well. Fear promotes a lack of action, but knowledge defeats fear, so I thought I'd submit this general question to the "big team" out there in the code project universe. :)
____________________________________________________________________________________ The Vulcan Science Directorate has determined that time travel is impossible.
I've been intrigued by Morfik. I was "forced" to learn TurboPascal to support manufacturing systems and that migrated to Delphi which I use for my own personal work apps (nothing commercial). The ability to reuse a large part of the existing code is very attractive to me but I haven't really studied Morfik in depth to see how easy/hard a conversion could be. Just a thought...
-
Why not just make it a Click Once "Smart Client"? Then you can keep it a windows application, but deploy it from the web like a Java Applet. You'll probably need very little code changes, it's more of a deployment option really and simple to implement. Unless you have a customer willing to finance the effort, it's probably not worth the massive amount of coding you'll need to do. You can do smart client in a day. The beauty of Smart Client apps is that you have a single install location (on the web server) to keep up to date. When the user clicks the icon, it automatically goes out to check for a new version and downloads it before starting up the app. It's really best of both worlds...
Reminds me of something I did several years ago with a VB6 application...seperated it into logical modules, made each module a user control ocx, then hooked them up on a simple web page. The customer wanted a web application, and that's what they got...an spplication that is run in a web browser (IE only though) but behaves as a desktop application. In addition, the web page and controls could be run in offline mode (not so critical these days) and updates were automatically downloaded to the client. This setup worked extremely well for many years.
-
MY first question is why? Does it really need to be a web bassed app? What value do the users gain, or are you just looking for something cool to try :) The only reason I bring it up is because it could be a SIGNIFICANT effort. You might get more value by simply migrating parts of the application engine over to Dotnet instead.
-
My question is: why is there such a huge gap?
Agh! Reality! My Archnemesis![^]
| FoldWithUs! | sighist | µLaunch - program launcher for server core and hyper-v server.GAP? I'm not sure what you are referring to when you say 'gap'. I am assuming you mean why did they make such a big JUMP from all server side based stuff to forcing you all of a sudden to a totally separated model? I am not sure if there was any other way it could have been done gradually. If I am not understanding you then let me know.
-
I work alone, and I have developed a huge desktop app, probably a quarter million lines of code, that has evolved for well over 10 years. I keep thinking it would be nice to convert it to a browser UI, but have watched many technologies go by, like asp, ajax, and now there's webmatrix, and sometimes I wonder whether I should take the leap, or whether it may cost me another 10 years to rewrite it for the web. It uses .NET remoting, and is multithreaded, so wcf and parallel programming come to mind as well. Fear promotes a lack of action, but knowledge defeats fear, so I thought I'd submit this general question to the "big team" out there in the code project universe. :)
____________________________________________________________________________________ The Vulcan Science Directorate has determined that time travel is impossible.
-
BobishKindaGuy wrote:
I keep thinking it would be nice to convert it to a browser UI
Why?!? Why does everyone think creating a web app is the solution to every problem? :( :sigh: :doh:
Machaira wrote:
Why does everyone think creating a web app is the solution to every problem?
Good question! I wish I didn't have to consider it. But there are some good reasons. See my answer to Ray Cossack.
____________________________________________________________________________________ The Vulcan Science Directorate has determined that time travel is impossible.
-
I would say before you dive in, restructure your code base to enforce a presentation layer, and if feasible (or not already accomplished) pull all the presentation layer off into a separate solution. this will make the development of even code behind faster. if you can, get everything scrunched down to one form, with all the necessary controls displayed on that single form. once you've accomplished this the mapping of winforms to webpages is quite simple (and if your comfortable spending about a week slopping code around flagrantly) you can etch out a crude close approximation first gen WebApp rather quickly. Really the "functional template" has already been written (legacy code) and you want to float a new UI on it, so Hack together a minimal UI (in appearance only) and then focus on getting everything to stitch together...
I'd blame it on the Brain farts.. But let's be honest, it really is more like a Methane factory between my ears some days then it is anything else...
ely_bob wrote:
restructure your code base to enforce a presentation layer
My wife and I were discussing this last night, and that is exactly what I realized would be the first step! A windows form has 3 files, the resx (which is the pics, which a web page also fetches), the designer, which is the layout, which a web page also must generate, and a code file, which a web page also has. If I create that 4th file, a class that has all the real code in it, that is the file that will ultimately go on the server side.
ely_bob wrote:
pull all the presentation layer off into a separate solution
Hadn't thought of that point of putting it in a different solution. Perhaps you could share the motive for separating it to that degree. Excellent practical advice, thank you!
ely_bob wrote:
all the necessary controls displayed on that single form
Why a single form? I'm sure you are saying this from experience.
____________________________________________________________________________________ The Vulcan Science Directorate has determined that time travel is impossible.
-
BobishKindaGuy wrote:
Also, I want whatever I do to look way cool
No, you don't. You want whatever you do, done right. A working Windows 3.1-application will always beat an exception in Silverlight 6 in terms of usability. Make sure you produce a car that can be used for driving, before you start pimpin' it.
I are Troll :suss:
Eddy Vluggen wrote:
No, you don't. You want whatever you do, done right.
I hear you. The first priority is to produce a stable working model, then shine it up afterwards. But the shine must come before you show it to the world, at least in some environments, wouldn't you agree?
____________________________________________________________________________________ The Vulcan Science Directorate has determined that time travel is impossible.
-
I work alone, and I have developed a huge desktop app, probably a quarter million lines of code, that has evolved for well over 10 years. I keep thinking it would be nice to convert it to a browser UI, but have watched many technologies go by, like asp, ajax, and now there's webmatrix, and sometimes I wonder whether I should take the leap, or whether it may cost me another 10 years to rewrite it for the web. It uses .NET remoting, and is multithreaded, so wcf and parallel programming come to mind as well. Fear promotes a lack of action, but knowledge defeats fear, so I thought I'd submit this general question to the "big team" out there in the code project universe. :)
____________________________________________________________________________________ The Vulcan Science Directorate has determined that time travel is impossible.
Correct me if I am wrong, but it seems to me that web applications are mainly for publishing type of applications. In other words, if your desktop applications involve a lot of user interactions, then they may not be suitable for the web. Otherwise, it is not too bad to port them using either of the current available technologies.
-
If you don't like the xaml then forget RIA, seems to want to move everything into the xaml. Also the latest MS demos seem to lean almost exclusively to EF as the DAL, I find that distressing and chucked the entire RIA concept out. We are just about finished our MVVM code generator so we should be getting a bit more production. My first .net book was on Dotnet Remoting, trying to learn dot net and remoting from scratch, what a nightmare. Eventually someone slapped me and pointed me to an ordinary winforms app and I never looked back.
Never underestimate the power of human stupidity RAH
Mycroft Holmes wrote:
the latest MS demos seem to lean almost exclusively to EF as the DAL
Sorry, what is EF?
____________________________________________________________________________________ The Vulcan Science Directorate has determined that time travel is impossible.
-
When the app is well-structured into several layers (UI/presentation, business logic, data access), you could reuse most layers unmodified, and simply modify/add another presentation layer. If it isn't well-structured yet, now is the time to spend the effort. :)
Luc Pattyn [Forum Guidelines] [Why QA sucks] [My Articles] Nil Volentibus Arduum
Please use <PRE> tags for code snippets, they preserve indentation, and improve readability.
modified on Wednesday, July 21, 2010 9:18 AM
A well developed .NET desktop app should be easily ported to ASP.NET. You do however want to analyze the server requirements and the load that it may encounter. If it's a calculation intensive application (ie: Scientific, 3D graphics, etc) then it may be better as a desktop app.
-
If you don't like the xaml then forget RIA, seems to want to move everything into the xaml. Also the latest MS demos seem to lean almost exclusively to EF as the DAL, I find that distressing and chucked the entire RIA concept out. We are just about finished our MVVM code generator so we should be getting a bit more production. My first .net book was on Dotnet Remoting, trying to learn dot net and remoting from scratch, what a nightmare. Eventually someone slapped me and pointed me to an ordinary winforms app and I never looked back.
Never underestimate the power of human stupidity RAH
Mycroft Holmes wrote:
someone slapped me and pointed me to an ordinary winforms app
If you get a mo, could you point me to some article or resource that exemplifies this experience? I would love to see that too. Slap me !!
____________________________________________________________________________________ The Vulcan Science Directorate has determined that time travel is impossible.
modified on Thursday, July 22, 2010 1:06 PM
-
Eddy Vluggen wrote:
No, you don't. You want whatever you do, done right.
I hear you. The first priority is to produce a stable working model, then shine it up afterwards. But the shine must come before you show it to the world, at least in some environments, wouldn't you agree?
____________________________________________________________________________________ The Vulcan Science Directorate has determined that time travel is impossible.
-
Correct me if I am wrong, but it seems to me that web applications are mainly for publishing type of applications. In other words, if your desktop applications involve a lot of user interactions, then they may not be suitable for the web. Otherwise, it is not too bad to port them using either of the current available technologies.
Cloud computing or SAS proponents would say the opposite. Salesforce.com would be considered very user interactive.
-
My question is: why is there such a huge gap?
Agh! Reality! My Archnemesis![^]
| FoldWithUs! | sighist | µLaunch - program launcher for server core and hyper-v server.peterchen wrote:
why is there such a huge gap?
Please elaborate on what you mean by gap, since that is probably a question that needs answering.
____________________________________________________________________________________ The Vulcan Science Directorate has determined that time travel is impossible.