Advantages
- Suitable for novices due to the easy to read compiler errors, simple tooling, etc
- It’s highly typesafe. As soon as it compiles the chances to experience runtime errors are minimal
- Its architecture allows the creation of simple SPAs, without needing to utilize numerous libraries
- The language design is very elegant and most developers are delighted by this aspect
Disadvantages
- The simplistic type system can cause frustration generated by all the boilerplate
- It’s a client-side only language lacking support for isomorphic applications
- Code splitting is not supported
- For the non-trivial applications, the debugger/reactor does not function
- Front-end developers complain about the inability of building complex things, particularly single-page apps
Components
- Model
- View
- Update
- Runtime
Development Tools
- Atom
- Vim
- VSCode
- Firacode