My real developer journey began in March 2019, when I decided to go full time developing my business applications. Before, I was doing this in parallel with my management accountant job, which was very exhausting at times.
The transition had lots of lessons, and it's described in my posts here on dev.to, and on my blog (mostly overlap). https://mydev-journey.blogspot.com/
But as a conclusion for 2019, some big trends can be seen in my work and learning, and these are the two main directions:
The Microsoft .Net Framework
Being the first choice for accounting applications, as the users all operate in Windows environments, I think this was a good decision. In fact, my then partner suggested the C#/WPF/MVVM track with MS SQL database.
Later during fall of 2019, I extended this with Asp.Net Core, as you can see in my posts, and that's the direction I want to follow in 2020.
Why I chose the asp.net core world? Reasons:
- integrates well with my existing MS SQL databases;
- can publish the web apps quickly to Azure or other provider via Visual Studio;
- I really like the .Net Core Razor pages approach, and they are suitable for the apps I plan for 2020;
- they integrate well with html/css/javascript, without the need to use a SPA; I am currently checking an admin template, and this tutorial was a real nice example to push me towards this direction: https://codinginfinite.com/creating-admin-panel-asp-net-core-mvc-tutorial/#choosing-template
- they integrate well with MS Excel, which is a primary tool for my business users, all based on Windows machines;
- I plan moving to Linux hosting for my asp.net core apps, which tends to be cheaper than Windows hosting. This dev.to post was a really strong motivation to move in this direction: https://dev.to/pluralsight/build-and-deploy-a-blazor-app-without-touching-a-windows-machine-4mn
Some new directions for 2020 to experiment:
- the Blazor framework, especially server-side, than later client-side.
The Web Programming Track with JS
As I mentioned in my blog posts, the web with Javascript was a real discovery for me in 2019. I really like the flexibility of JS and its huge impact on the front-end (plain JS, JQuery or SPA), which I try to implement in my projects, to make user experience better, and simulate a real business tool environment with grids, menus, pivot tables, charts and excel exports/imports.
Ways to improve my JS skills and integrate them to my tools
- find new JQuery plugins for a great business tool feel;
- maybe go deeper with SPA such as Angular (my journey began with this framework);
- researching tools/frameworks/libraries for reporting/charting/grids;
Not to forget, the topic of database persistence, it will probably remain the MS SQL world, using Dapper ORM and EF Core, maybe with some experimenting with My SQL/ Mongo DB.
Another idea worth mentioning for 2020, will be a try of serverless functions from Azure.
And lastly to mention, if and when I have time, will be the Angular/Material design/Firebase world, which I really liked during my experimenting in the first half of 2019.
What do you think, would you add something different for my business app stack?
Top comments (15)
I'll give .NET Core a try in 2020 based on what I read about it, the flexibility of C# besides it's backed by Microsoft, all of that with the fact that's it an open source make it my second go with Go Lang which will be my replacement to Nodejs.
I don't think that I will pickup any new tech for Front-end I'm doing well with Vue, Vuex and Nuxt.
If you do pickup .net, they have now blazor; which will allow you to do front end also using c#
Yes, as I mentioned, in 2020 I want to study blazor server side. The client side , after it is production ready and mature.
.NET Core was a really big deal for Microsoft, aiming on multi-platform support and bringing all the good features from the open source to the core of the framework.
In 2020 maybe we'll see some Svelte projects emerging as well, as it performs really well compared to its alternatives
One thing to keep a close eye on for 2020 and beyond. Blazor and WebAssembly that is part of the .NET Core family.
It will be a game changer in the future. C# is very popular and having the ability to write C# that runs in the browser as an SPA is amazing. It’ll give React, Angular, Vue a major run for their money.
I will dig deep in blazor server side soon. The client side is not yet stable. After it matures I will study that also.
Hi Zoltan. I have similar plans for next year. However, instead of jQuery and Razor I am still sticking with React, but on the backend I am going to try .NET Core one day. Best wishes for 2020 :) !
I wish I knew React, for the moment, I will stay with JQuery and plain JS. In fact, my apps will have max 10-20 users, no real need for a SPA. So it's enough to have a server-side app for the business tools I build, for the moment. Thanks for the wishes :)
In my opinion it doesn't make sense to learn jquery by now and you should bet in react instead. You can use react in the scenario you are talking about with razor pages. I think it is easier and less error prone. React is not just for SPA and also supports server side rendering. It is as easy to integrate into existing web pages (or new razor pages) as jquery. Also, if you already have skills with C# you can also try Blazor and you will have to learn less JS.
I understand, I mostly refer to readily written libraries such as data tables.js, and using existing jquery plugins. Blazor server side is already on my list, but for client side I will wait until it matures.
Hi Zoltan, if you need a .net core CMS give Puck a try github.com/yohsii/puck-core
Vue is a really great addition to .NET for the client side.
I wish I knew vue. I studied angular a bit and plain js.
.NET is a solid stack undoubtedly. You might consider learning Python and Django, a great choice for business applications.
Do you have some sample applications in this stack? I am comfortable with asp.net core already, I need a strong reason to move to another stack.