|
You can absolutely write WPF/C#/.Net apps, in fact the Windows Runtime (henceforth WinRT) is just a COM based wrapper around exiting APIs already present in Win32 and the .Net framework and apps can be made in C# or C++ with UIs built in XAML (also in HTML/JS). There is also a set of APIs that are "whitelisted" that are present in the Win32 APIs but are not present in WinRT, that can still be included in store apps and work on Windows RT systems.
So your investment in WPF didn't get obsoleted, it just went multiprocessor.
|
|
|
|
|
Yes I know WPF will run on Windows 8 - but is it considered obsolete that Metro is the new and upcoming and all new candies will be allocated to Metro and not WPF?
Remember Winform > WPF > Metro evolution?
When WPF came out all of sudden seems like Winform no longer cool or funky, like a piece of old technology ready to be spitted out even by Microsoft itself
dev
|
|
|
|
|
No I don't think you understand me.
I'm not saying WPF runs on Windows 8 (which it does on non-RT systems), I'm saying if you have a significant investment in WPF then that investment isn't lost because the development environment, methodologies, and tools are the same ones you'll using to develop Windows Runtime apps. The composition of which is very much like what you'd find on Silverlight or Windows Phone.
If you're leveraging MVVM at all via Caliburn Micro or MVVM Light, those tools are already or soon coming to the Windows Runtime. We have been able to rapidly move our view models from Caliburn Micro desktop apps to Metro apps and it's been an amazing experience in comparison to some the other feature shifts in the .Net world (which I think is the crux of your Winforms example). We also heavily leverage Autofac in our environment, and it has been built as a portable class library for some time now, enabling us to simple tweak (not rewrite) our code and it again has been a top notch experience.
Summing up my rant: WPF isn't going anywhere with the shift to the Windows Runtime, it's just changed slightly. (and did I mention that the desktop isn't going anywhere either
|
|
|
|
|
... I'm not interested in moving our view models from one environment to another, I'm not least bit interested in "Paradigm Shift" - I just want publish apps and income stream coming in.
Unless there's a real increment to capability (i.e. monetary incentive) offered by the new environment/framework, it's a complete waste of effort to migrate to the new platform. Our experience moving from Winform to WPF was exactly this - that the then newer WPF platform was nothing more than a "Paradigm shift", there's no real addition to what Desktop Apps can do. (Imagine yourself having to justify Winform to WPF migration?)
Same can be said for Socket>WebService>WCF migration. Everything from serialization/compression/encryption/load distribution can be so easily done by code/libraries previously written, why bother with hassle of having to memorize WCF configurations? So much hype and so little "Capability".
Now, having read this[^], it appears that "Desktop Apps" (WPF/Winform) will continue run on Windows 8. However, "Metro Style Apps" (touched based/enabled apps) will be built on top of the brand new WinRT API. If I'm not mistaken, the only real addition this time around is that Metro Style apps will be "Touched Enabled", and "Tablet like".
I guess, we need to revisit the fundamental questions every so often
- What can computer do [differently]?
- What can you application do [differently]?
Way I see it, Windows 8 and WinRT - sounds like small/incremental improvement but a lot of code changes/work be done to port code from .NET to WinRT. "Radical" is a gross over-statement.
dev
modified 18-Oct-12 11:34am.
|
|
|
|
|
Chris Maunder wrote: The split of the UI, however, is so clumsily done that the fall is the worse for it being on something that should be so much better.
I agree that it is quite clumsy, and the context switching is a jarring experience, but from a UX perspective it gets even worse.
One of my first experiences when I installed Win8 on my laptop last week was installing Chrome then logging in to Twitter. After a bit of dev work I alt+tabbed back to Chrome, navigated to Twitter then discovered that it had forgotten my credentials.
After much head-scratching I realised that I had logged in and stored my auth details on the 'Metro' Chrome, but the second time had navigated to a desktop Chrome Window. Your "average joe" user is never going to work that one out!
As an app developer I really want to communicate between these two divides in the OS. For example, if I developed a desktop / metro twitter app I would like to share state so that an end user could use the Twitter client in desktop mode at their desk, then pull their fancy tablet from the dock to go for a walk, open up the Metro Twitter client and find their feed is at exactly the same scroll position.
I'm tempted to write a simple concept app to show how I think this sort of thing should be done!
Colin E.
|
|
|
|
|
Colin Eberhardt wrote: I'm tempted to write a simple concept app to show how I think this sort of thing should be done!
Please do! Seriously - this would be incredibly valuable.
cheers,
Chris Maunder
The Code Project | Co-founder
Microsoft C++ MVP
|
|
|
|
|
Are you going with the message bus approach? That's what I've been playing around with - getting it sitting nicely in the MVVM world takes a little bit longer, but it's worth perservering with. Hmmm - I'm currently working on a Windows 8 desktop app - it wouldn't take much to reuse the code base inside the Metro world.
|
|
|
|
|
message bus? no - I had a completely different approach in mind. I'd really like to have app session state that is cloud-based and accessible from any device. That way you can move from one device to the next, from desktop, to metro, to phone.
Just wondering what you mean by message bus? I have seen a few WCF-based solutions. Is there something more standard?
|
|
|
|
|
I misspoke using the term MessageBus - strictly speaking, what I am talking about is using a ServiceBus. I'm currently using one that runs on a single machine only, but it wouldn't be that hard to convert it to use the Azure Service Bus to give the same functionality you are describing. Effectively, it would just be a plug and replace version for the service bus we are currently using.
I got the idea for this from Mike Brown months ago - I'm pretty sure the germ of your idea will have come from the same source, so it will be interesting to see what you've come up with.
Incidentally, I'm porting your Phone Interaction stuff to work with WPF on Windows 8. That's been quite interesting.
|
|
|
|
|
Colin Eberhardt wrote: I'm tempted to write a simple concept app to show how I think this sort of thing should be done! Don't just be tempted...do it!
We could use to see such an app.
|
|
|
|
|
< I'm going to respond at length here, because I feel this is such a critical issue for the future of Win 8, and Win devs >
Colin, my first thoughts, after reading the details of Win 8's schizophrenic marriage of Desktop and Modern/ex-Metro modes on Intel CPU's, as early as May-June, were: about the issue you describe: of possible inter-operation between the two modes.
I believe I posted a question here on CP about that issue more than several months ago, and asked: what is the technical road-block between an application running in Windows Desktop presenting an (optional) Modern UI, and interacting with it at very high-speed, as the end-user does whatever, or an incoming data feed changes ?
I believe the answer to that question, here on CP, was: that, at that point in time: the only known way for the two modes to inter-operate was by both setting a "file change watcher," and each mode getting a notification: which would mean, of course, that Modern would have to parse the changed file, and do whatever ... and vice-versa.
That information, seemed to me, at the time, baffling, almost absurd: if that remains true now: I'd conclude that effectively renders dynamic inter-operation between modes for 99% of applications impossible.
However, there may be no mystery here: the lack of inter-operation could be by design by MS. Or, also plausible, I think, is that this is not by design, but just the "fall out" of having separate gigantic teams at Microsoft not being concerned with this issue.
But, I think the scenario you propose here is not really dynamic inter-operation: when you describe the end-user essentially switching from one mode to another, in your example of someone "walking off" with a Surface in Modern UI "at the same place" they were in using a Desktop application, I see that as a more static scenario that requires a one-time creation of equivalent UI and state. So, in that scenario, simultaneous updating of any "symbiotic" Desktop UI and Modern UI applications do not have to be performed.
Note that I am not crusading here for "dynamic inter-operation:" I can see a much more likely scenario as being the end-user wanting to switch from a Desktop app with a very complex UI to a Modern UI that is much less complex, or more limited in functionality.
Second, I can easily imagine a somewhat "dynamic scenario" that, in the "Enterprise space," such an important revenue source for MS, that a big company would want workers "outside the office," with a tablet with UI in Metro Mode, that was communicating back-and-forth with some Desktop app presenting the full Desktop UI "back in the office" (or server-side app ?) via wi-fi, cellular, internet cloud, via whatever. Or, said field worker returns back to the office, and docks the tablet, and then: there's the full-featured Desktop UI "in the same place" as you describe.
However, from what you say here, and whatever Pete O'H. is referring to with the term "message bus," I assume there's an alternative in the area of inter-operation now, or, at least, you are exploring that area.
I look forward to hearing more from you about your work, and I'd relish hearing more from Pete O'H., about the "message bus" whatever.
And, I "add my vote to" the other comments here that suggest there's great value to CP, to all of "us," in your writing about whatever work on inter-operation, or "mode state-swapping," you are doing ... when the time is right for you to do so.
Naturally, I welcome any response to these comments; if my neck's out of joint on the issues here, I welcome any free chiropractic manipulations, even if they: "crack me up"
best, Bill
~
Confused by Windows 8 ? This may help: [ ^] !
modified 17-Oct-12 4:14am.
|
|
|
|
|
Bill - you can find an idea of what I'm talking about here[^]. Currently I'm sticking to a single machine, but the idea of the whole distributed app fabric really does interest me. The areas I've been concentrating on relate to how to partition things so that they make sense when you take multiple application form factors into account. It's proving to be an interesting challenge.
|
|
|
|
|
Chris Maunder wrote: I can't stand it. What I can't stand most is that, at its core it's an excellent OS. Security, the tweaks like the resource manager, file copies, the underlying security, and the general stability is excellent. A far more stable and flexible OS than iOS, and I use both.
The split of the UI, however, is so clumsily done that the fall is the worse for it being on something that should be so much better. I used to go back to iOS and complain about dumb things like having to eject USB storage, or not being able to shake a window and have all other windows collapse, or the stupidness of the "+" sign on iTunes minimising it. Now I no longer complain. Now I just stay quiet and sad.
I couldn't have said it better myself.
|
|
|
|
|
I like Windows 8 for it's beautiful design .
|
|
|
|
|
anntony_wang wrote: I like Windows 8 for it's beautiful design .
Really? Ok, likes and dislikes are highly personal. But honestly, this is the first time I really think they over-designed this part of software. By over-designing I think of letting look and feel decide or overrule technical details too much.
The marriage between mobile and desktop ends in many many small compromises, which in the end sound like: We want do have it all! Why, MS, do you think you can do Desktop AND Mobile? These two things have so few things in common I think, that putting them "somehow" together ends up with a big confusion for all users. Even MS fanboys will have a hard time.
I would have highly appreciated a software vendor deciding to support the desktop like it always did, and in parallel launching it´s Apple clone "Surface" with lets say "Windows 7 Mobile"...
But it was not decided this way. Still I could somehow live with it. I could switch to Linux now. But....
WHY on earth the whole world starts to adopt metro design NOW? Webpages and lots of 3rd-party stuff looks really like Kindergarten design now. With all graphic & CPU power, we reduce icons to 2-color schemes, making all things boxy?
Its an offense for my eyes and for the whole development of GUI & stuff to finally end up with this simplyfied, stupid looking designs. Thats what is my pure personal meaning.
regards Florian
|
|
|
|
|
"With a host of new tools and capabilities--such as Secure Boot, Windows To Go and greatly improved file management--Windows 8 may have broad appeal in a variety of businesses."
You're kidding, right? I mean, I sure can't wait for secure boot! I'll be so secure from installing non-Microsoft software!
http://www.yannbane.com/
|
|
|
|
|
Everytime I logon onto my Windows 2012 server or Windows 8 machine I can't help but reminded that if I wanted a MAC I would have gone to the Apple Store up the street and bought one!
RAM
|
|
|
|
|
In my times we used the command line and we didn't care about flashy "GUIs" that just distract people from their job...
Seriously, i like the new Windows 8, it seems modern and fresh, what i dislike is the disaster they made with the API, if you come from Win32 you won't find it familiar, if you come from .NET you won't find it famaliar either, i would have prefered that they stick with .NET and just add Async calls to their methods and block the non Async calls in Modern UI Apps, but whatever, compatibility APIs, may be a good bussiness for me.
|
|
|
|
|
GeekForChrist wrote: Give it some time and you might like it too.
Some prisoners find that after many years that they prefer prison to the rest of the world.
However myself I don't see that as being an effective argument for being in prison.
|
|
|
|
|
jschell wrote: Some prisoners find that after many years that they prefer prison to the rest of the world.
However myself I don't see that as being an effective argument for being in prison. I see your point and I agree with it.
And if someone would get me out of prison (aka: buy me a Mac), I would be willing to try life outside of prison.
|
|
|
|
|
I've considered buying a Mac, until I realized it's in the high-security tract.
I may yet switch to Linux, but as jschell said, life out of prison may not appear preferable: suddenly you need to take care of all kind of things you were taking for granted...
|
|
|
|
|
Stefan_Lang wrote: suddenly you need to take care of all kind of things you were taking for
granted... I'm with you there.
I tried Ubuntu for a bit but I got really frustrated because I couldn't understand how to do anything beyond what a "regular" user could do.
In short, I couldn't be the "expert" I wanted to be.
|
|
|
|
|
I may need more information, but after reading a dozen or more articles I'm still missing even a single argument for switching to W8. I only use Windows on high-end desktop PCs. Metro is pointless or even outright bad for my purposes, so I won't be using it. I am not aware of reasons in favor of W8 outside the UI that would even apply to my main use of a PC.
Metro may be good to use on devices that are designed for gesture-based input, but currently I consider it detrimental for using it on workstations. I could of course run W8 in desktop mode, but I wouldn't know why.
Maybe the articles I read focus too much on Metro; I am lacking information about the improvements made to the core OS, and have a hard time finding any. Are there no relevant changes in this area?
|
|
|
|
|
Stefan_Lang wrote: Maybe the articles I read focus too much on Metro; I am lacking information
about the improvements made to the core OS, and have a hard time finding any.
Are there no relevant changes in this area? I haven't seen anything good happen in the core OS either.
I guess I'm an oddball in the fact that I've begun to appreciate Metro.
|
|
|
|
|
In an unprecedented move, Microsoft earlier this week shipped four non-security related updates to its Windows 8 operating system--barely two weeks before it goes on sale on October 26. This could be interesting.
|
|
|
|
|