SlideShare a Scribd company logo
1 of 41
Angular 2
Better or worse?
Vladimir Georgiev
Technical Trainer &
Software Developer @ SoftUni
http://VGeorgiev.org/
@VGeorgiew
Table of Contents
1.Who am I?
2.Where Angular 1 is going?
 v1.3
 v1.4
 v1.5
3.Angular 2
4.Demo
2
3
 Vladimir Georgiev
 Software Engineer and Technical Trainer @
Software University
 Top performing graduate from the Telerik
Software Academy (2013)
 Student in Technical University
 Computer and Software Engineering
 Web site & blog: www.VGeorgiev.org
 Twitter: @VGeorgiew
Who am I?
Have you ever written Angular?
Let's start with Angular 1
Angular 1 is not dead!
Angular 1 vs Angular 2 sites
angularjs.org angular.io
Angular 1.3
Patch releases
Bug fixes
Small features
Angular 1.4
New Router
Internationalization
ng-animate, ng-messages, ng-cookies
…
 You need to require ngNewRouter module
New Router
Angular 1.4 – Performance boost
~30% faster digest times vs 1.3
11
Upgrade to 1.4 is very easy
It has very few breaking changes
(well document)
Work will start after 1.4 is out
Planning will happen in public
Community involvement is the key
 Comment / vote on issues you want to see fix
 Send pull requests
Angular 1.5
Angular Team is working on
new features for Angular 1
New Router
Internationalization
Material Design
Migration plan to Angular 2
Support
Angular 1 New Features
Use new router
Use ES6 modules
Use ES6 in general
This will make the migration easier
Release Angular 1 until you are using it
18
Performance
The Changing Web
Mobile
Ease of Use
Why Angular 2.0?
Simpler
Flexible
Productive developers
Fast
Consistent
Angular 2 Themes
20
 Angular 1
 Angular 2
 Why?
 Problems with src, disabled:
Angular 2 – Data Binding
<component title="{{expression}}">
<component [title]="expression">
<component disabled="{{exp}}">
<component ng-disabled="exp">
<component src="{{exp}}">
<component ng-src="{{exp}}">
21
 Expression
 Driven by change detection
 Statement
 Driven by event
Angular 2 – Event Binding
<component [prop]="user.name(current)">
<component (event)="user.name(current)">
22
Angular - Reference
<button (click)="input.focus()">
<input #input type="text" />
23
 Can you spot all the errors in here?
Angular 1 - Typos
<div tytle="{{usor.name}}">
<button ngClick="ctl.click()">
{{usor.name}}
</button>
</div>
24
Angular 1 - Typos
<div tytle="{{usor.name}}">
<button ngClick="ctl.click()">
{{usor.name}}
</button>
</div>
Angular 2 immediately Typo Errors
25
26
 Still in Angular 2
 Dependency injection
 Data binding
 Directives
 Router
 Filters
 Animation
 Accessibility
Angular 1 ?= Angular 2
 Still in Angular 2
 i18n
 Forms
 Expressions
 Material Design
 Protractor
 Karma
 Mocks
27
Web Components
New template syntax
New languages
Ultra-fast change detection
and more…
New in Angular 2
28
Angular 1
 Service
 Directive
 Controller
Angular 2
 Component
Differences between components
app.factory('SoftUniStore', function () { … });
app.directive('autocomplete', function () { … });
app.controller('softUniController', function () { … });
@Component({ selector: 'my-app' })
@Template({ url: 'templates/softuni' })
class SoftUniComponent { … }
29
Directives
<input name="title" autocomplete="movie-title">
module.directive('autocomplete', ["autocompleter", function(autocompleter) {
return {
restrict: 'A',
link: function (scope, element, attrs) {
}
}
}]);
@Decorator({ selector: '[autocomplete]' })
class Autocomplete {
constructor(autocompleter:Autocompleter, el:NgElement, attrs:NgAttributes){
}
}
Angular 1
Angular 2
30
Microsyntax Templates
<ul>
<li template="foreach #item in items">
{{item}}
</li>
</ul>
<ul>
<li *foreach="#item in items">
{{item}}
</li>
</ul>
31
 AtScript is a JavaScript base language extending TypeScript
 It states that plain JavaScript code is a valid AtScript code
 Builds on ECMAScript 6 with types
 Extends it by annotations and type introspection
 Superset of ES6
 Uses TypeScript Syntax
 Optional Runtime Type Verification
 Type and Metadata Annotations
