Hey guys, I'm Venkat and in this video we'll understand, what is [Link] core 5?
To better
understand, what [Link] core 5 is, we also need to understand what is Dot Net framework, .Net
Core, .Net 5 and [Link].
So, what is Dot Net framework? Well, the first version [Link] Framework that is Dot Net Framework
1.0 was released in February 2002 and since then it has gone through many changes and
improvements. Dot Net Framework 4.8is the last version of Dot Net framework and it was released
in April 2019.
Dot Net framework is built for Windows, meaning you can only use it to build applications on the
windows platform. In short Dot Net framework is not cross-platform meaning, you cannot use it to
build applications on Linux or mac OS for example. Dot net framework 4.8 is the last version of Dot
net framework and since then no further versions of dot net framework are released. [Link]
framework will be supported as long as windows is supported.
Next, we have dot net core. So, what is dot net core? Well, dot net framework is not cross platform
whereas dot net core is cross platform, meaning we can use it to build and run software applications
not just on Windows platform but on Linux and MacOS as well.
The first version of dot net core, that is dot net core 1.0 was released in June 2016. Since then,
many minor and major versions of dot net core were released. Dot net core 3.1 is the last release of
dot net core.
So, what is .Net 5? Well, .NET 5.0 is the next major release of Dot Net Core following 3.1. At this
point, you might be wondering, why is it not called just .NET Core 4.0? Why is it .NET 5.0? Well, there
are two reasons for this. Version number 4.x is skipped to avoid confusing this new .NET 5.0 with the
traditional dot net framework 4.x. The word "Core" is dropped from the name to emphasize and
reinforce that this, i.e. .NET 5.0 is the main and one implementation of Dot Net going forward. Just
like Dot Net Core, .NET 5.0 is also cross platform, but the key point to keep in mind is that this
new .NET 5.0 supports many more types of apps and platforms than Dot Net Core or Dot Net
framework.
Now, another important point to keep in mind as far as the naming conventions are concerned is,
[Link] Core 5 is based on Dot Net 5, but notice it retains the name “Core" to avoid confusing it
with [Link] MVC 5.0. Along the same lines, Entity Framework Core 5retains the name "Core" to
avoid confusing it with Entity Framework 5.
So, these two terms [Link] Core 5 and [Link] Core in .NET 5.0 are used interchangeably.
Similarly, Entity Framework Core 5 and Entity Framework Core in .NET 5.0 are used interchangeably.
What is [Link]? Well, Microsoft wants to create one unified .NET platform instead of separate
tools, runtimes and frameworks like .NET Framework, .NET Core, Xamarin. Mono, .NET Standard etc.
They want to consolidate, take the best from these different frameworks and create one
unified .NET platform that everyone can use. The stepping stone towards this bigger and bold goal
is .NET 5.0.
Take a look at this diagram from MSDN, clearly .NET 5 is the future. Going forward, Microsoft wants
everyone to use this one unified .net platform to build any type of application, beit desktop, web,
cloud, and mobile, games, Internet of Things, machine learning, artificial intelligence and many
more. So, the idea is to unify all these different frameworks - WPF, Windows forms, UWP, [Link],
Azure, Xamarin, Unity, ARM32 and 64, [Link], .NET for apache spark etc. We also want to be able
to use any development tool of our choice - Visual Studio, Visual Studio for Mac, Visual Studio Code
or Command Line Interface. So, [Link] is the goal, i.e. Microsoft wants to create one unified .NET
platform and .NET 5 is the stepping stone towards that goal. Hope this clarifies the difference
between [Link] and .NET 5.0.
Now, another question that you might have is, can we call .NET 5.0 as the next version of .NET Core
3.1?
Well, yes, all features of dot net core such as cross platform functionality, modular development,
containerization, side by side installations, cloud and visual studio integrations are maintained
in .NET5.0 and obviously several new capabilities and functionality are also added. So, if you already
know .NET Core, then you also know .NET 5.0. However, you have to obviously get up to speed with
the new features and capabilities that are added in .NET 5.0. The development patterns and APIs we
use in .NET 5.0 are similar to what we already have in .NET Core.
So, here is the summary. The first version of .NET Framework was released in 2002 and it supported
only the Windows platform. In 2016 .NET Core is released and it's cross platform. In 2020 .NET 5.0 is
released and it supports even more platforms and application types than .NET Core.
What is [Link] Core 5.0? Well, in dot net framework, for web development we have
[Link] and there are different options - Web Forms, [Link] MVC, Web API and
[Link] .NET Core, we have [Link] Core. The two programming models i.e. [Link] Core MVC
and APIare unified in dot net core. We also have an implementation for SignalR in .net core.
However, Web Forms is never ported from .NET framework to .NET Core, instead we have Blazor
and Razer Pages as alternatives. In dot net core, we also have support for dot gRPC. .NET 5.0 has
everything that we had in dot net core plus many new features and capabilities.
Now, in [Link] Core 5.0, Blazor Web Assembly in particular received
many enhancements and capabilities both from features and
performance standpoint. So, in our upcoming videos in the series,
we will build a real-world data driven BlazorWebAssembly project from
scratch.
Now, Sync fusion has got the most comprehensive Blazor components library. If you navigate to
their website at this URL "[Link]/blazor-components”, you can find all the available
blazor components. Notice, we have - data grid, pivot table, rich text editor, auto complete, multi
select drop down, charts, calendar etc. If you're wondering why should we use Sync fusion Blazor
components? Well, there are over 70plus components and all these work with both Blazor server
side and client-side i.e. BlazorWebAssembly projects seamlessly. Every component is fine-tuned to
work with a high volume of data, so performance should not be an issue. Very good documentation
and unlimited dedicated support from Sync fusion. You'll be amazed by the power and functionality
these components bring to your Blazor apps. They're very easy to integrate, configure and use.
Above all, their components are free to use with their community license, if you are an individual or
a company with less than$1 million US dollars in annual gross revenue and have 5 or fewer
developers.
What is Blazor WebAssembly
Hey guys, I am Venkat and in this video, we'll understand what is Blazor Web Assembly, but before
that let's first understand, how are web applications developed today? We use two completely
different sets of programming languages. For server-side development, we use programming
languages like C#, Java, PHP etc. For the client-side development, we use JavaScript frameworks like
Angular, React, Vue etc. There's no doubt these JavaScript frameworks dominated client-side web
development up until recently. If you want to remain in the business of web development and stay
competitive, it's inevitable we learn both a server-side programming language and a client-side
programming language, but the question is, why should we learn and use two completely different
sets of programming languages and frameworks?
Can't we use C# for both server-side and client-side web development?
Well, we can and that's exactly why we use Blazor. With Blazor we can now build interactive web
UIs using C# instead of JavaScript. C# code can be executed both on the server and in the client
browser,
this means [Link] developers can reuse their c-sharp skills rather than learning new JavaScript
frameworks like Angular or React, which usually has a huge learning curve.
At this point you might be wondering browsers understand and execute only JavaScript, how is C#
code executed in the client browser? Well, the answer is WebAssembly which is commonly called
WASM in short. Blazor can run C# code directly in the browser using WebAssembly. It runs in the
same security sandbox as JavaScript frameworks like Angular, React, Vue etc, not just C#, in fact we
can run any type of code in the browser using WebAssembly.
Web Assembly is based on open web standards. So, it is a native part of all modern browsers
including mobile browsers. This means for the Blazor application to work, there is no need to
recompile C# into another programming language or install any special plugins like back in the days
of Silverlight and Flash.
So, what is Blazor? Well, just like many of the client-side development frameworks like Angular and
React for example, Blazor is also a single page application framework i.e SPA framework in short. We
use Blazor for building interactive client-side web apps with C# and .NET instead of JavaScript. This
means we can now leverage the existing ecosystem of .NET libraries even for the client-side web
development. I personally think this is a great step forward in the space of web development.
Now, how does a Blazor WebAssembly app works? Well, at a high level, when we build a Blazor
WebAssembly project and run it in a browser, our project source code i.e C# and razor code files are
compiled into dot net assemblies. These compiled assemblies, any dependencies they may have and
the dot net runtime are downloaded to the client browser. Blazor WebAssembly then bootstraps the
dotnet runtime and loads the assemblies for execution.
Now, a lot of people have a confusion if "Blazor WebAssembly" and "Blazor Server" are two different
frameworks? They are not, we have only one Blazor framework. Blazor WebAssembly and Blazor
Server are just two different hosting options. As the names imply, Blazor server project runs on the
server and Blazor WebAssembly runs on the client side in the browser. Project structure and
configuration is slightly different between the two projects but the underlying Blazor framework is
the same. If implemented correctly, a Blazor WebAssembly project can easily be converted to a
Blazor server project and similarly a Blazor server project can be converted to a Blazor WebAssembly
project. We'll discuss the difference between the two hosting models in our upcoming videos.
Now, depending on how we developed our Blazor WebAssembly app, it can either run entirely on
the client in isolation without a connection to the server or interact with the server only when
server-side data is required. For example, an application like a calculator doesn't require any server-
side data. After the app and its dependencies are downloaded onto the client browser, the
connection with the server can be safely terminated and the app can function completely offline in
the client browser. We can also have a Blazor WebAssembly app that for most part works offline
without a connection to the server, only when it requires server-side data like sales or customer data
for example, it interacts with the server using Web API calls or SignalR. This is very similar to how
Angular or React applications work and this is the model, we'll be using in this course to build a real-
world data-driven web application.
What are the course prerequisites?
Well, three things - C#, HTML and CSS. All you need are the basics, you don't have to be an expert by
any means. Blazor is a great technology and Microsoft is investing a lot. So, Blazor is here to stay. If
you're a .NET developer, it's invaluable to have Blazor in your skill set. That's it in this video. Thank
you for listening.