Responsive image
russell@russell-clark.it
Domain
Javascript Django Dot Net
Javascript Sites
Vue 2
Contracts Konzepte IT help Desk Blog Larbins App Larbins Admin Big it up with Vue Shell
Vue 3
Shell3e
Nuxt 2
Eatson Bisshop Civic Soc 1 Eatson Bisshop Civic Soc 2
Nuxt 3
Shelln3e
Next
Imposoracle
Angular
My Lists of Stuff
Introduction

The Javascript frameworks covered on this page are hosted on Google's Firebase:
Vue 2, Vue 3: Javascript frameworks oriented towards applications not requiring extensive SEO (being purely client-side rendered).
Nuxt (2): Based on Vue, Nuxt is optimised for SEO with Static/Non-Static/Hybrid deployment models.
Next (a React framework): Next is a javascript framework implementing react & optimised for SEO with Static/Non-Static/Hybrid deployment models.
Angular: A javascript framework, much larger & more complex than Vue.

Windows & IIS: All these Javascript frameworks run under Node.js & can be hosted on Apache2 or Nginx servers as well as any number of static site hosts.
However they can all be built under Dot Net as normal Dot Net projects, and hosted under IIS on a Windows server.

TypeScript: For a more uniform programming approach all these frameworks (and Dot Net Core) can (I think I am correct) use TypeScript.


Sites
Contracts
Max Entwickler's most advanced metadata-driven line-of-business application. Contracts includes: user-defined Contract Types; a workflow engine; rules-based event triggers (insert, update, delete); templated page design. More...

Konzepte
Build Sites (Concepts) about anything. Each Site has Pages. Each Site has a Blog. Each Page has a Stack of Notes.

Blogs
Blogs, with Comments, Documents & a Site

IT Help Desk
A simple IT Help Desk with Resources, Issues, Issue Progress etc.

Shell2
Vue is an interesting framework. It has 2 ways of compiling output: a) compile on build; b) by including the compiler in the client build, Vue templates can be compiled on the client on the fly. This means that the template can be loaded from a CDN or database, opening the possibility of end-user customisation. Customisations can be offered on a user or user-group basis. The template can also be customised in real-time & saved back to a database.

Shell2 is a starter application demonstrating a load of middleware (logging, i18N, online-offline, routing etc); and showcasing some of the nice aspects of Vue.js

Big-Up with Vue
Vue has interesting features: a) it effectively replaces the need for jQuery; b) a Vue app can be built using the Vue CLI; c) also - Vue can be added to existing sites on a page basis by importing the requisite scripts.
Big-Up shows 2 pages: a) a vanilla html page where Vue and Vue COMPONENTS have been added (look at the page source to see this), b) a vanilla HTML page where similar stuff is done using AJAX.
A Note on Vite
Vite is a new bundler to rival or replace WebPack. It is MUCH faster than Webpack cos it's purely oriented to current - not legacy - tech.

Shell3e
Shell3e is a starter application demonstrating a load of middleware ( Routing, Vuex, Logging, Bootstrap, i18N, navbar & sidebar, local storage, media query, form validation); and showcasing some of the nice aspects of Vue.js
Shell3e also demonstrates Electron. The same codebase which compiles to a web-based PWA can also be compiled to a desktop app using Electron.
Notes on Nuxt
Vue is purely client-rendered. Vue produces 'static' sites (do not get me started on the definition of 'static') using HTTP for data access (though stuff like cloud functions can be used on Firebase).
Vue is therefore poor or useless for SEO. If you do not need SEO, then no problem.
Nuxt is built on Vue (like DjangoCMS is build on Django). Nuxt addresses the SEO issue by offering different build modes: pure client-side (like Vue) or pure server side (for SEO). These can be combined on a page-by-page basis. After this we enter the truly (sic) 'static' realm. In this case static means pages that are rendered on the server AT BUILD TIME. The client simply displays the pre-built pages. You can also configure the build to produce one page for Product A, another for Product B. You can even give these pre-compiled pages an expiry limit, and so on.
So the parts of your site which are highly dynamic can be server-side or client-side rendered as requested by the browser. Pages which change little or not at all (like a catalog) can be pre-rendered.
So this is good for SEO AND page delivery times.

Eatson Bisshop Civic Society 1
A static site, server-side pre-rendered on build & deploy.
Eatson Bisshop Civic Society 2
A non-static site, server-side rendered on request. NB: Currently statically deployed.
Notes on Nuxt3
Nuxt3 now enables SSR deployment to Google Firebase out-of-the-box. Unlike the 2 Nuxt2 apps referenced above, Shelln3e is a non-static site.
SSR sites are more expensive & complex to host than static sites because the pages delivered by the server are not snap-shots - they are live (built each time) pages & require specific software to enable this. If your page content can change frequently and SEO is required, then SSR is the way to go.

Shelln3e
A non-static SSR site deployed on Google Firebase. The best of both worlds if you need SEO etc.: Vue3 and SSR. Also: Electron is used to deploy this site as a desktop app.
Notes on Next
Next is a bit like Nuxt in that it has similar client & server-side rendering functionalities.
Next is different however in that it is a framework based on React. Manipulating the client-side is quite different from your average javascript framework.

Imposoracle
OK so I had to call it something. In order to learn new stuff I build real-world applications as complete as I can.
Imposoracle (the 'Oracle of the Impossible'). Ask an impossible question & Imposoracle will find an answer. Or maybe it will when & if I can access some kind of AI.
This app demonstrates all the basic stuff (routing, i18N, logging, user & user-role access etc.) & client/server-side rendering.
In addition, a number of applications are demonstrated. This app is hosted on Vercel. Vercel are the people behind Next.
Notes on Angular
Angular (1), AngularJS as it now is, was the first Javascript framework I worked with.
Angular2+ is a much different & larger beast. Depending on the requirements it would be my second choice for a Javascript l-o-b application behind Vue.

My Lists of Stuff
A simple (unfinished & quite old) app with a Schedule list & Snapper for pictures.