Imagine a bacon-wrapped Ferrari. Still not better than our free technical reports.
See all our reports

ZTLive Webinar: Functional programming in Java 8

ZTLive webinar Java 8 header

A ZTLive Webinar: Functional programming in Java 8

This webinar is sponsored by ZeroTurnaround and is scheduled for June 29th at 10am PDT / 1pm EDT / 6pm BST / 2am JST.

Read more

Getting started with Retrofit 2

Today, I’ll look at using the Retrofit 2 HTTP client to see how complicated vs how beneficial it is for my application. Retrofit is one of the amazing tools that Square Inc. has released into the open source community. It’s a type-safe HTTP client, both for Android and Java applications.

The main premise behind type-safe HTTP clients is that you only need to worry about the semantics of the queries that you send over the network, rather than the details of how to construct URLs, specify parameters correctly and so forth. Retrofit makes this really easy by requiring you to write just a couple of interfaces, and that’s it!

Let’s see how it works on an example. The repository which I’ve added all my code to is available on Github, and as always, the best way to learn is to check it out and tinker with it yourself.

Read more

Developer Productivity Report 2016: Java Tools and Technologies sneak peek

Summer is coming. You know what that means for you, dear RebelLabs reader. We’re about to publish the results of our annual survey. It’s the one where we ask Java developers to tell us which technologies are they using, what tools they spend most of their time tinkering with, and which frameworks make their lives easier. This information gives us incredible insight into the community and allows us to pick more relevant topics for upcoming blog posts.

Back in February this year, we launched the survey and asked everyone we knew of in the Java community to contribute to the data by answering the questions. We also asked them to share it with their colleagues, peers, friends and anyone else in the community. We also promised to support Devoxx for Kids with a $1000 contribution if we received 2000 responses.

Read more

XRebel 3.1 Released: Featuring Eclipse plugin.

For better user convenience, XRebel is now available as an Eclipse plugin. You can install the plugin via the Eclipse Marketplace client. The XRebel agent will then be enabled for the configured WTP servers in your workspace.

Read more

JRebel for Android and Instant Run: Hot Swaps, Warm Swaps, Cold Swaps, all the Swaps!

Hi, Sten the Product Manager from JRebel for Android here. People keep asking me about the differences between JRebel for Android and Google’s own Instant Run. Since Android Studio 2.0 has finally been released, this is a good time to compare the two.

Back in November of 2015, Google announced Android Studio 2.0. Complete with a totally new feature titled “Instant Run”. Delivering faster build times to Android developers by supporting hot swapping code and resources in an already running application. The idea itself is nothing that new — it has been present in Java for over a decade. JRebel, the Java code reloading tool for Java SE/EE, has been enhancing developers’ lives for the past 8 years. This leads us to JRebel for Android. A tool that is approximately 1.5 years old, bringing the same technology to Android developers.

Today, I will provide an overview of how Google’s Instant Run and JRebel for Android handle code and resource changes. Side by side.

Read more

7 best Android libraries developers should know about

Android & Java both have quite similar APIs. Naturally, the benefit of Android & Java’s APIs being similar is that it makes it possible to develop frameworks and libraries that work on both platforms. This blogpost takes a look at seven Android libraries which Java developers should at least know about. Also, it’s a good post for Android developers to be aware of too, just in case there are some libraries you may not be aware of.

Read more

If and when you should use Test-Driven Development

Have you ever argued about the efficiency of test-driven development in your day job? I certainly have, and on both sides of the argument. I have worked in the software development sector for 9 years as a developer and an architect on seven different projects ranging from mobile apps to a custom made telecom self services. I’m fed up of the pointless arguments – the ones based on solo experiences and anecdotal evidence. In this article I try to remedy this situation and clarify TDD in an objective way. Arguments should be based on a common understanding of what TDD is and your current project situation at hand: people involved, technology, goal, deadline, etc.

Read more

Java Collections Cheat Sheet

Java Collections cheat sheet

Every Java program tends to have one thing in common. They’ll all use Java collections! They’re so fundamental, we could not even avoid thinking to omit them from out RebelLabs cheat sheet collection. This is a tough challenge, since there’s so much you need to know about the collections framework, the implementation details, correct use cases, how to choose the right collection type, what can they do and when to turn to the third party libraries as opposed to using the built in collections in the JDK.

Anyway, no topic as broad as Java collections framework can be fully explained in a single A4 page, but we’ve tried to incorporate the most essential information you will need to reference again and again. The corresponding explanations and details behind the decisions are right here, in this blogpost.

Read more

“Microservices for the Enterprise” — a webinar by ZeroTurnaround

NB! Our ZTLive webinar Microservices For The Enterprise was completed on April 19th. Read on for the topics covered in the webinar, and some background on our speakers. To watch the online recording of the webinar, just click on the REGISTER button below.

Read more

Preparing an environment with Docker Compose

I’m the product owner of XRebel — the profiler for Java web applications that developers can use while they’re actually developing their applications. Recently I had to prepare a demo environment that I could easily share with my team mates. If the demo would have consisted of just a web app, without external dependencies, it would have been easy to share with the team: I’d just throw a WAR up on Dropbox and everybody would be free to do whatever they wanted to do with it. However in my scenario, I had an external dependency on MongoDB which made my demo a little less portable.

Naturally, I thought that Docker might be a good solution for this. The prerequisite though, is that my team members would have to install the Docker Toolbox in order to use the environment. But this is a wise thing to do anyway, isn’t it? Docker is an established container management system, with tons of resources available to learn the basics. We even recently published a Docker commands and best practices cheat sheet from which you can learn everything you need to navigate your way around Docker containers.

Let me sketch this out for you. The application is Petclinic – a web application, with a UI, that uses an embedded H2 database. In some scenarios, Petclinic talks to the Supplements application over HTTP. Supplements uses MongoDB to fetch data as JSON back to the Petclinic app, if requested.

Read more