<commit_before>
<!-- MOBILE -->
.grid-fluid.l-space-bottom-8
  .c3.text-center
    .sticker <span class="sticker-icon icon-stay-current-portrait"></span>
  .c7
    h3.text-headline.text-uppercase  Mobile First
    p.text-body Modular library design and mobile-specific routing keep things lean so users on low-bandwidth networks don't need to wait. First-class support for touch event gestures. Responsive, cross-device, material design UI components. Tuned for performance and low-memory usage on mobile platforms.


<!-- ES6 -->
.grid-fluid.l-space-bottom-8
  .c3.text-center
    .sticker <span class="sticker-icon icon-fast-forward"></span>
  .c7
    h3.text-headline.text-uppercase  Future Ready
    p.text-body Angular 2 is written in written in ECMAScript 6, with the addition of TypeScript types and annotations. ES6 allows us to benefit from the best of JavaScript, while writing clean and easy-to-read code.


<!-- Coffee, Dart, ES6 -->
.grid-fluid.l-space-bottom-8
  .c3.text-center
    .sticker <span class="sticker-icon icon-favorite"></span>
  .c7
    h3.text-headline.text-uppercase  Flexible Development
    p.text-body In addition to full support for ES6 and TypeScript, Angular 2 works equally well with today's ES5, Dart, CoffeeScript, and other languages that compile to JavaScript. The choice of language is up to you.


<!-- Speed & Performance -->
.grid-fluid.l-space-bottom-8
  .c3.text-center
    .sticker <span class="sticker-icon icon-av-timer"></span>
  .c7
    h3.text-headline.text-uppercase  Speed &amp; Performance
    p.text-body Change detection is now 5x faster thanks to internal change detection tuned for top performance in modern JavaScript engines. If your application uses data structures that imply change guarantees (like immutables and observables), Angular 2 will make use of them to help speed up your application.


<!-- Simplicity -->
.grid-fluid.l-space-bottom-8
  .c3.text-center
    .sticker <span class="sticker-icon is-small icon-embed2"></span>
  .c7
    h3.text-headline.text-uppercase  Simple &amp; Expressive
    p.text-body Make your intention clear using natural, easy-to-write syntax. Reduce complexity for your team: new, structure-rich templates are readable and easy to understand at a glance.


<!-- Routing  -->
.grid-fluid.l-space-bottom-8
  .c3.text-center
    .sticker <span class="sticker-icon icon-call-split"></span>
  .c7
    h3.text-headline.text-uppercase Comprehensive Routing
    p.text-body Design sophisticated views: map URL paths to application components, use advanced features like nested and sibling routes. Support for card stack navigation, animated transitions, and lazy loading for mobile users. Easy migration from routing in prior versions of Angular.


<!-- Animations  -->
.grid-fluid.l-space-bottom-8
  .c3.text-center
    .sticker <span class="sticker-icon icon-flip"></span>
  .c7
    h3.text-headline.text-uppercase Animations
    p.text-body Directly tap into to low-level animation support on mobile and desktop environments with easy-to-use Angular events. Make use of CSS, JavaScript, and the Web Animations API to intelligently handle changes to animations in response to user events. Plan complex animation flows by sequencing the behavior of an entire website on a timeline.


<!-- Dependency Injection  -->
.grid-fluid.l-space-bottom-8
  .c3.text-center
    .sticker <span class="sticker-icon icon-now-widgets"></span>
  .c7
    h3.text-headline.text-uppercase Hierarchical Dependency Injection
    p.text-body Angular 2 ships with powerful, yet simple-to-use dependency injection, allowing you to maintain modular applications without writing tedious glue code. Dependency injection aids you when writing tests, by making it easy to inject test doubles.


<!-- Web Components -->
.grid-fluid.l-space-bottom-8
  .c3.text-center
    .sticker <span class="sticker-icon icon-web"></span>
  .c7
    h3.text-headline.text-uppercase Support for Web Components
    p.text-body Angular 2 plays nicely with web components built using other libraries (Polymer, X-Tag and others), allowing you to pass data into them as easily as if they were written in Angular. Angular components use web standards (e.g. shadow DOM and the HTML5 template tag) in browsers that support them.


<!-- Internationalization & Accessibility -->
.grid-fluid.l-space-bottom-8
  .c3.text-center
    .sticker <span class="sticker-icon icon-accessibility"></span>
  .c7
    h3.text-headline.text-uppercase Internationalization (I18N) &amp; Accessibility
    p.text-body(ng-non-bindable) Reach all your users. Use familiar ICU message format in Angular interpolation syntax (<b>{{  }}</b>), including pluralization and gender rules. Automate message extraction, pseudolocalization, and translation updates. Generate static applications for each locale. Easily promote accessibility via screen readers and assistive devices by automatically generating appropriate ARIA attributes.



