Quixe Channels - Framework

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

Web Components’ seem relatively safe for the future - AngularJS already relies on that feature (Through a polyfill if necessary), so I would count on there being future support for that out of webkit. Now might still be too soon to commit to that architecture, but if you do, there are definitely polyfill options to make it work.

Ember might be worth considering as an alternative to Angular, too; it’s more lightweight than ng.

Styling is ultimately a CSS issue. One advantage of web components is that they make styling them somewhat more straightforward. I’d definitely recommend going the Less/Sass route.