AtScript
32
AtScript
AtScript is TypeScript
33
34
 Traceur is a transpiler (compiler) that takes features of future
standards
 Traceur transpiles them into today JavaScript
Traceur
Angular 2 Loves Standards
When Angular 2 ships?
First migration – May
Angular 2 – Far in the future
Open Source
with Community Involvement
38
 Add a feature
 Contact us
 Minimal set of changes per PR
 Unit tests
 Follow conventions
 Work on issues
 Write a Plunker or a failing test
 Broen at master?
 Help closing issues
How you can help
Resources - What We Need Additionally?
 ng-conf
 http://www.ng-conf.org/
 New Router Concepts
 https://www.youtube.com/watch?v=h1P_Vh4gSQY
 TODO App
 https://github.com/davideast/ng2do
 Victor Savkin Blog
 http://victorsavkin.com/
Angular 2
Live Demo
40
?
Angular 2

More Related Content

What's hot

What’s new in angular 2
What’s new in angular 2What’s new in angular 2
What’s new in angular 2
Ran Wahle
 

What's hot (20)

Introduction to Angular 2
Introduction to Angular 2Introduction to Angular 2
Introduction to Angular 2
 
Introduction to angular 2
Introduction to angular 2Introduction to angular 2
Introduction to angular 2
 
The evolution of Angular 2 @ AngularJS Munich Meetup #5
The evolution of Angular 2 @ AngularJS Munich Meetup #5The evolution of Angular 2 @ AngularJS Munich Meetup #5
The evolution of Angular 2 @ AngularJS Munich Meetup #5
 
JavaScript - The Universal Platform?
JavaScript - The Universal Platform?JavaScript - The Universal Platform?
JavaScript - The Universal Platform?
 
Angular 2 - The Next Framework
Angular 2 - The Next FrameworkAngular 2 - The Next Framework
Angular 2 - The Next Framework
 
Building Universal Applications with Angular 2
Building Universal Applications with Angular 2Building Universal Applications with Angular 2
Building Universal Applications with Angular 2
 
Angular 2... so can I use it now??
Angular 2... so can I use it now??Angular 2... so can I use it now??
Angular 2... so can I use it now??
 
Tech Webinar: Angular 2, Introduction to a new framework
Tech Webinar: Angular 2, Introduction to a new frameworkTech Webinar: Angular 2, Introduction to a new framework
Tech Webinar: Angular 2, Introduction to a new framework
 
Angular 2 overview
Angular 2 overviewAngular 2 overview
Angular 2 overview
 
Talk for DevFest 2021 - GDG Bénin
Talk for DevFest 2021 - GDG BéninTalk for DevFest 2021 - GDG Bénin
Talk for DevFest 2021 - GDG Bénin
 
Angular 2
Angular 2Angular 2
Angular 2
 
Understanding Angular 2 - Shmuela Jacobs - Codemotion Milan 2016
Understanding Angular 2 - Shmuela Jacobs - Codemotion Milan 2016Understanding Angular 2 - Shmuela Jacobs - Codemotion Milan 2016
Understanding Angular 2 - Shmuela Jacobs - Codemotion Milan 2016
 
Angular 2 Essential Training
Angular 2 Essential Training Angular 2 Essential Training
Angular 2 Essential Training
 
Angular 6 - The Complete Guide
Angular 6 - The Complete GuideAngular 6 - The Complete Guide
Angular 6 - The Complete Guide
 
