Hi, my name is Frank, and I was born in Hildesheim, Germany, in 1960. For the first part of my career, I focused on analog electronics and worked as a professional sound engineer, specializing in rock music. In 1987, I transitioned to personal computers, and in 1991, I learned programming. My first programming language was SQL Windows from Gupta, which is still in use today. As a sound engineer, I was already familiar with graphic user interfaces like Atari, so I was excited about the introduction of Windows. This led me to learn SQL Windows, which was one of the first professional programming languages for building complex database-centric applications. From today’s perspective, SQL Windows was already considered a bit LowCode as it is a 4th GL.
Although I was also fascinated by programming assembler, it was too inefficient for my needs. The powerful commands available in SQL Windows made it possible to create nice-looking windows applications without having to spend a lot of time or write thousands of lines of code reinventing the wheel.
My company then developed our ERP software named eEvolution based on SQL Windows for many years. But because nobody knew how SQL Windows would develop in the future and because of other technical requirements, I decided to change the technology stack from SQL Windows to .NET in 2003, which was the new hot stuff from Microsoft.
We migrated our SQL Windows codebase to Microsoft’s .NET stack using C# as a programming language and eEvolution 6 was one of the first .NET based ERP systems on the market. Several years later, I learned about LowCode/NoCode programming languages and found them very interesting. I immediately realized the potential for LowCode/NoCode to increase productivity, quality, and efficiency in software development for our business software.
I spent several years evaluating different Low Code technologies for this purpose, as I soon realized that there is no one-size-fits-all Low Code development environment. The right tool depends on the type of application you want to create, whether it's one large application used for one specific company or purpose, or a standard application that needs to be sold to many customers.
The products I worked with during this time included Lightswitch, Wavemaker, Out Systems, Microsoft PowerApps, Servoy, Thinkwise and others. I became a big fan of Microsoft Lightswitch and was saddened by their decision to stop developing it in 2013. I also liked Out Systems and Thinkwise, but the licensing policy and pricing did not fit well with our business model.
Many Low Code development systems, like Out Systems or Mendix, focus on large enterprise software applications developed for a specific enterprise that need to be modernized or at least saved for tomorrow's world. For us, it was essential to find a development environment that we could use like Visual Studio and for developing software to sell to our customers. Ideally, we would not have to pay any runtime license fees, as this is a significant part of our business model for earning money.
After several years of researching Low Code tools, I found Radzen, which was a bit similar to Lightswitch, and it generated code in a technology that was very close to what we did all day long, except that it used web technology like Blazor, while our business software is still using Windows Forms. At present we are migrating eEvolution to become a real cloud application based on asp.net core. We use WiseJ for this migration and this works perfectly.
For Low Code decided to go with Radzen and have been pleased with it. I appreciate the knowledge and speed of the people working at Radzen when there are any problems or questions. Although Radzen is not a No Code solution, but a Low Code one, it is still necessary to write code and have some knowledge about Microsoft Entity Framework and LINQ as the language to communicate with your persistence layer.
One thing I particularly like about Radzen is that it hides all the necessary architectural details that you would need to know when manually writing an MVVM pattern application. As I grow older, I become less interested in programming under the hood and more interested in creating functional content that automatically looks good in database-centric applications without needing to have knowledge in CSS or being a designer.
I also love how Radzen delivers conceptual features like multi-language support, user and role definitions, and responsive user interfaces automatically, so I don't have to think about them. However, even in low-code development environments like Radzen, there are still repeating tasks to do. It's a good idea to write down your experiences over time to use as a library for yourself, so you don't have to reinvent solutions for specific purposes repeatedly.
Working with Radzen, you'll find that many things are easy, but sometimes it may take a while to figure out how to do things. Additionally, you may want to scale up your development team and find other people to support you, as your ideas grow faster than your programming capabilities. It's always good to have best practices written down, so others can benefit from them.
I started keeping an open Word document on my desktop and added a new chapter called "Best Practices" every time I encountered a problem that took me a bit of time to figure out or when I had an idea that I had done before, but couldn't remember where. I described the problem and solution in a way that I could remember the details when I had more time to finalize the new chapter. But I knew from the beginning that I wanted it to be like a blog or something similar.
At my company, we use Wordpress for creating websites and blogs, but that requires knowledge of PHP and Linux, which are not my strong suits. As someone who enjoys self-sufficiency and learning, I decided to research blog engines that align more closely with my skill set.
Recently, I came across the fantastic blogengine.net. While it's not Blazor, it's based on asp.net 4.5 and is very similar to the technology I work with and enjoy. Plus, it's incredibly easy to set up a new blog on your preferred server with all the knowledge you already have, such as deploying websites.
Initially, I was considering building my own blog engine with radzen, but after seeing all the functionality already available in blogengine.net, I decided to use it instead and learn how things work there. Thank you to the developers who created such a great tool!
I would love to see a marketplace for applications/code developed with radzen and Blazor, as well as more people sharing their experiences. The radzen website already has a wealth of useful content, including documentation and a community where I've found many helpful answers.
However, most posts in the community are from people looking for solutions to problems. I want to add a new chapter to my existing word document addressing more general questions like "How can I do this?" or "What's the best way to approach this?" Sometimes it's as simple as setting specific UI control attributes that work well for certain types of screens or pages. When you have those rules written down, you can ensure your radzen applications look, feel, and react similarly across the board.
So this blog does not want to be interpreted as a competition to what the great guys from radzen have created already. I only want to share my personal best practices with everybody who is interested in this powerful and cool, development environment and of course I would appreciate very much when somebody else from you also would share some of his personal experiences. Thank you for reading and I wish you a lot of fun and productivity with radzen and I hope you can profit from some of the things I have found out.
Frank