I read an article this morning that the silverlight.net site was taken down, or more accurately, redirected to the msdn site. I've spent the past year investing in the technology and now I'm looking to be more and more a fool for having done so - I was interested in using Silverlight as my new desktop application technology. It seemed to be a good approach as it would help prepare me for Windows RT.
Frankly, at this point, Microsoft can go die in a flaming vat of Malaria for all I care.
I don't want to use the HTML stack because it's the most poorly constructed flaming pile of dog poop I've ever encountered. Not every application should have to be in the internet - I don't want to have to master a dozen different technologies distributed by a dozen different insecure companies that needlessly iterate products for the sole purpose of incrementing the version number. Getting them to play nice is a nightmare.
At this point I've no idea what I'm supposed to use for desktop applications as my company won't be going to Windows 8 for at least 3 years - if not longer. Microsoft seems intent on pissing away application development in favor of the idiotic consumer market - because we all know we need more content that feature LOLZ CATS.
Why the hell should I embrace Windows RT when it will be replaced by Windows XX or some other nonsense? I'm trying to write business software here - I cannot have a complete ecosystem change every 24 months because when it costs $50K plus to develop software it needs to work for 10+ years to realize a decent ROI. Oh no matter that - I'll port 10,000 man hours of applications to Silverlight, then RT, then ??, then ??, then ?? over the course of 9 months while picking up a dozen new ways of doing things. No problem - we can afford a staff of 200 people to keep up with it.
*checks the want ads for a opportunties to work as a dish washer*
Our migration from a VB6 application to a Silverlight one began before Muglia's comment and Muglia dropped the bomb mid-way into development. At that point, the options were to 1) scrap a lot of work that was showing a ton of progress and re-evaluate direction or 2) move forward. We chose to move forward and the end result is a really, really powerful Silverlight LOB application. To get where we got to using HTML/js and to have the architecture be one we're relatively pleased with would have such that we wouldn't be halfway to where we are today (and I highly doubt we'd have the same sort of user experience).
To me, it's not just Silverlight but really the combination of mobile objects and Silverlight that have made this happen.
Now, we're still investing pretty reasonably into new development and it had been a real strong product.
I saw Rocky's post (as you probably have too) talking about this silverlight.net movement - http://www.lhotka.net/weblog/SilverlightIsLdquodeadrdquo.aspx.
My opinion is that right now we have a bit of a soft-spot of waiting - waiting for some sort of client technology to emerge to retain as much of our assets and skills as possible. For me, Windows RT isn't it yet - obviously it's a ways from penetrating our clients and to be honest I'm a little discouraged by the "Metro" style of building applications and how it relates to line of business apps. I haven't spent a lot of time with it yet but the lack of information density is something I struggle with. We're told to "just think differently about your app" but I think certain line of business apps do quite well with higher information density, sortable table-style grids, etc. It's also discouraging that no smart client technology seems to be one that will be cross-platform and as the years go on it's just going to get more important.
Like you, I have no desire to go to HTML/js. Sadly, that time may come at some point, but certainly not for a couple years for me as far as I'm concerned. I have previously been of the mindset that it might be possible at some point to create some kind of AJAXified web application that worked against CSLA objects in memory on the server - or perhaps some way of representing CSLA objects in HTML/js. Maybe down the road such a thing will be possible.
It would be downright tough to have to choose a technology to advocate for a new development project (like the LOB one I am currently on) at this point. I'm thankful I don't have to do that at this point.
As skagen00 noted, read Rocky's latest blog post: http://www.lhotka.net/weblog/SilverlightIsLdquodeadrdquo.aspx
I think his perspective on "dead" technology is a good one. I've also heard someone else recently comment on VB6 and WinForms -- while they weren't always working with the latest and greatest thing, those dead/stable technologies helped put his kids through college.
I guess if you're not in the enterprise realm (where adoption is slower) then you have to deal with the high costs of being on the front line.
Just to add to the other posts here, I think Silverlight apps could move fairly easily to the Windows Metro UI, and enterprises can host what essentially is their own private Windows store to deploy the application easily. At any rate, Silverlight is going to be supported for another 10 years at least, so you can also wait and see.
I feel your pain 100% and completely agree with everything you wrote, however...
In making a decision it's often useful to reword it slightly: instead of thinking "what should *I* do about this" think "what *ought* to be done about this".
It seems the same but it's effect on how you view problems is *completely* different and freeing.
When you think how should *I* do it, your defenses go into place, you think of all the crap you don't want to deal with. All the hassle, all the problems, you tend to take a negative view of certain solutions you don't like because they are painful to implement.
When you think how it *ought* to be done that change of wording takes the burden off you personally; you imagine someone else handling all that crap and you think much more clearly about the correct solution before your subconscious can sabotage the idea since it's not personal.
As it stands right now I think anyone not contemplating an html based web solution for any new business application development is not thinking clearly or is working on something so trivial and simple that it doesn't matter anyway.
I felt this way a couple of years ago as every trend was pointing this way and today it's about a million times more definite than it was then.
Starting a new large business application project based on obsolete technology (silverlight) is in my opinion just kicking the can down the road and that can has a giant steaming pile of worms and you know what inside it which can explode in your face at any moment. Literally *any* moment because you are utterly dependent on something that *no one* has any reason in the world to meaningfully support anymore and any non-trivial silverlight application is going to have a *lot* of dependencies beyond Microsoft and your own control.
If you delight in Sisyphean tasks then by all means continue to try to roll that Silverlight boulder up hill against ever increasing more hassle as tool makers drop support and get lackadaisical about updates, things start breaking and can't be fixed with ever more ugly workarounds. No. It's not a good investment and it's very bad business.
Metro / WinRT. Metro is a joke for business applications. Show me one large business oriented application of any complexity running on Metro that is more than just a glorified data entry form. We took a very long, hard look at Metro / WinRT for our CSLA based business apps and it's just not feasible. The entire UI is designed for tiny little "apps" that have very little business style interaction and almost no complexity.
On top of that it's starting to look like it might be going the way of the Apple app store in future; I really don't want my livelihood resting solely on a gatekeeper who wants to take a huge cut for almost no effort or value and could, on a whim, shut my entire business down at any moment for any reason they care to come up with.
The only really open area for development anymore is the web. It's also where the development center of gravity is at the moment which means near endless resources, many if not most free and on top of it all you can make a truly cross platform app that will run on just about any device known to man these days.
Nothing else makes any sense long term. It just doesn't. I'm really sorry to see so much CSLA time and effort on Silverlight and WinRT and so little on cross platform HTML apps. I think it's just simple prejudice and not based on reality of the situation.
I understand that prejudice, I too come from a background of writing windows desktop applications for decades now and HTML just sucks, it really does, but burying our heads in the sand and ignoring it is, in my opinion, exactly equivalent to giving up on any meaningful future as a developer at all.
Anything other than web apps is increasingly the new COBOL and dismissing it is a huge mistake unless you have other career plans that don't involve writing business software.
I think some of your fears are unfounded; enterprises can host their own private "app store" internally. I doubt very much you'd have to give MS a cut or go through their approval process if you're deploying to your enterprise's private app store. I'm also curious as to why you think metro can't handle data entry? Certainly I can see not porting everything to it especially if you're users are at desktops / laptops all the time, but if you have employees in the field using your application a metro style app from the company's private app store seems like a good way to go.
I may be in the minority here, but I love the web platform and certainly don't feel they are a big pile of poop :) Although its been a few years since I use CSLA, most of my work with it was on asp.net, and before that VB 6. Even in the web apps I work on today with very rich client code (mostly backbone.js, sometimes knockout), I feel CSLA BOs would fit nicely on the server end for its validation rules engine.
I came across this post from a XAML/WPF developer that although I don't think will change anyone's mind, someone may find useful.
http://www.simple-talk.com/opinion/opinion-pieces/a-sudden-move-one-developer%E2%80%99s-journey-from-c-to-javascript/
FWIW, I now love JavaScript. It took little bit of time to learn the language, but it was time well invested. Now can use that skill to build Win 8 apps. What is missing is html/css/js in Windows Phone 8, but from what I hear, that is coming. That is my bet, I don't think the web is going anywhere and if anything, the web is coming to client applications as seen w/ Win 8 apps.
Copyright (c) Marimer LLC