-3

Intro and motivation

These articles WinRT the new Silverlight and WPF and Windows and Line of Business Applications: No Good Options are talking about some of the new technologies microsoft has come up with in the recent years and the fact that some of them are in maintenance mode without further improvements. This plethora of new technologies makes it difficult to get an overview and to decide which one might fit best.

In this White Paper: Assessing the Windows 8 Development Platform under Appendix A you can find this Technology Comparison Chart:

enter image description here

This table is already very informative but it lacks a few things.

My Question

I am looking for an overview which technologies are working under which system. A table that relates hardware (, ,) to operating system (,,,, ,) and the relevant technology (, , ,,, ).

Operating System                                                | Technology
Win-7  Win-8   Win-8.1   Windows RT  Win-Phone-7.1  Win-Phone-8 |
 ------------------------------------------------------------------------------- 
  x     x       x           ?          ?             ?          | Winforms
  x     x       x           ?          ?             ?          | Wpf
  x     x       x           ?          ?             ?          | Silverlight
  x     x       x           ?          ?             ?          | WinRT
  -     x       ?           ?          ?             ?          | Winjs
  -     -       X           ?          ?             ?          | Winjs-2.0
  ?     ?       ?           ?          ?             ?          | ?Win-Phone-Tech 7?
  ?     ?       ?           ?          ?             ?          | Windows Phone 8 SDK
 ----------------------------------------------------------------------------            
  d     d       d           t          p7            p8         | Hardware

For the technologies i would like to know if they allow more classical windows apps (many applications with different windows size freely placeble on the screen) or tablet mode (only a certain set of window positions)

In the row hardware the letters stand for the following (d=classic Desktop operating system, t=tablet system for ARM cpus, p* = phone operationg sytems)

Update some links

On or Offtopic

According my understanding of What topics can I ask about my question lies within the bullet points software tools commonly used by programmers and practical, answerable problems that are unique to the programming profession.

I do not understand all the downvotes, compared to wpf - Windows 8 and LOB my question does not seem to be too much different.

