This question was originally posted on Stack Overflow in the hope that active HTA developers who've faced a similar scenario would see it, but it has been cross-posted here at the suggestion of a commenter on SO.
Which Single Page Application (“SPA”) frameworks, if any, have been successfully used to deploy a single-page, multi-screen HTML Application (“HTA”) with reasonably complex component lifecycle requirements, and the need for the HTA to run from a local file system and not a web server?
HTAs are HTML files with embedded scripts that run in a fully trusted manner on a Windows desktop—essentially, they're scripts with HTML GUIs. I'm required to use an HTA to address a number of business needs in a restricted IT environment where an HTA is the only option.
So far, all the static HTML for the various screens and all the code to do the actual work (process directories, read/write Excel files, generate emails, log to text files, modify the displayed HTML) resides in the one file (local copies of external dependencies like Bootstrap and jQuery UI are linked). As the requirements develop, though, the file is getting more cumbersome to navigate and modify without breaking things.
I feel that an SPA framework would allow me to chunk things down into discrete components during development (optionally but not mandatorily emitting a single, minified HTA file at the end), but it's hard to know what frameworks to consider because:
- No well-known framework appears to officially support use in HTAs.
- Several frameworks seem to expect the output to be served through a web server, not directly from the file system.
- Simply trying a demo of each framework and testing for immediate failure in the HTA context isn't enough research, because such a failure might be correctable with some number of non-trivial modifications (which would require further research).
- Conversely, it would be a huge waste of time to go down the path of trying to make a particular framework work in the HTA context if someone else has already incurred that time cost and knows that it's not possible.
I've attempted to try Angular for this, and I've been able to get past the initial problem of Angular not working in the HTA context, but I've been hesitant to experiment more with Angular because I find the learning curve huge and can't justify putting everything else aside to learn a framework that might not be able to deliver in the end.
I'm aware of a similar question with an answer suggesting the use of AngularJS (which is confusingly not the same thing as Angular), but the question concerns a server-based application with offline capabilities, so it's not really a perfect fit—with HTAs, there's no back end.
HTAs are not well-known, but they're not dead either. I'm hoping that someone else has already had success using a framework to aid file system-based HTA development and can share their experience/s.