joewood1972
Joined 12 years ago
Joined 12 years ago
I would suggest you add some sort of share button, for bragging and viral spreading. And maybe some sort of local state for tracking streaks.
* If some of the code is likely to be reused with an associated website I would go for Electron. Using ReactJS.
* If an associated mobile app is also possible, I would take a look at React-Native, which have some embryonic desktop technology counterparts. This option can be combined with a webview.
* Worth also looking at Xamarin, especially if there's existing investment and skills in .NET (e.g. existing Windows app being migrated).
That said, assuming a greenfield the best case has to be to use tabs. This way if somebody has a preference to small indents then they can configure the TAB to render as 2-spaces - it becomes a render issue.
So, use a modern tool and it's a moot point.
P.S. not sure why Silicon Valley's Richard started talking about 8 space tabs. That would be crazy. The only time I've seen that is in a proportional font in a word processor.
I've used both Angular, played with Angular 2 and React. Plus many other MVC (and MVVM) libraries. I would say that the state managed React model is far more scalable than the traditional MVC 'observable' model. Sure, you can use immutability in Angular-2, but with React you have an architecture built around simplicity with the need to integrate different artifacts.
JSX helps React to scale because it extends type safety of TS or Flow into the UI DSL. JSX allows the developer to deal with the DOM as an object graph expression, right in the language. From a strongly typed perspective, this works much better than templates or embedding code into HTML.
* Fix NPM and make it immutable. If there's a legal problem allow a package to be flagged with a warning and redirected to its new name.
* Use bundleDependencies in npm
* and maybe even back-up your entire code directory