We have been busy developing the next version of Radzen so it's time we share some progress with you.
Here are the things that are ready (by no means 100% done and bug free but still somewhat operational).
New and improved design time
1.1. Toolbox infers all components used in the project - Built-in (NavLink, InputText etc.), Third party (Radzen.Blazor), Application - shared components and pages and HTML (html elements).
Faster database infer of all supported databases (MSSQL, MySQL, Postgres and Oracle) plus SQLite.
Reimplemented scaffolding templates that are made with customization in mind. This means users will be able to both tweak the built-in templates or use their own.
There is still a lot more to be done for the first public release but we are on the right track!
We are making steady progress with Radzen 3.0! There is still hope we can share a public CTP (or whatever we decide to call it) in the second half of 2021. The thing is most of Radzen 3.0 is brand new development required by our desire to support any existing Blazor application.
Here are a few animated gifs showing the latest things that work.
Auto complete working in the property grid (a lot harder to implement that it may sound):
The new method editor (formerly known as event editor). It shows the new (unfinished) way of displaying the statements of a method and how to add new ones.
Nothing substantial. We are working on the design time features and some of them turned out to be a lot more difficult to support properly with this novel approach to code generation. This is why there will be a delay of the first public CTP. We don't want to engage with a deadline just yet as we may miss it again due to unforeseen obstacles.
We have finished the implementation of a major new feature - collection editing and nested template design time support. This gif shows it in action for a custom component (defined in the same application).
We will ship Radzen 3.0 for sure. It however takes a lot of effort due to the sheer fact we make it from scratch. For comparison Radzen 3.0 is approaching the code size of Radzen 2.0 (which has been in development for five years). And we did it in 6 months. We are making steady progress and are quite happy with how it turns out. If you are not convinced then please move on and find another solution which is either available now or will be available sooner.
Multiple selection, cut, copy, duplicate and move are done (famous last words).
Copy and paste
Move
Duplicate
Cut
Delete
What's next
Resizing components, style editor, event editor, build and run, database connectivity and scaffolding UI. Also lots and lots of testing to be sure that Radzen supports all Blazor applications we can get our hands on. Then and only then we will release a public CTP.
Bonus
A sneak peek of the new Radzen code editor powered by the almighty Monaco Editor and a custom Radzen language service:
This turned out quite hard (next to impossible) to implement so we decided to skip it for now. Hopefully we will think of something clever later.
What's new
Support for two-way binding of properties
You can toggle one or two-way binding. Radzen automatically knows what property supports two-way binding by checking if a corresponding Changed event exists e.g. Value and ValueChanged.
Require type argument for generic components
The method editor lists the methods of all files
Including methods in the .razor file or any other implementations and partial classes.
Create new methods for event handlers
And optionally pick name and what file to define them in.
Add, edit and delete fields and properties
What's next
Support all Radzen 2.x actions in the method editor - notify, execute code, open dialog etc.
Support new actions in the method editor - loops, conditions, switch etc.
Add Radzen.Blazor to an existing Blazor application - add the Nuget package, register CSS and JavaScript files, register services in Startup, import the namespaces.