algonote(en)

There's More Than One Way To Do It

Learn Server-side C#(ASP.NET MVC) on Udemy

Study server-side C#

Preface

When it comes to web development, PHP is traditionally used in famous LAMP (Linux, Apache, MySQL, PHP) stack. Next movement is MVC frameworks such as Ruby on Rails. Recently, Golang is often used in microservice.

Scripting languages such as PHP, Python, Ruby, and node.js, or languages with minimal specifications such as Go are often used for web development on Linux. To put it bluntly, the languages that Vim is enough are used.

On the other hand, Java and Scala are sometimes used with IDE for large-scale enterprise applications.

For client-side app, C# is mostly used in game development. Unity, for example, used to be able to use JavaScript-like UnityScript and Python-like Boo, but these have been discontinued.

Sometimes developer tries to use only JavaScript for both frontend and backend for simplicity. Similarly, using C# for both client-side and server-side for game development is sometimes reasonable.

ASP.NET MVC is a server-side C# framework, and Udemy offers The Complete ASP.NET MVC 5 Course The Complete ASP.NET MVC 5 Course.

What is ASP.NET?

ASP.NET is a web framework developed by Microsoft. ASP is the abbreviation of Active Server Pages.

ASP.NET itself is a kind of brand name. It is not the same-layer concept like Rails, Django, Laravel, etc. There are different types of ASP.NET.

  • ASP.NET Web Forms
  • ASP.NET MVC
  • ASP.NET Web Pages
  • ASP.NET Web API
  • SignalR

Each is an independent web framework.

ASP.NET Web Forms is the most famous and can be developed graphically on Visual Studio.

.NET trend

ASP.NET is a framework that runs on the .NET runtime.

.NET Framework runs only on Windows. Mono/Xamarin is a cross-platform implementation of the .NET Framework. .NET Core is a cross-platform version of .NET(slightly incompatible) by MS.

NET MVC runs in any environment. The three variants were integrated in .NET Core based .NET5 anyway. Web forms that run only on .NET Framework are not migrated.

There's demand for replacement.

What is ASP.NET MVC?

ASP.NET MVC is a Model View Controller framework similar to Rails. We can see some Rails influence in Django, Laravel, etc., but ASP.NET MVC is more. The layout file location for views is the same. The directory structure and naming is exactly the same as Rails.

Rails does not have a default table-based user authentication mechanism, but ASP.NET ships with a built-in user authentication feature called Identity. While Django has similar system, ASP.NET also supports OAuth such as Twitter login.

Compared to minor frameworks in other languages, the official documentation is verbose and the pages are huge. The fact that no articles other than official document in Google search result may indicate the small number of users anyway.

Other special notes are seamless deploy with Azure, and SQL Server unique integrations.

Course Content

Here is the table of contents of the Udemy course.

  • Getting Started
  • ASP.NET MVC Fundamentals
  • Working with Data
  • Building Forms
  • Implementing Validation
  • Building RESTFul Services with ASP.NET Web API
  • Client-side Development
  • Authentication and Authorization
  • Performance Optimization
  • Building a Feature End-to-End Systematically
  • Deployment

Although Visual Studio is popular for C# development, the instructor was a proponent of Jet Brains ReSharper. Says "You can write it this way, but it's not good, and I have no idea what Microsoft thinks." I feel opinionated professional.

While it was nice that the whole area was covered, I personally didn't need the jQuery part. I want to know about the other ASP.NET frameworks too.

Impression

In one benchmark, ASP.NET Core MVC is ten times faster than Rails. It may be reasonable to use this for high load.

Future Works

  • Universal Windows Platform
  • Xamarin

www.udemy.com