!= partial("/_includes/_cta-bar")<commit_msg>Features: pre-launch corrections to text<commit_after>
<!-- MOBILE -->
.grid-fluid.l-space-bottom-8
  .c3.text-center
    .sticker <span class="sticker-icon icon-stay-current-portrait"></span>
  .c7
    h3.text-headline.text-uppercase  Mobile First
    p.text-body Modular library design and mobile-specific routing keep things lean so users on low-bandwidth networks don't need to wait. First-class support for touch event gestures. Responsive, cross-device, material design UI components. Tuned for performance and low-memory usage on mobile platforms.


<!-- ES6 -->
.grid-fluid.l-space-bottom-8
  .c3.text-center
    .sticker <span class="sticker-icon icon-fast-forward"></span>
  .c7
    h3.text-headline.text-uppercase  Future Ready
    p.text-body Angular 2 is written in written in ECMAScript 6, with the addition of types and annotations. ES6 allows us to benefit from the best of JavaScript, while writing clean and easy-to-read code.


<!-- Coffee, Dart, ES6 -->
.grid-fluid.l-space-bottom-8
  .c3.text-center
    .sticker <span class="sticker-icon icon-favorite"></span>
  .c7
    h3.text-headline.text-uppercase  Flexible Development
    p.text-body In addition to full support for ES6 and TypeScript, Angular 2 works equally well with today's ES5, Dart, CoffeeScript, and other languages that compile to JavaScript. The choice of language is up to you.


<!-- Speed & Performance -->
.grid-fluid.l-space-bottom-8
  .c3.text-center
    .sticker <span class="sticker-icon icon-av-timer"></span>
  .c7
    h3.text-headline.text-uppercase  Speed &amp; Performance
    p.text-body Change detection is now 5x faster thanks to internal change detection tuned for top performance in modern JavaScript engines. If your application uses data structures that imply change guarantees (like immutables and observables), Angular 2 will make use of them to help speed up your application.


<!-- Simplicity -->
.grid-fluid.l-space-bottom-8
  .c3.text-center
    .sticker <span class="sticker-icon is-small icon-embed2"></span>
  .c7
    h3.text-headline.text-uppercase  Simple &amp; Expressive
    p.text-body Make your intention clear using natural, easy-to-write syntax. Reduce complexity for your team: new, structure-rich templates are readable and easy to understand at a glance.


<!-- Routing  -->
.grid-fluid.l-space-bottom-8
  .c3.text-center
    .sticker <span class="sticker-icon icon-call-split"></span>
  .c7
    h3.text-headline.text-uppercase Comprehensive Routing
    p.text-body Design sophisticated views: map URL paths to application components, use advanced features like nested and sibling routes. Support for card stack navigation, animated transitions, and lazy loading for mobile users. Easy migration from routing in prior versions of Angular.


<!-- Animations  -->
.grid-fluid.l-space-bottom-8
  .c3.text-center
    .sticker <span class="sticker-icon icon-flip"></span>
  .c7
    h3.text-headline.text-uppercase Animations
    p.text-body Directly tap into to low-level animation support on mobile and desktop environments with easy-to-use Angular events. Make use of CSS, JavaScript, and the Web Animations API to intelligently handle changes to animations in response to user events. Plan complex animation flows by sequencing the behavior of an entire website on a timeline.


<!-- Dependency Injection  -->
.grid-fluid.l-space-bottom-8
  .c3.text-center
    .sticker <span class="sticker-icon icon-now-widgets"></span>
  .c7
    h3.text-headline.text-uppercase Hierarchical Dependency Injection
    p.text-body Angular 2 ships with powerful, yet simple-to-use dependency injection, allowing you to maintain modular applications without writing tedious glue code. Dependency injection aids you when writing tests, by making it easy to inject test doubles.


<!-- Web Components -->
.grid-fluid.l-space-bottom-8
  .c3.text-center
    .sticker <span class="sticker-icon icon-web"></span>
  .c7
    h3.text-headline.text-uppercase Support for Web Components
    p.text-body Angular 2 plays nicely with web components built using other libraries (Polymer, X-Tag and others), allowing you to pass data into them as easily as if they were written in Angular. Angular components use web standards (e.g. shadow DOM and the HTML5 template tag) in browsers that support them.


<!-- Internationalization & Accessibility -->
.grid-fluid.l-space-bottom-8
  .c3.text-center
    .sticker <span class="sticker-icon icon-accessibility"></span>
  .c7
    h3.text-headline.text-uppercase Internationalization (I18N) &amp; Accessibility
    p.text-body(ng-non-bindable) Reach all your users. Use familiar ICU message format in Angular interpolation syntax (<b>{{  }}</b>), including pluralization and gender rules. Automate message extraction, pseudolocalization, and translation updates. Generate static applications for each locale. Easily promote accessibility via screen readers and assistive devices by automatically generating appropriate ARIA attributes.



!= partial("/_includes/_cta-bar")
{'fraction_non_alphanumeric': 0.0932, 'fraction_numerical': 0.0112, 'mean_word_length': 3.773747016706444, 'pattern_counts': {'":': 0, '<': 67, '<?xml version=': 0, '>': 67, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 2, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '769167', 'n_tokens_mistral': 2919, 'n_tokens_neox': 2761, 'n_words': 1072}