SPA with Spring Boot

January 17, 2018 by Vinicius Isola

Single page applications are becoming more and more common these days. If you work with Spring Boot and want to build your frontend using this architecture, you have two options: build the frontend on a separate repository and serve it using some HTTP server or serve your files from your Java application. This post explains the basic configuration needed so that you can manage routing on the frontend and still serve your static files from your Java/Spring application.

npm, packages and modules

April 1, 2017 by Vinicius Isola

Node.js is a powerful Javascript runtime that can be used to build general purpose applications. npm extends Node.js capabilities with packages built by 3rd parties. These packages provide a variety of functionalities that you might need when building your application. Let’s learn a little bit more about npm is and how it can help us. -- packages and modules Before diving into npm lets first understand what are packages and modules.

What is node.js

January 15, 2017 by Vinicius Isola

Node.js is a runtime environment that can be used to build applications using the Javascript language outside the browser. It runs on top of the V8 engine, which is the engine that runs inside the Chromium and Chrome browsers. Let’s learn more details about what all of this means. Piece by Piece V8 is an engine that interpret Javascript code. That means that you give it some Javascript text and it will execute it.

RequireJS and Backbone on a Single Page Application - Part 2

November 4, 2015 by Vinicius Isola

A Backbone app has three main pieces: routes, models/collections and views. In this part of the two posts I’m going to explain how to setup and use Backbone in a single page application while separating your code in a way that it will be simple to maintain and add new features. The first part of this tutorial lives here. The code for this post lives in my Blog’s GitHub repository under require-js-backbone.

RequireJS and Backbone on a Single Page Application - Part 1

November 4, 2015 by Vinicius Isola

Building single page applications isn’t easy. As the app grows and gets more complex your Javascript code gets harder to maintain and duplicate logic start spreading all over the place. Breaking your code in well defined and self contained small modules help to keep the complexity low and organize the logic in an encapsulated and predictable way. But to do that it means that you now need some kind of dependency management system in place.

Testing a web application with Gretty, Cucumber and Selenium

September 3, 2014 by Vinicius Isola

The code used in this post is a complete web application built with Spring WebMVC, Spring Data and Spring Security. It contains a lot more than what is explained here and I hope to come back to it in later posts. The code can be found in my Github repository. For this post I’ll be focusing on how you can test a web application using Cucumber and Selenium. I’ll be using the Gretty plugin to start a web container during the build.

Building with Gradle

May 18, 2014 by Vinicius Isola

Gradle is a build system that was build from the lessons learned from Ant and Maven. Similarly with Ant, where you have a XML namespace to write build scripts, Gradle is a DSL on top of Groovy that helps you write build scripts. But it goes further with many plugins and conventions (like Maven) that make it possible to get a build up and running with just a few lines of Groovy.

Building with Ant

March 22, 2014 by Vinicius Isola

Ant has been around for a while now (first released in 2000) and it can be compared with a scripting language written in XML. XML tags are translated to Java objects and executed calling methods in the objects created. The following image illustrates the relationship between the XML and the Java objects: A project built with Ant begins with a build.xml file where you describe all targets. A target is a set of tasks and can depend on other targets.

Build tools for Java

December 17, 2013 by Vinicius Isola

More than a year ago I wrote a post about how I started to use Maven to build my Java applications and how much I loved it! Things changed a lot since then and I, like many others, am moving my projects to Gradle. In this post - and a few more to come - I’ll be talking about build tools for Java and make some comparisons and explain why I moved to Gradle.

DAO, Repository and Service, digging deeper

November 12, 2012 by Vinicius Isola

The first time I heard the term service layer I was intrigued by it because I always used a Data Access Object to access my data. I thought it was just a new way to refer to the same thing. Of course I was wrong. A couple of years later I started to use Spring Data and again I was confronted with the Repository a different name for the same thing, at least that was what I thought, and again, I was wrong.