37. ANGULAR2 IS A NEW FRAMEWORK
- built from scratch to be a development platform
- dedicated team at google and around the world
- currently in BETA 3
38. TARGETING DESKTOP & MOBILE
- Abstract rendering layer
- Server side rendering
- Natural native-script support
39. CUTTING EDGE TECHNOLOGIES
- Use of WebWorkers
- Shadow DOM components
- server-side pre-rendering, offline compile
47. ALL ASPECTS OF MODERN WEB APPS
- Animation module (js, css & Web animation API)
- Internationalization (I18N) & accessibility
- Powerful component router
- Form system - (two-way data binding,
change tracking, validation, and error handling)
48. ABSTRACTIONS
- Http module for server-side communication
- Dependency injection for modularity and testability
- Core directives for declarative dynamic templates
50. Released 2013 (2+ years)
Used extensively in production
https://github.com/facebook/react/
wiki/Sites-Using-React
REAL WORLD USE
Beta 3 Released in 2016
currently used in production only
inside of Google
51. • Massive adoption abroad by startups
and companies
• Initial adoption in Israel
• Active and growing React community
• Multiple companies started PoC
the technology
• Initial adoption in Israel
• Community interest exploding
DEVELOPERS
52. • Active and growing React community
• Huge amounts of quality Courses &
Books
• Community interest exploding
• official conferences in Europe &
USA
• large amount of angular local
communities around the world
• massive amount of Books, Videos,
Tutorials, Courses and posts
COMMUNITY
53.
54.
55.
56. • Gradual small improvements
• Easy upgrade path (angular hah!)
• milestones and development
process (public)
• tutorials and tools for easier
migration from angular 1.x
• dedicate team of 28 google
engineers +community
contributors
ROADMAP
57. • Extensive eco system
• Components for every need
• Growing eco system
• Angular 1.x components are
currently in migration process
• Easy integration with components
made in other frameworks /
libraries
3RD PARTY
59. • ES6/7 Focused
• TypeScript adding extensive JSX
support
• ES6 / TypeScript focused (ES5 and
Dart as well)
• Standart HTML / CSS (react??)
LANGUAGE
61. • What is VirtualDOM • encapsulated structure and style
• part of web components spec
• exciting technology (not invented..)
VIRTUAL / SHADOW DOM
62. • JSX - Next slide • Standart JavaScript - (.js or .ts)
• Standard HTML - can be written as
a separate file, valid, (.html)
• Standard CSS - can be written as a
separate file, valid (.css)
• directives - declarative abstractions,
extends element behaviour.
• bind to native element properties
and events - no wrappers!
TEMPLATE ENGINES
63. JSX
<div>
<Component />
<h1>Regular HTML tags</h1>
<Hello title=‘React rules!’/>
<ComponentWithChildren>
<StuffInside />
Some text with { 4 - 3 } expressions in it.
</ComponentWithChildren>
</div>
64. Components
const Hello = ({ title }) => <h1>{ title }</h1>;
hello.jsx
hello.css
h1 {
font-weight: bold;
}
66. • FLUX • Zone.js - proxy for all the async
methods in the browser
• two-way, one-way, one-time
binding mechanism
• Flux, RxJS (streaming) and ‘classic’
Model style data flows
• No $digest, $apply, $scope,
$watch
CHANGE DETECTION
67. • No need for browser
• Mocking tools
• Build in E2E (click())
(next slide)
• No need for browser
• Mocking tools out of the box
• Testable from the ground up thanks
to dependency injection
TESTS
70. Server rendering
import { renderToString } from ‘react-dom/server';
// Render the component to a string
const html = renderToString(
<div>
<h1>Hello from the server!</h1>
</div>
);
import { render } from ‘react-dom';
render(
<div>
<h1>Hello from the server!</h1>
</div>,
document.getElementById('app')
);
71. • React Native
• Same code on Android & iOS
• Using Native Components!
• No crappy WebView wrappers (ionic/
cordova/etc)
• Server side rendering for web-
mobile
• Natural integration with native-
script (native components, no
cordova)
MOBILE
72. • React Chrome extension
• Easy “state” inspection
• Great action replay with redux
• redux dev tool for redux
• built-in inspection tool
• TypeScript support through IDE’s
and sourceMaps
https://github.com/gaearon/redux-devtools
DEBUGGING
75. Angular is a development platform
aimed for modern most demanding
web and mobile applications.
Angular2 built from several modules
working together to supply high level
abstractions and API’s for building
complex applications with ease.
Nuth said
FINAL WORDS
76. We are looking for
rockstars to join our band
jobs@500tech.com
HIRING