Хорошо написанная статья, Мэтт! Я начинаю исследовать идею компонентов без фреймворка. Такие инструменты, как Svelte, компилируют компонент в функцию JS, а затем вы просто вызываете эту функцию и визуализируете ее в элемент DOM. Действительно переносимый, без среды выполнения (хотя к корневому компоненту прикреплен небольшой API), который можно использовать в других фреймворках. Кстати, я живу в Мельбурне. Приятно видеть такие качественные статьи от австралийских разработчиков :)