Just-in-Time (JiT) vs Ahead-of-Time (AoT) compilation in Angular

Gaurang Patel picture Gaurang Patel · Jan 3, 2017 · Viewed 75.1k times · Source

I was referring this documentation and came across the compilation concept. One can use either JIT or AOT compilation. However, I found it very brief and need to know following points in details,

  • Differences between those two techniques
  • Recommendation about when to use what

Answer

Benyamin Shoham picture Benyamin Shoham · Jan 19, 2017

JIT - Compile TypeScript just in time for executing it.

  • Compiled in the browser.
  • Each file compiled separately.
  • No need to build after changing your code and before reloading the browser page.
  • Suitable for local development.

AOT - Compile TypeScript during build phase.

  • Compiled by the machine itself, via the command line (Faster).
  • All code compiled together, inlining HTML/CSS in the scripts.
  • No need to deploy the compiler (Half of Angular size).
  • More secure, original source not disclosed.
  • Suitable for production builds.