Choosing the right technology for apps (2023)

Neal

Forum Admin
Staff member
Joined
Apr 15, 2011
Messages
250
Location
VA
Programming Experience
10+
We've always had a lot of choices but it's harder now than ever, for me, to figure out what platform to use for a project. Take creating a new web site for example, and I am a DevExpress subscriber as well as Telerik, but only use DevExpress at this time. Trying to decide what to use...
  1. ASP.NET Core - it's what I'm using now on an ecommerce project as that's what it's built on. I'm using the DevExpress ASP.NET Core controls which are wrappers around DevExtreme (JS) controls. I've always liked web sites that use this type of architecture as they seem faster, more "responsive" (not in the resizing term) and more enjoyable to use. However, I getting the value of a control takes effort, more learning which is a daily thing for us developers, task, google, implement, repeat. In WebForms finding the value of a textbox was simply enjoy the strong typing and get the .Text property. In the JS world it's a different monster figuring out the client script API, etc.
  2. Now we have Blazor maturing and has my interest. Is it the follow-on to ASP.NET Core Razor? Should I avoid 3rd party and go with options such as MudBlazor and numerous collections maturing which sure look great
  3. WebForms - the ole trusty, blended with bootstrap, why not?
  4. Angular, etc. - I don't know these technologies (although it's JS, etc.) but obviously popular
With the .Core you're on the latest dev efforts by Microsoft. I run both Linux (ubuntu) and Windows servers so I really don't need cross platform, I can put anything needed in IIS on Windows Server. So using .Core just for its cross-platform really isn't needed, however, where it comes in handy is I have both PC's and Mac's. It is nice for example using JetBrains Rider and have a common IDE cross platform, so that drives the ".NET Core" a little more.

So the struggle is real, choosing the technology to do a web site is a challenge. This fall I will face Desktop and Mobile tasks. .NET MAUI likely for mobile, I realize this is where Blazor could come into play, but for Windows it's likely going to be WPF but the question I'm hearing these days is if WPF is dead? Regardless, I'll likely go with WPF as the XAML seems like it's portable whereas Winforms is the most feature rich I don't think I'd start anything new that intend to last 20 years ahead on Winforms.

What are you choosing for your dev platforms these days?
 
Well, the main thing that I think everyone have to choose technology as per their interest area. Secondly choosing the technology also depends on your project requirements, and expertise of your team.
 
Should I avoid 3rd party

Did just want to point out that MB is a third party control lib like Telerik's stuff is, it's just free (and in some cases a bit janky, but being open source you can fix that). I also used and like Blazorise for Blazor widgets, and they have different flavors of UI too.. I switched over to MB mainly because of the aesthetic, despite Blazorise being better engineered in some cases IMHO (I don't like that MB team use hashsets for places where a collection is ordered, for example); the little shimmers, slides and transitions of MB's widgets are preferred by my users

Also, tend to use .NET latest mainly because we host a lot on azure on a mix of Linux and windows. The windows hosting is more expensive that Linux, so having the option of paying less works for us. Im actually a little disappointed that the hosting is so much (about 7500 USD a month for what is essentially a chat application that hosts 4000 "users", and has a suite of back end tools that makes config changes and draws graphs of what they do) but I think a lot of that is down to serious technical mistakes the original designers made that no one wants to fix now, so they just buy more compute power when things go slow

Angular, React etc all much of a muchness for me; I dig the basic concept - here we have a browser that is basically a not-so-dumb terminal and has a rich set of drawing and data emitting commands, used to interact with this back end over a remote connection.
What was once a screen buffer being manipulated by C drawing calls after talking to another part of program in memory has had the same abstraction put over the top of it and made all the more remote; a DOM is manipulated by js "drawing" calls after talking to another part of the program on a different computer in another country
I like that Blazor throws all that JS part away because I do despise it..
In the case of BSS it turns the structure over so the screen buffer/DOM is held on the server and changes are pushed out to the screen - in itself more analogous to the X Window System. I think this is quite a fascinating concept because it further outlines how tech basically oscillates between "powerful server, dumb client" and "powerful client, dumb server"; we had mainframes and green screens, then desktop PCs and local apps that hit DBs or web servers that just emitted text, then web became more dynamic at the server end with basic input outout to the browser, then browsers basically became operating systems that use servers for CRUD, now servers are hosting apps and drawing on browsers with a simple bit of JS..
There are no new ideas!
 

Latest posts

Back
Top Bottom