Community
  • 1
  • 1
  • 2
    This is not a programming question. – Mike Lischke Jul 11 '13 at 13:16
  • 3
    Well, especially Stack Overflow is meant to be a FAQ style site. It's more about problem solving and questions touching the tools/languages. Overly broad questions like "which platform should I use" or "which is the technology I should invest in" are beyond the scope of SO. – Mike Lischke Jul 12 '13 at 07:12
  • I adjusted the title to avoid misunderstandings. I am not after a "use this technology" answer. I am looking for an overview which shows what technology is able to do what kind of development (classical desktop vs. more restricted tablet, touch vs no-touch) and which of them are meant / well suited for different msft operating systems. –  Jul 12 '13 at 07:40
  • In the spirit of improving yourself... You are still asking for a list of recomendations - which still is not a programming question. You can call it 'list', 'technology stack' or whatever... It's still asking for a list of recomendations on what to use. – e-sushi Jul 20 '13 at 06:50
  • @e-sushi: To quote myself `[... these] makes it difficult to get an overview and to decide which one might fit best` and `I am looking for an overview which technologies are working under which system.` I can not find any call for recommendations. –  Jul 20 '13 at 15:00
  • @e-sushi, interesting fact - [the kind of similar question](http://stackoverflow.com/questions/7436949/windows-8-and-lob-apps?rq=1) where author clearly ask for advice: "So if you were going to launch a desktop app to coincide with the release of Windows 8 - what would be the prefered use of technology. (I get the impression WPF is on the way out)..." was judged by thе community as a pretty well question (21 votes up). – Sevenate Jul 21 '13 at 09:19
  • @threeFourOneSixOneThree, no worries. Glad it useful for you. – Sevenate Jul 23 '13 at 21:34

1 Answers1

1

Well, I agree that this type of question is not really for SO, and, more over, I very believe that you have included things in one table that are actually should not be there as different items (for example, Win-8.1 will be free and pretty mandatory update for all Win-8 systems so I don't see any reason to bother about what will work only on Win-8.1 and not on Win-8), but anyway here is may be what you are looking for:

Operating System                                                | Technology
Win-7  Win-8   Win-8.1   Windows RT  Win-Phone-7.1  Win-Phone-8 |
------------------------------------------------------------------------------- 
  x     x       x           -          -             -          | WinForms
  x     x       x           -          -             -          | WPF
  x     x       x           -          -             -          | Silverlight
  -     x       x           x          -             -          | WinRT
  -     x       x           x          -             -          | WinJS
  -     -       x           x          -             -          | WinJS-2.0
  -     -       -           -          x             -          | Windows Phone 7 SDK
  -     -       -           -          -             x          | Windows Phone 8 SDK
----------------------------------------------------------------------------            
  d     d       d           t          p7            p8         | Hardware

If you are considering what MS technology to use for all future development for desktop, tablet and mobile hardware I would suggest to forget about Winforms, Silverlight since they are pretty things in the past for MS (yes, they will support them for some time, but, you know, not forever and don't expect any new features for them).

For "classic" desktop apps, when user will be able to managed apps windows in the, well, classic form - only WPF is the reasonable way to go.

For table and mobile apps - WinRT is the future. Also you've mentioned WinJS - this is not actually a technology but rather JavaScript API to WinRT (opposite to .NET API to WinRT).

So, as a bottom line:

  1. WPF/C# project - for classic desktop mode on PC (app will run on pretty much all major Windows versions);

  2. Windows Store 8.1/C# project (leverage WinRT) - for all Windows RT tablets and "Metro mode" on PC with modern Windows 8.x

  3. Windows Phone 8/C# project (leverage Windows Phone 8 "tech") - for modern windows phone mobiles

  4. (optional) Windows Phone 7.5/C# project (leverage Windows Phone 7 "tech") - for old windows phone mobiles

  5. (recommended) Portable Class Library project - to share common c# (or even xaml partionally) code base for all project above.

Sevenate
  • 6,221
  • 3
  • 49
  • 75
  • @threeFourOneSixOneThree, even if WPF is in maintenance mode (I would say rather it is just not a top priority for MS at this right moment, since they are pushing hard clouds and mobile), but it IS and WILL BE the best technology to use for classic desktop mode on Windows until this classic desktop mode will gone forever. But this should not be very soon, I believe. – Sevenate Jul 14 '13 at 19:49
  • @threeFourOneSixOneThree, as for WinRT - yes, you right at this moment the assemblies, namespaces, class names etc - are different (more or less) for tabled and mobile, but you could greatly share code base for this two project types (Windows Store - for Win-8.x and Windows Phone 8) even the GUI part will still be different. – Sevenate Jul 14 '13 at 19:53
  • @threeFourOneSixOneThree, as for "name of phone 8 gui-technology" I'm not sure if that is actually a technology, but some time ago the Windows Phone 7.5 OS has code name **Mango** and Windows Phone 8.0 - **Apollo**, but everybody I know refer to this kind of things just simple "Windows Phone 7.5 or 8.0 SDK" :) – Sevenate Jul 14 '13 at 20:24
  • I'm confused - if you think this question doesn't belong on SO, why do you answer it instead of flagging it? Doesn't make sense, unless you desperately need that bounty (which would be a shame if that was your motivation). – e-sushi Jul 20 '13 at 06:56
  • 1
    @e-sushi, mostly because I humbly decided that I understood the question and it seems simple enough for me to answer it relatively quickly. Generally speaking, I believe some people ask such questions ("what can do what") mostly because they are responsible for such key decisions ("what to use or what tech way their company will go"), but luck a bit of experience in several aspects and looking for kind of authoritative advice. And, thus, they should be prepared that the advice will be kind of subjective. – Sevenate Jul 20 '13 at 23:03
  • And yes, if this question would have been without a bounty - I probably would not have even noticed it at all. Try to think about this as a fee for excuse. – Sevenate Jul 20 '13 at 23:10