Razden Blazor Studio preview is available! Get Now

Differences from Radzen

Radzen Blazor Studio is our vision of how rapid Blazor application development should look like. As such it has a lot of changes compared to Radzen 2.x which are all listed in this article.

Important

This article is meant for existing Radzen users. New Radzen Blazor Studio users should check the other resources.

Differences

Support for arbitrary Blazor applications

Radzen 2.x supports only applications created with it. This changes with Radzen Blazor Studio as it can open applications created by any tool - Visual Studio, the dotnet CLI and Radzen 2.x.

Automatic save

Radzen 2.x saves the current file on every change.

Radzen Blazor Studio does not save automatically. The developer has to save the file which is currently being edited.

Customize everything

Radzen 2.x is very strict about code customizations - one relies partial classes or has to use the code generation ignore list which in turn disables the WYSIWYG designer.

Radzen Blazor Studio supports arbitrary code customizations without breaking the design time experience. Everything just works without additional hoops.

Code generation

Radzen 2.x generates code on every build. The actual UI is persisted in JSON files in the meta directory of the application. While this approach has its advantages Radzen Blazor Studio makes it obsolete. It no longer generates code on every build and does not need additional metadata files.

Code editing

Radzen Blazor Studio includes built-in code editing support with syntax highlighting and autocomplete.

Third party support

Radzen Blazor Studio supports third party component libraries as well as the built-in Blazor components.

Conceptual changes

We have made a few conceptual changes to make Radzen Blazor Studio feel more native to Blazor developers and to avoid introducing new terms.

Actions vs. Statements

The developer uses actions in Radzen 2.x to respond to user input, execute custom code or perform a DB query - set a property, invoke a data source method, navigate to a page.

Radzen Blazor Studio replaces this concept with methods and statements - the developer can use the new UI to visually edit the statements of a method, override Blazor lifecycle methods and create new methods. Some of the Radzen 2.x actions are available as Radzen Blazor Studio statements - invoke method, open dialog, set property etc. Some actions have been removed - invoke data source method is replaces by invoke method.

Expressions

Radzen 2.x uses ${} blocks to embed data in the UI e.g. ${customer.FirstName}. This is translated to @ during code generation - @customer.FirstName.

Radzen Blazor Studio does not use ${} blocks and does not recognize them. It relies on the native Blazor @ expressions only.

Template context

Radzen 2.x uses the special data implicit variable for the current template context. This is translated to context during code generation.

Radzen Blazor Studio relies on the Blazor default context.

Pages and Layouts vs. Files

In Radzen 2.x the developer works with pages and layouts. Radzen generates code in different files.

Radzen Blazor Studio behaves similar to Visual Studio and lists all files in the application - .razor, .cs, .css, .js etc.

Page properties

Radzen 2.x creates a property the first time the Set property action is used. This sometimes felt like “magic”.

Radzen Blazor Studio requires explicit property declaration.

Page parameters

Radzen 2.x creates a parameter when a page is used from another page via Navigate or Open dialog action. There isn’t a way to explicitly declare a parameter.

Radzen Blazor Studio requires explicit parameter declaration.

FAQ

Can I open my Radzen application with Radzen Blazor Studio?

Yes you can. However changes made with Radzen Blazor Studio will not be recognized by Radzen 2.x and may get overwritten after code generation so be careful.

Should I use Radzen Blazor Studio CTP immediately instead of Radzen?

Probably not. Some of Radzen’s features are not yet implemented in Radzen Blazor Studio namely database scaffolding and CRUD page creation. A hybrid approach could be possible though - generate pages in Radzen 2.x and customize them further in Radzen Blazor Studio.

Once Radzen Blazor Studio goes RTM it will completely replace Radzen 2.x in your day-to-day development activities.

We are here for you

Making our users happy is always a priority for us.