diff --git a/content/posts/modular-web-app.md b/content/posts/modular-web-app.md index 978b45b..b16e659 100644 --- a/content/posts/modular-web-app.md +++ b/content/posts/modular-web-app.md @@ -10,7 +10,7 @@ description = "Have you ever thought about making a web application, that could showFullContent = false readingTime = true hideComments = false -draft = true +draft = false +++ ### Table of Contents @@ -27,15 +27,15 @@ draft = true # Introduction -This post is about my experience of making a prototype of a web app with plugin support as well as my reasoning. As a result, this app could be extended by adding compiled `.dll` class libraries into a plugins folder. I've made it possible to load not only classes, but also views and api controllers. You could check out the final version of this prototype in this [GitHub Repo](//github.com/the1mason/prototype.modularmvc). -Also right now I'm building a web application, using similar concepts. As of now it's not on github, but you can find it [here](//git.the1mason.com/the1mason/octocore). +This post is about my experience of making a prototype of a web app with plugin support as well as my reasoning. As a result, this app could be extended by adding compiled `.dll` class libraries into a plugins folder. I've made it possible to load not only classes but also views and API controllers. You can check out the final version of this prototype in this [GitHub Repo](//github.com/the1mason/prototype.modularmvc). +Also right now I'm building a web application, using similar concepts. As of now, it's not on github, but you can find it [here](//git.the1mason.com/the1mason/octocore).
# Why -Self-hosted web applications can solve different problems and be of use for a variety of different people with slightly different needs. In order for this to work, I think that such application should provide an option to extend it's functionality. This would allow other people to build an ecosystem of different extensions. +Self-hosted web applications can solve different problems and be of use to a variety of different people with slightly different needs. For this to work, I think that such an application should provide an option to extend its functionality. This would allow other people to build an ecosystem of different extensions. # Stack @@ -45,22 +45,28 @@ Do you speak *CSharp*? I do. It's my main language after all, but why MVC and what is HTMX? Let's have a quick look at worthy alternatives, and then I'll explain my choices. -`Blazor WASM` does not support runtime assembly loading, which makes client extension impossible. It has [Lazy loading](https://learn.microsoft.com/en-us/aspnet/core/blazor/webassembly-lazy-load-assemblies?view=aspnetcore-8.0), but still it requires these assemblies to be defined in the project file, which is not viable for our case. +`Blazor WASM` does not support runtime assembly loading, which makes client extension impossible. It has [Lazy loading](https://learn.microsoft.com/en-us/aspnet/core/blazor/webassembly-lazy-load-assemblies?view=aspnetcore-8.0), but it still requires these assemblies to be defined in the project file, which is not viable for our case. -`WebApi +
+