...unless it's already designed to be cross-platform "aware".
Usually my apps have been web based so cross platform support haven't been a great concern for me.
Even tho, sometimes the same app had several front-ends like Windows, Web and console.
To overcome this all business is always behind a self-contained service and/or dll.
This way I'm sure the behavior is the same no matter from where the action request comes from and I only need to build a team to develop the new UI.
I'd use all of those (except "Use application hosting environments or automated porting tools in the hope of not doing any coding at all" and "Not even bother. I don't port."), depending on the demands of the application, the requirements of the customer, and my own personal preference for a project.
So far, all attempts I've made to automatically use a hosting or porting solution tends to involve more work than doing the work by hand. Maybe I'm just unlucky.
What is the difference between the second and third supposed to be?
"Port an existing application as much as possible, ensuring it works well on the framework" and "Port an existing application as-is, keeping as much as possible the same across different platforms" look like different ways of saying "port it while changing as little as possible/neccesary" to me.
Did you ever see history portrayed as an old man with a wise brow and pulseless heart, waging all things in the balance of reason?
Is not rather the genius of history like an eternal, imploring maiden, full of fire, with a burning heart and flaming soul, humanly warm and humanly beautiful?
Training a telescope on one’s own belly button will only reveal lint. You like that? You go right on staring at it. I prefer looking at galaxies.
-- Sarah Hoyt
No. Option 3 is supposed to mean that you rewrite as little as possible, possibly not using all the new features and capabilities. Option 2 means that using the new features has priority over preserving existing code, possibly requiring to write more time and work.
Porting applications had become a secret hobby of mine. Thanks to Mickeysoft. I had a program that started out as a website, then became a Windows Forms client, moved on to WPF and ended up full 3D with an own graphics engine and GUI. Mickeysoft's way of convincing us that Win 8 is a great thing led to yet another long list of things that would have been to be ported or rewritten and I'm not sure I would have been finished by the time they come with their next great idea. Now I'm porting my code for a last time. To C++ and anything else that's helpful and not made by Mickeysoft.
Experience has shown that the only important part (aside from inhumanly perfect bug-free code) is the look-and-feel be as similar as possible for the transition. This applies to both user and management acceptance.
There's a lot to be said for just starting 'fresh', but there's a lot of legacy data, and more of it every day.
On the bright side, this will really be a great help to the company, and as they've been rather nice to me, a battle I will engage with determination to make it work.
(Why did I write this? What's wrong with me this morning?)
"The difference between genius and stupidity is that genius has its limits." - Albert Einstein
"As far as we know, our computer has never had an undetected error." - Weisert
"If you are searching for perfection in others, then you seek disappointment. If you are seek perfection in yourself, then you will find failure." - Balboos HaGadol Mar 2010