I was happy to visit NG-NL Conference in Amsterdam (the first AngularJS one in NL) and would like to share my thoughts with you.
As far as there were a lot of topics to discuss conference was run in 2 tracks. Here you can find the whole schedule. I followed next route:
so several words about each one.
Intro + Welcome (slides, video)
After several days/weeks/months listeners could forget the context, but they never forget awesome comparison that authors of frameworks and tools like builders who are constructing a bridge across the river, river of different development issues. And they know that these bridges would be used not only by them but mostly by juniors. So he wished us create our own bridges, help to improve existing ones and never troll builders.
Very inspiring! Thank you, Aaron.
Videogular and the future of HTML5 video (slides, video)
It was presentation of Videogular – HTML5 video player for AngularJS by Raúl Jiménez. First part of the presentation for me was like “reading” documentation for component and explaining obvious things. Second part was more interesting with life coding and real example. Site sawfish.stimme.de shows Videogular connected to google maps API that is really impressing!
@Raul, I will definitely have more detailed look on your project.
Lazy load anything using ocLazyLoad (slides, video)
A very short talk by Olivier Combe. He presented his extension ocLazyLoad that allows to do lazy loading for modules in AngularJS. Pointed out how important lazy loading is, especially for mobile limited network connection. Also it was some explanation how it could work with router (both ngRoute and ui-router). It’s nice that ocLazyLoad also support dependancy injection for loaded modules.
There are some expectations to get similar functionality in Angular1.5, we’ll see.
@Olivier, why only 20 min for such a fundamental concept? Already dived into the source code.
Visual Review – Automated GUI testing with Protractor
Daniel Marjenburgh presented Visual Review – tool to check visual changes between different project builds (btw name is terrible extremely difficult to google it :). The tool works together with protractor (thanks to special plugin VisualReview-protractor) that makes it really tasty. The base idea is quite simple: to make and compare screenshots. In protractor scenario code it looks simply like:
@Daniel, I liked the idea. Only one question is still open for me: how could I make it work with remote browsers (for example Browserstack service)?
@Ofir, I wish I met you 2 years ago when I started my “trial and error method” with TDD.
Inside The Angular Directive Compiler (video)
I even could not imaging that this lecture about Directive Compiler would be so interesting for me. Step by step together with Tero Parviainen we recreated functionality of $compileProvider.$compile method. It consists of 4 steps:
- compile (parse html template for directives)
- link (link them to the scope)
- inheritance (create new scope if needed and operate with it)
- isolation (not provide the scope by itself but do attribute binding)
@Tero, you pushed me to look into source code more often :) And of course thank you for the book!
Domain Model Objects in AngularJS (video)
@Gert, if you have some code to share – please show it, I really would like to have a look.
How I made a mess of my Angular application (slides, video)
Very funny speech by Dave Smith about past Angular mistakes and ruler punishment. I just provide the list of mentioned mistakes and solution(in brackets) for them:
- scope abuse ( do not create scope everywhere)
- global controller functions ( use another syntax )
- shadow scope ( use “controllers as ” or nested model)
- $watch abuse ( use ng-change, events, flux pattern)
- ng-include ( just don’t use ng-include)
- pass scope like param to services ( never do so)
- home grown build tools ( many existing proven tools)
btw, it was a suggestion to put own Angular mistakes on twitter with tag #ngoops (not much for now)
@Dave, mine were(except several from your list):
- bad file structure
- everything in controller (DOM manipulations and business logic)
- used jQuery a lot instead native directives
Modern authentication solutions (slides, video)
Manfred Steyer told us a lot about OAuth 2.0 and OpenID and not much about AngularJS implementation. And it would be also interesting to hear about some existing solutions for Angular and compare them.
@Manfred, 45 min definitely not enough for OAuth specific. I guess audience divided into 2 parts: who worked with OAuth before – for them it was boring, and who did not know this protocol – they still don’t know it.
I don’t know why, but we skipped this.
But still I had quite interesting talk with Christoph Burgdorf. Christoph, thank you for advise about detecting language for authorised user.
Closing Keynote (video)
I’m glad to be with Carmen Popoviciu in one community.
@organisers, @speakers, thank you very much for such a great event!