Developing a Demo Application with Angular 4 - J2I
Developing a Demo Application with Angular 4 - J2IDeveloping a Demo Application with Angular 4 - J2I
Developing a Demo Application with Angular 4 - J2I
 
The productive developer guide to Angular 2
The productive developer guide to Angular 2The productive developer guide to Angular 2
The productive developer guide to Angular 2
 
Angular 2 Crash Course
Angular  2 Crash CourseAngular  2 Crash Course
Angular 2 Crash Course
 
What’s new in angular 2
What’s new in angular 2What’s new in angular 2
What’s new in angular 2
 
Angular2 intro
Angular2 introAngular2 intro
Angular2 intro
 
Angular2 for Beginners
Angular2 for BeginnersAngular2 for Beginners
Angular2 for Beginners
 

Similar to Angular 2 - Better or worse

Similar to Angular 2 - Better or worse (20)

Angular
AngularAngular
Angular
 
El viaje de Angular1 a Angular2
El viaje de Angular1 a Angular2El viaje de Angular1 a Angular2
El viaje de Angular1 a Angular2
 
Realizzare Single Page Application con Angular2
Realizzare Single Page Application con Angular2Realizzare Single Page Application con Angular2
Realizzare Single Page Application con Angular2
 
Angular 2: core concepts
Angular 2: core conceptsAngular 2: core concepts
Angular 2: core concepts
 
Angular 2.0
Angular 2.0Angular 2.0
Angular 2.0
 
5 Key Benefits of Migration
5 Key Benefits of Migration5 Key Benefits of Migration
5 Key Benefits of Migration
 
Angular 2 - Core Concepts
Angular 2 - Core ConceptsAngular 2 - Core Concepts
Angular 2 - Core Concepts
 
Angular 2 - How we got here?
Angular 2 - How we got here?Angular 2 - How we got here?
Angular 2 - How we got here?
 
Angular 2 release final
Angular 2   release finalAngular 2   release final
Angular 2 release final
 
Angular js 2.0 beta
Angular js 2.0 betaAngular js 2.0 beta
Angular js 2.0 beta
 
Angular 2 Routing
Angular 2   RoutingAngular 2   Routing
Angular 2 Routing
 
The productive developer guide to Angular 2
The productive developer guide to Angular 2The productive developer guide to Angular 2
The productive developer guide to Angular 2
 
Angular JS 2_0 BCS CTO_in_Res V3
Angular JS 2_0 BCS CTO_in_Res V3Angular JS 2_0 BCS CTO_in_Res V3
Angular JS 2_0 BCS CTO_in_Res V3
 
Introduction to Angular2
Introduction to Angular2Introduction to Angular2
Introduction to Angular2
 
Reason to choose Angular JS for your Web Application
Reason to choose Angular JS for your Web ApplicationReason to choose Angular JS for your Web Application
Reason to choose Angular JS for your Web Application
 
Сергей Больщиков "Angular Components: все уже за, а вы еще нет?"
Сергей Больщиков "Angular Components: все уже за, а вы еще нет?"Сергей Больщиков "Angular Components: все уже за, а вы еще нет?"
Сергей Больщиков "Angular Components: все уже за, а вы еще нет?"
 
Angular2
Angular2Angular2
Angular2
 
AngularConf2016 - A leap of faith !?
AngularConf2016 - A leap of faith !?AngularConf2016 - A leap of faith !?
AngularConf2016 - A leap of faith !?
 
Making Angular2 lean and Fast
Making Angular2 lean and FastMaking Angular2 lean and Fast
Making Angular2 lean and Fast
 
Migrating an Application from Angular 1 to Angular 2
Migrating an Application from Angular 1 to Angular 2 Migrating an Application from Angular 1 to Angular 2
Migrating an Application from Angular 1 to Angular 2
 

Recently uploaded

Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Victor Rentea
 

Recently uploaded (20)

Stronger Together: Developing an Organizational Strategy for Accessible Desig...
Stronger Together: Developing an Organizational Strategy for Accessible Desig...Stronger Together: Developing an Organizational Strategy for Accessible Desig...
Stronger Together: Developing an Organizational Strategy for Accessible Desig...
 
