locked
Best Practice for Simulatneous Developing for Win Store and Win7

    Question

  • Hello -

    Let me get a bit of context out of the way:  I develop assistive technology related software.  Much of this software is designed to run on devices built by OEMs that contain alternate accessibility devices (such as eye gaze input).  Because of this, I have no control over the hardware and/or OS my users will run, and I need to support both Windows 7 and Windows 8.

    Is there a set of best practices for creating applications to run on both Win7 and Win8?  Am I forced into creating a Win7 compatible .NET application and push that out to Win8?  Do I need to maintain duplicate code across two projects?

    Thank you in advance.


    This posting is provided "AS IS" with no warranties, and confers no rights.

    Thursday, September 25, 2014 7:08 PM

All replies

  • How exactlly does this work? Is your software acting as an alternative input device by e.g. sending keystrokes. If it's mainly about the Desktop usage a Windows 7 Application should work on Windows 8 just the same. Apps using the WinRT don't really have the option to influene the operation of other Apps (like sending text input/pointer events to them).

    When it comes to the touch friendly Windows Store App environment you can share some code using PCLs (Portable Class Libraries) but not all functionality available in the Desktop .Net Environment is available in WinRT and vice versa. Input and UI code largely aren't portable in that way however.

    So basically you can stick to the Desktop which is available on Windows 7 and Windows 8 just the same or maintain Windows 7 and additionally the Store Apps with quite little overlap.

    Hope this answers at least part of your question.

    Thursday, September 25, 2014 10:12 PM
  • I am sorry, by trying to add context I seem to have provided additional fog.  My software is not acting as an alternative input device, but some of my users will interact with my software using the alternative input devices.  Let's simplify by saying my user base is split between Win7 laptop users and Win8 tablet users.  Which means I have to write software that supports both Win7 desktop and WinRT environments simultaneously.  I am hoping that this does not mean maintaining two parallel code bases.

    I am guessing I am going to need to architect my deployment to be a series of shared PCLs and separate "executables" that simply make sure the right Window / Page is launched at startup as well as processing the command line (or equivalent).


    This posting is provided "AS IS" with no warranties, and confers no rights.

    Friday, September 26, 2014 1:13 AM
  • When it comes to the UI I fear you won't be able to share much (if any) code between a Desktop Application and a Windows Store App. You can use PCLs to share most of the business logic though.

    For example the layouting behavior is different between WPF and Windows Runtime, even though both use XAML in order to define the UI.

    Wednesday, October 8, 2014 2:39 PM