Release 2.0

Main menu

Post navigation

ngEurope 2016. brief review

Several days ago I had a chance to visit ngEurope conference. It was 2 nice intensive days filled with presentations. If by some reason you were not there and don’t have time to watch all 16 hours I made some notes for you.

First Day

Miško Hevery made this presentation in so automatic mode like he made the same one more than 10 times already: looking in one point and reading text learned by heart. Check it out: he was alive first 1-2 minutes – rest was for robot that was reading the text.

Key points:

focus not only on web but also mobile and desktop apps

Angular2 is not a framework, but a platform

performance part: lazy loading, property tricks

detailed errors

explanation of change detection options

a bit about tools (angular-cli, augury)

several words about AoT

and Angular Universal

I think it’s good talk to have something like general overview of all the coming conference topics.

Rob Worman with his favourite topic – reactive programming. Where could we find reactive approach in ng2?

Forms

Http

Async pipe

Router

@Query

Next Rob provided example of typeahead component building with ng2 and RxJs. Step by step with explanations. It’s the best quick start with RxJs that you could find. Strictly recommend if you did not have experience with reactive programming before.

It was quick presentation of chrome extension for inspecting Angular2 application performance (BatScanner) by Douglas Duteil. Also Douglas showed the way of creating “hooks for hooks” and compiler injections to reach the goal.

I would say that Willem Veelenturf presented not really technical topic. His experience how they make ionic application with the same performance as native app and the main idea(if I’m not mistaken) that they created own cordova plugins and integrate them with existing ionic app. And it was a statement that ING baking app(that they made) is the best in Netherlands. Sorry Willem, but it’s obvious that ABN AMRO mobile app is the best in NL ;)

Martin Probst and Raphaël Jamet provided nice hints how Angular2 helps you to prevent XSS vulnerabilities and how not to brake it.

It was all about sanitizing the data. And it’s good for all of us that Angular provides sanitizer from box. More over it knows about different contexts and it will not try to sanitize “<script>” tag if it’s URL resource.

But sometimes you need to output content that can not be sanitized by Angular, for example you want to place youtube video(that is not provided from your domain) on your site. In this case you need to do sanitization yourself, and don’t be lazy by just using bypassSecurityTrustResourceUrl method to switch of Angular one!

The most part of the talk by Daniel Rosenwasser was about why we should use Typescript, but not about new features as title said. It was live coding where Daniel showed that you should not be afraid of Typescript and it’s really easy to switch from EcmaScript 2015. And then it was angular1 example how to write it with Typescript. And finally at the end of the talk we started with new features:

Second Day

It was a story from Hans Larsenthat started with explanation how painful was the process of working with ng1 environment.

And with angular-cli you everything from box:

ng new

ng build

ng serve

ng test/ ng e2e

ng generate … – that will do not only code scaffolding for you but also all the imports

So:

compile SASS/LESS

TypeScript transpiration

Building

Asset optimisation

Live reload via websockets

Environment file(dev/prod configuration)

Also!: AoT and Tree Shacking

And some words what’s coming:

FASTER

Split CLI and Toolkit

Refactoring tools (mostly for updating Angular versions)

Addons and scripting

Library development

And after the presentation I also asked Hans about future plans for creating ng2 module library that could be easily integrated into cli, so you can install and apply any ng2 3rd party module by one command like:

ng install material

but unfortunately there are still no plans of doing it in nearest future.

Wassim Chegham explained what is Angular Universal and when should we care about server side.

Why:

SEO

link preview (for social media)

web app gap (or first page rendering)

How to sync the state between first page rendered on server and real spa? It’s manager by special script preboot.js that records all the events before single page application is loaded and tries to reproduce it after.

To start:

import { UniversalModule } from 'angular2-universal/browser'

and for server side:

import { UniversalModule } from 'angular2-universal/node'

There are a lot of renders for different node frameworks, for example express.

If you just started with angular2 animations I really recommend to watch the presentation: it’s less than 20min but it contains material for several hours of intensive learning. May be Matias expected to have more time for talk, because he was sliding the slides so fast that I guess most past of the audience got lost the focus very soon.

I found presentation Adam Bradley not interesting at all. I expected more from the lead of Ionic platform. “cars history, web/js history, now days mobiles, browsers, js much faster, bottleneck – network” – that’s all you need to know from this speech.

May be I was just tired after all the talks at the end of the day, but frankly speaking I expected more from this topic by Marc Laval. It was pretty abstract, but not highlighting the idea and it was a lot of code on slides that makes everything even more confusing. It was something about angular-richtext, nativescript and react-native renderers.