Modernizing Legacy Systems Using Ballerina
Modernizing Legacy Systems Using BallerinaModernizing Legacy Systems Using Ballerina
Modernizing Legacy Systems Using Ballerina
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Six Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal OntologySix Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal Ontology
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
TEST BANK For Principles of Anatomy and Physiology, 16th Edition by Gerard J....
TEST BANK For Principles of Anatomy and Physiology, 16th Edition by Gerard J....TEST BANK For Principles of Anatomy and Physiology, 16th Edition by Gerard J....
TEST BANK For Principles of Anatomy and Physiology, 16th Edition by Gerard J....
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
Simplifying Mobile A11y Presentation.pptx
Simplifying Mobile A11y Presentation.pptxSimplifying Mobile A11y Presentation.pptx
Simplifying Mobile A11y Presentation.pptx
 
API Governance and Monetization - The evolution of API governance
API Governance and Monetization -  The evolution of API governanceAPI Governance and Monetization -  The evolution of API governance
API Governance and Monetization - The evolution of API governance
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
 
JohnPollard-hybrid-app-RailsConf2024.pptx
JohnPollard-hybrid-app-RailsConf2024.pptxJohnPollard-hybrid-app-RailsConf2024.pptx
JohnPollard-hybrid-app-RailsConf2024.pptx
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
Decarbonising Commercial Real Estate: The Role of Operational Performance
Decarbonising Commercial Real Estate: The Role of Operational PerformanceDecarbonising Commercial Real Estate: The Role of Operational Performance
Decarbonising Commercial Real Estate: The Role of Operational Performance
 
Less Is More: Utilizing Ballerina to Architect a Cloud Data Platform
Less Is More: Utilizing Ballerina to Architect a Cloud Data PlatformLess Is More: Utilizing Ballerina to Architect a Cloud Data Platform
Less Is More: Utilizing Ballerina to Architect a Cloud Data Platform
 

Angular 2 - Better or worse

Editor's Notes

  1. Понеже Angular team са пичове и освен, че искат да подобрят Angular, като го пренапишат, за тях е много важно мнението на хората и какво им харесва на тях. Също така на коя платформа разработват своите приложения.
  2. How we are going to split our development between Angular 1 and Angular 2 Based on where you are spending your time There're going to use the traffic between Angular 1 and Angular 2 sites to gauge interest in the community as to where you are spending your time
  3. ng-messages ng-cookies ability to set path and domain clean up cookie update process CommonJS – friendly builds injector – print caller name in "unknown provider" errors ng-jq – make it possible to force jqLite or a specific jQuery version ngOptions – add support for disabling an option limitTo – add a beginning index argument ngModel – add $setDirty method routeProvider – allow case-insensitive route matching several ngAria improvements several $http improvements
  4. 1. Router - Some of the big work we're doing feature-wise for Angular 1 is work that we're going to share with Angular 2, starting with the ROUTER We build this new router for Angular 2 and then back ported in to Angular 1. It focuses on mobile use cases and complex situations in big apps 2. Better i18n 3. Material Design - for Angular 1 then for Angular 2. Layout system based on flexbox 4. Migration plan - They are planning to provide migration guide. John Papa will help them
  5. Release Angular 1 until the vast majority of you might migrate to Angular 2
  6. When we looked at where we were and where you wanted us to be, we realized that we couldn't get there with the Angular 1 architecture at least not without making very painful breaking changes This is why we came up with Angular 2 Angular 2 is now in alpha You can go see its status on angular.io It is not ready for building production applications quite yet
  7. Are the features that I like in Angular 1 still there? Are the knowledge in Angular 1 maps to this new framework?
  8. The Angular team have chance to work, not only with people inside the team, but with many talented people outside the team. Ability to hire some really high quality people. Angular team know your abilities by your contributions Some of the people in Angular Team are hired from contributors.