Not sure if anyone has any thoughts about this sort of thing, but I thought I’d open it up.
I’m exploring options for a front-end javascript or component framework to use with quixe channels. My goal is to be able to create custom I7 extensions with embedded component code. The author would be able to include the extension, and the front-end behavior would pass from story to UI automatically. An updated FyreVM extension would be called Quixe Channels Support and have the other necessary bits for a full story web implementation. I’d also have the proper files in the release-along folders (would require installation).
The result would be that the author would be able to do something like this:
“The first quixe channels story” by David Cornelson.
Include Quixe Channels Support.
Include QC Standard Main Window.
Include QC Standard Status Line.
Include QC Inventory Window.
Release as Quixe Channels Web Application {paraphrasing, forgot the actual syntax}.
After you compile in release form, you’d have an entire web application. Obviously each QC component would have additional properties, but that’s not quite important at this time.
So to do this, I could use any number of combinations of technologies:
HTML + CSS + …
- Plain JavaScript
- JQuery
- AngularJS
- ReactJS
- Web Components (as stated by the W3C standard)
- ???
There are benefits to each of these technologies, but serious concerns with them as well.
Plain JavaScript can become spaghetti code quickly and isn’t all that easy to read if not done by an expert.
JQuery is an excellent too, but has similar problems.
AngularJS is a strong application platform, but probably overkill for most IF stories.
ReactJS is ideal, but still requires some extra work around how actions are handled and models rebuilt.
Web Components also seem ideal, but it’s such a new technology and it’s not clear if support will grow or not.
There are many other toolsets; Knockout, Backbone, Handlebars, etc.
My intentions are that the author wouldn’t actually need to know any of the underlying tools. There still an open issue of how everything is styled, but again, that can be determined as the components are built and tested. I expect a pattern to present itself. Web Components allow you to provide encapsulated styles, and that’s ideal, but there still needs to be an ability to change “themes”, colors, fonts, etc.
Is anyone familiar enough with these tools to offer an opinion?
David C