JOIN 2015 from a developer’s perspective

Last week the Oracle/Java unit held its yearly JOIN Event. The purpose of this event is to share knowledge between colleagues and fellow Java- and JavaScript enthousiasts. A total of 83 attendees visited Ordina Belgium’s headquarters in Mechelen to pack their heads with interesting technology facts.

  • Ken Coenen
  • September 15, 2015

We started off with a couple of Ordina consultants, each giving a lightning talk (a 20 mins. talk) about a hot topic. Amongst others, there were talks about Docker, Polymer, IoT, microservices and Meteor. Afterwards everyone had the chance to attend three keynote talks from international professionals in the Java- and JavaScript world.

The past, present and future of ECMAScript

  Tom Van Cutsem told us about the past and the future of JavaScript and how the ECMAScript standard was born. Tom is a member of the TC39 board, a group of technical people who decide which feature is in or out. There's no political game going on in this group, which is a good thing. JavaScript was invented in 1995 by Brendan Eich, who worked at Netscape at that time, and quickly standardized as ECMAScript 1st edition in 1997. ECMAScript 5 was released in 2009 and is well supported by all major browsers, as the following compatibility table illustrates: http://kangax.github.io/compat-table/es5/. By introducing strict mode, which makes you as a developer use a more safer and sturdier JavaScript version, the guys at TC39 guaranteed the expansion of ECMAScript 6.

This summer a brand new version was released: they did not call it ECMAScript 6 this time, but rather ECMAScript 2015 because they changed their release model to yearly releases. Features that aren't ready for the release, will be skipped and released a year later. Tom then shortly introduced a subset of the new features available in ECMAScript 2015: Arrow functions are a shorter way to declare anonymous functions, a bit comparable to Java 8's Lambdas. Second he explained probably the most important feature... classes! Actually it's just about syntax, because they will be treated like regular functions by the engine. Most notable control flow features were promises and iterators. On the website mentioned before to check ECMAScript 5 compatibility, you can also switch to ECMAScript 2015 and see that browser compatibility is still poor. However, Tom also recommended that you can already use ECMAScript 2015 in your application by using compiling tools like Babel or TypeScript. These tools compile your ECMAScript 2015 code into ECMAScript 5. He also briefly mentioned Nashorn, the new Javacript engine developed by Oracle, released with Java 8.

You can have a look at Tom's presentation on http://t.co/Phwpx3Ig13.

Boo(s)t your app development


  Stéphane Nicoll enlightened us with a Spring Boot talk. He ex​actly had one slide, but blew us away with a full-packed demo of what Spring Boot's auto-initialization features can mean for your project. Starting point is https://start.spring.io/, were you can kickstart a Spring project by checking and unchecking technologies. It's as simple as that. When you're working with IntelliJ, you can even do it inside your IDE with a wizard. Both result in the same project however.

After creating a simple @RestController with a @RequestMapping and a "Hello world", ​he added the JPA dependency, created an @Entity and a Spring Data repository. Now we only have to add a database to the project. Just by adding the H2 dependency in the pom.xml file, Spring Boot creates a database for you and attaches the created Repository classes to that database instance. It is able to do this by scanning for DataSource classes on the classpath.

Actuator endpoints allow you to monitor and interact with your application. Spring Boot includes a number of built-in endpoints. For example, Spring Boot can automatically create a health status endpoint where you can check the health of your database, JMS queue or any other component that is registered with the Spring Boot system. You can even write your own.

He also deployed the application to Cloud Foundry , Pivotal's cloud platform. He demonstrated the possibility to remotely install another database on that server and bind this database instance to the application. Then he even demonstrated hot code replacement in the cloud... That's really amazing!

We can conclude that Spring Boot makes Java development as it should be. By following the convention-over-configuration approach, we can achieve very much in very little time.

A sneak peek at the new Angular 2.0


Finally, Pascal Precht from Thoughtram   gave some insights on Angular 2. Attention! You shouldn't say AngularJS 2, but simply Angular 2. Pascal gave us a quick tour of Angular 2's new syntax for property- and event binding. You will need to use square brackets around HTML attribute names for property binding and parenthesis for event binding, which looks a bit weird at first. You can read more about Angular 2's syntax in his blog post http://blog.thoughtram.io/angular/2015/08/11/angular-2-template-syntax-demystified-part-1.html    ​.
Angular 2 will also support Web Components    , a new standard in developing custom components for web applications. 

On the question whether Polymer and Angular 2 weren't tackling the same problems, Pascal replied that Polymer focusses more on Web Components whilst Angular 2 claims to be an end-to-end framework to build applications.

Actually, at first the syntax seems frightening, but after hearing the reasoning behind it, it seems to me that the only difference is that Angular will embrace the standard DOM element properties instead of keeping their own in sync like in the previous version... And that's why you could say that we don't have two-way databinding anymore in Angular 2. Interesting things, but we'll have to wait until 2016 to see the final syntax, because everything we saw... can already be different as we speak.​

On the question when Angular 2 would be production ready, he opened up his browser and opened http://splintercode.github.io/is-angular-2-ready/. That tells enough. Pascal's feeling is that a beta version will be released Q1 2016, but this was a non-official statement.

About this author:

Ken Coenen

Ken Coenen is a Principal Java Consultant at Ordina, passionate about all Java- and JavaScript related technologies. Aside from his day-to-day occupation as a consultant, he helps fellow developers as a Competence Leader for Architecture and Best Practices by giving workshops, talks and courses about the newest technologies.