Open GreggThelen opened 6 years ago
This thread might be of interest: https://github.com/MarimerLLC/cslaforum/issues/586
Moving from a smart client (WPF/Silverlight) to a server-side web model can be a really big shock for your end users. If they appreciate interactivity and immediacy in their UX, they won't get it at the same level via the web.
However, you can now write smart client apps in the web using TypeScript/JavaScript with Angular, React, or Vue. That's a whole other programming model of course, because you are writing your client app for the browser, not any specific OS (e.g. Windows), and none of those technologies (except TypeScript) are in any way related to Microsoft.
I agree with you on Blazor (or Ooui or Uno) - I strongly suspect that'll become a big player in smart client web development, and will likely become the "next WPF" for a lot of us. But it certainly is early days, and Microsoft hasn't even committed to a V1, much less a V2. 😬
From your comment, I'm under the impression that your Silverlight app has a requirement of running on non-Windows devices? If you were just using SL for its deployment model, you might consider WPF or UWP with the new msix deployment model announced at Build. But if you really need cross-platform then your options are basically:
Xamarin is extremely powerful in this regard, and is perhaps something to consider?
Rocky,
Thank you for the detailed response.
The application does not have a current requirement to work of running on non-Windows devices; however, the entire world seems to be heading in that direction so adopting that mindset as the default (when possible) is probably a wise road to head down.
I'm kind of on the fence, in large part because these technologies keep changing so quickly. I'm toying around with a couple of different paths for the next year of development.
1: I could migrate the Silverlight projects to Xamarin Forms or React (etc.) which would involve a substantial learning curve. At the end of this year of development I'd have a cross platform application deployed and I'd have knowledge of a new technology.
2: I could migrate the Silverlight project to Razor Pages which would also involve a substantial learning curve. At the end of this year of development I'd have a cross platform application deployed and I'd have knowledge of a new technology.
So far those are pretty similar; however, if WebAssembly takes off and this time next year we're playing around with Blazor 1.0 (which is a gamble) it is clear that 2: would be the better place to be as I'd be fluent in Razor and migrating over to Blazor would probably be relatively trivial. I don't have insider knowledge here or even a good grasp of the current landscape but if (big IF) WebAssembly takes off what would that do to the Xamarian/React/Angular ecosystems?
What I'm hypothesizing about here is this: If I spend the next year with Xamarin am I going to be proficient about the time it EOLs? (I read your post on Windows Server EOL). Isn't there a good shot WebAssembly is going to kill off those other technologies?
So the question isn't what is just the best technology for this next application but what is likely the best going forward as I have limited time to invest in learning new stuff.
Sadly your crystal ball is probably about as good as mine 😢
Does anyone think WebAssembly going large would impact Xamarin/React/etc. (sunset them) or is that like thinking Windows Phone II would take down iPhone? I don't have the broad perspective many of you have so any input is appreciated.
Thanks again Rocky for your fine work. I've been making a living off CSLA now for 15 years.
btw, I wouldn't worry much about Razor. It has been around for many years now. All they really did with "Razor Pages" is add some abstraction so you don't manually have to create a controller for each page. They do more of the plumbing work for you now.
But if you still like the explicit controller model, nothing stops you from continuing to use that, or even intermix that with the new model.
The new model is much simpler though - less repetitive coding of controller boilerplate over and over and over.
If you are using Razor Pages, please consider using the upcoming 4.7.200 release (#593), as I could use any testing or feedback on the new CslaModelBinder
implementation.
Rocky, I don't know why I have to do everything around here. I'd be happy to give 4.7.200 a spin.
Thanks Again
Greetings:
After a short vacation putting together a couple of WPF applications I need to turn my attention to the migration of a couple Silverlight projects to something new. Based on a couple of Rocky's blog posts it has become clear that the (projected) future of development is .NET Core. I'm left wishing that Blazor was fully developed and released but it appears that is a ways off (I'll probably wait until Blazor 2.0 is released) so the choice appears to be either MVC 5 or Razor Pages.
Microsoft recommends Razor Pages for new .NET Core development but I'm a little hesitant as there isn't much out there about that technology. Also, Microsoft burned me with Silverlight and even though it is now clear why Silverlight had to die (WebAssembly) I'm a bit reticent to take what I read on their website as gospel.
If I do go with Razor is there a recommended CSLA version? Do we have any good example projects available?
Thoughts?
Thanks in Advance