Here is my scenario. I would like advice on which path to follow, along with good reasons as to why. It would even be better if you could give an example based on experience of a similar decision but not absolutely necessary.

I am working at a company wherein we have a backbone.js frontend app which has been around for several years, around 4. The app works well and is bringing in money for the company.

I am not thinking we need to do a fully blown rewrite as it is not a trivial app. On the other hand, I am worried that the app would become less maintainable and hard to work with as time goes on. This is especially true as we bring on new developers.

This decision is not based solely on me but I am torn between using typescript to incrementally change files or functions to, or if possible slowly change small modules or widgets to another framework, angular, vue or any suitable one which looks to have a long stable future.

Any advice or input would be greatly valued.

  • So you think typescript will make your app more maintainable? Why don't you provide some of your reasoning as to why? It might keep this question from being shut down. – Robert Moskal Jul 22 '16 at 1:51
  • 2
    Whatever framework you pick today, it'll also be out-of-fashion before you blink. If your app works fine, perhaps you would be better spent documenting it (so it'll be easier to on-board new devs) rather than trying to rewrite it. – Eric King Jul 22 '16 at 2:35
  • It is hard to give any good advice beyond "do what works for you". – Thomas Junk Apr 8 '18 at 7:52

The end result is that it should be:

  • Easy to train new developers
  • Easy to maintain
  • Easy to debug in all browsers

For that, inline documentation and strict separation of concerns are the most important criteria. In terms of the DOM, defining a standard flow of events is key. For example:

An event handler on a widget is triggered

The event handler can manipulate the DOM nodes directly created by the widget, and/or modify the state of the tiddler store

The core then issues a store change event which triggers the refresh cycle

Each widget in the tree then gets a chance to refresh itself to reflect the changes in the store if they need to


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.