Posts

Showing posts from December, 2019

Spring REST TypeScript Generator

I have been a backend developer for a few months without writing a single line of code on the client-side, but with the dawn of single-page applications, my cooperation with web developers got closer. I started to observe their work with interest. There are so many exciting possibilities on the frontend side. It made me consider to build up my technology stack and become a full stack developer. I noticed that web developers create TypeScript models and services that reflect our backend model and  REST services . It was a tedious job. What is more, after they finally mirrored what we had on the backend, it wasn't the end. Because we always have to keep in mind one thing that is very common in software development... CHANGE. Due to some new business requirements, backend services were modified. The change forced frontend developers to reanalyze backend services and refactor frontend applications so that they would match the server-side. After some time, I have started my adventure wi

Spring Boot + Groovy: From Zero to Hero

Image
What is Groovy? According to it's official page: Apache Groovy is a powerful, optionally typed and dynamic language, with static-typing and static compilation capabilities, for the Java platform aimed at improving developer productivity thanks to a concise, familiar and easy to learn syntax. It integrates smoothly with any Java program, and immediately delivers to your application powerful features, including scripting capabilities, Domain-Specific Language authoring, runtime and compile-time meta-programming and functional programming. In other words, you can do better stuff, write less code and get some cool features that Java cannot. What will be our example? This time we will create a Pokemon API!! Let's catch'em all Our API must: Get the information of all trainers Get the information of a specific trainer Get all caught pokemon of a specific trainer What will be using to solve that? Java 8 Gradle Spring Boot Groovy MySQL Flyway DB What do I need to install? Java 8 or

GraphQL: The Future of APIs

When discussing API design, REST or Representational State Transfer is what comes to mind first. It is a standard tool used for data retrieval from the server that accesses data by URLs. Client applications whilst progressing into the new millennium was relatively simple. That is when REST had been developed and it became a good fit for many applications in due course of time. It was revolutionary for its time as it brought forward vital API design concepts to the forefront like stateless servers and structured access to resources. With design getting more complex and increasingly data-driven, these were the following key assessments: Efficient data loading was needed as depending on mobile usage rose manifold REST was limited in terms of developing an API that was able to cater to a variety of client requirements There was an expectation for a swifter feature development Solving the Shortcomings of REST IBM, Twitter, Walmart Labs, The New York Times, Intuit, Coursera were some of the