The Agony of Choice
There was one highlight definitely worth mentioning the after party on Tuesday, featuring the “SoleException” band, including free beer and snacks for everyone.
You could say that everything was perfectly planned with one exception: WiFi internet access. The internet connection didn’t work at all for the first two days. Quite funny for a web focused conference, but we managed to help us with some USB-Sticks and 4G networks.
First Workshop: Cross Platform – Mobile Apps and Desktop Applications
You can have one backend for all the applications and one code base for the frontend. Christian Weyer from Thinktecture presented this topic and told us about a world of possibilities to develop apps for desktop and mobile, with only one code base for all devices.
The workshop showed us a good overview what is possible with hybrid apps, a really good solution for cross-platform developing. The development takes much shorter than developing native applications. The presenter showed us how to move an existing AngularJS app to a mobile device with cordova and on a computer with NW.js. The presentation was really interesting and exhilarating for the viewers, I visited it because the cross platform topic is becoming more and more important, hybrid apps save you a lot of time and money.
Looking into the Future with ECMAScript 6
Although many browsers (with an exception of Edge) do not support the new standard natively, it is already possible to use it today with transpilers. A transpiler automatically rewrites unsupported code and replaces missing features with so called polyfills. CoffeeScript, popular among Ruby developers, works pretty much the same way. Our hosts Sebastian Springer and Jakob Westhoff did show us some practical examples using Babel.
Some of the most interesting new features are classes, modules, arrow functions, block bindings and string interpolation. Just to name a few. Microsoft and Google pushed TypeScript language as a superset of ES6. It extends the new standard with features like static types, generics and interfaces. Also Angular 2 will use TypeScript as main programming language.
Those who want to get started with ES6 should have a look at es6-features.org and Babel.
This new standard is awesome, completely backwards compatible and the available transpilers offer are fast and reliable bridge, so there is no reason not to start programming with ES6 today.
AngularJS Testing – Unit Tests and E2E Tests
This presentation was prepared by Philipp Tarasiewicz(@), a German freelancer with customers in the entire Europe. He showed us how to write tests in an AngularJS application.
Philipp created some unit tests with Jasmine and Karma. Jasmine is a framework for writing tests in AngularJS apps and Karma is used to run the tests.
He set up the complete test framework and showed us how to write controllers, directives and filter tests. In the afternoon he also presented how to create E2E tests with Protractor and set up the test environment also with Karma.
He talked about positive and negative aspects of testing with Protractor. Protractor is really good to write user based tests but it’s also very slow to run the tests. I participated in this workshop because testing is an important process while doing software development. Currently i am writing tests in Rspec and Capybara but I also want to write AngularJS based tests.
SASS – Modular CSS – Write Nice Stylesheets
In this course, Jens Grochtdreis(@) present how to write nice and modular stylesheet with SASS. He showed us how we should construct the css with classes and nested elements, how to name classes and when we should ids. He also presented some workflows for designing elements and reuse of old css. Jens is the founder of the http://webkrauts.de/ site. I’ve been to his workshop to learn more about CSS and SASS and make my css more modular and structured. He recommended to use a style guide or if none exists, to create one and also for personal snippets to use in new projects. Jens showed us a lot of solution to save time and make the code more structured.
Ionic Services – Do More Write Less
Ionic offers a complete service making it very easy to create push notifications or testing your app on an iOS device without any paid Apple developer account. They also offer solutions for deploying your app and a solution similar to Google Analytics for mobile applications. With Ionic services it’s very easy to interact with native functionality with only one code base for all devices like iOS and Android. This course was presented by Aaron Czichon (@) the founder of German site http://ionicframework.de/. The workshop was really interesting to get an overview what is possible with the new Ionic services which are currently in the beta phase. I visited this course because of many native things you need to do different steps for Android or iOS. But with those services you only need to do one thing for both systems and call only one API.
Getting Started with Angular 2
What? Angular 2 is already out? Well, only in an almost daily changing alpha state.
Although Angular 2 can be used with ES5, ES6 or Dart, the prefered language for it is TypeScript by Microsoft. Angular 2 was initially written in AtScript, but Google admitted that Microsoft had the better approach and abandoned their own language in favour of TypeScript.
The guys at Thoughtram ( @ ) showed us how it feels to program with Angular 2 and TypeScript by example with a basic contacts app. After we got a crash course in ES6 and TypeScript, we started right away to build our very own components in Angular 2.
Overall I can say Angular 2 is still in a way too early state to work with (October 2015). Even the most basic components are still changing on a regular basis. But if you still want to take a glimpse, you can checkout the official website and Thoughtram’s blog for more details. Nevertheless, you definitely should get familiar with TypeScript/ES6 or you will get problems understanding some of the new concepts in Angular 2.
On Monday and Tuesday evening there were some Lightning speeches about a lot of different topics. For example some funny presentations “stopping smoking” and “healthy food”. Also some talks about technical stuff. Some nice and small helpers like prototyping tools and some developing tools for faster and more efficient programming.
I have learned a lot and got a lot of experience and suggestions for my future work. The speakers were professionals who know a lot about their fields. Everyone who had the chance to go there should have done it. here is free beer after all ;).