Do you want your ad here?

Contact us to get your ad seen by thousands of users every day!

[email protected]

Book Review: “Java Basics: A Practical Introduction to Full Stack Java”

  • September 16, 2023
  • 3459 Unique Views
  • 3 min read

Shai Almog's "Java Basics: A Practical Introduction to Full Stack Java" more than lives up to its title. And how could it be otherwise, with its highly Java driven and opinionated author having a track record going back to leading Java mobile efforts all the way back to Sun Microsystems.

Thoroughness and Ambition

The thoroughness and ambition of the book is clear from its table of contents, each chapter well laid out, in short very readable chapters, each ending with a summary and a quiz.

  • Chapter 1: "Hello World"
  • Chapter 2: "Variables, Fields, and Methods"
  • Chapter 3: "Arguments, Conditional Statements, and Arrays"
  • Chapter 4: "Loops"
  • Chapter 5: "Create a Wordle Game"
  • Chapter 6: "Input, Output, and Exceptions"
  • Chapter 7: "Persisting Application State in Java"
  • Chapter 8: "Maven, Objects, Encapsulation, and Records"
  • Chapter 9: "Parsing and Saving JSON with Moshi"
  • Chapter 10: "Hello Spring Boot"
  • Chapter 11: "Spring Boot Wordle REST Service"
  • Chapter 12: "Spring MVC, Web UI with Thymeleaf"
  • Chapter 13: "Refactoring and the Importance of Layered Architecture"
  • Chapter 14: "Wordle Web App with Thymeleaf and Spring MVC"
  • Chapter 15: "Understanding Spring Session Scope"
  • Chapter 16: "JavaScript and Client-Side Interactivity"
  • Chapter 17: "Single Page Applications (SPA)"
  • Chapter 18: "Databases and Testing"
  • Chapter 19: "User Identity"
  • Chapter 20: "Object Oriented Programming" (OOP)
  • Chapter 21: "Java Persistence API (JPA) and Spring Data"
  • Chapter 22: "Security Vulnerability and Exploits"
  • Chapter 23: "Threading and Concurrency"

Pragmatic and Helpful

The book is very clearly, and more than anything else, a very pragmatic workbook. It marries theory and practical application extremely well, and has barcodes throughout pointing to supporting video content on YouTube.

In between the numerous tutorial-like step-by-step instructions, you'll learn about a lot of context particular to Java and typical points of confusion to newbies, i.e., Shai understands what the newbie is likely to be confused about and helpfully explains all of these aspects common to the Java language:

  • What is a Loop
  • Naming Conventions in Java
  • Equality in Java
  • Escape Sequences in Java
  • IOExceptions in Java
  • Understanding Packages
  • Understanding 'this' in Java
  • Understanding the 'final' Keyword in Java
  • Framework vs. Library
  • Status Codes and Mime Types
  • Exceptions and the Stack
  • DRY and Layered Architecture
  • Inversion of Control and Dependency Injection
  • Character Encoding
  • What is State?
  • Cookies
  • JavaScript vs. Java
  • Progressive Web Apps
  • Databases and the ACID principle
  • What is polymorphism
  • Object Oriented Programming
  • JPA and Spring Data

Throughout, a focused subset of the many available modern Java libraries and technologies are used and it's wonderful how they're all interwoven and their relevance is shown in combination with each other:

  • Maven
  • Jackson, Gson, and Moshi
  • Spring Boot (and many other related Spring solutions)
  • REST
  • Thymeleaf

A True Treasure Chest of Wisdom

This is a true treasure chest of wisdom and, though one could quibble over why the frontend isn't JavaFX on mobile, the approach taken is a common one and prepares the reader well for the real world.

It is also interesting and pragmatic how OOP is introduced near the end of the book, when the reader/user of the book has already built up a lot of generic context and understanding of the related libraries and ecosystem. Again, a pragmatic approach wherein the author goes into a lot of OOP details, but at an opinionated stage in the book's journey. Slightly less pragmatic is not having the quiz answers at the back of the book (instead of right after the quiz questions), as well as the absence of an index to refer to.

Coming in at 400 pages (not much for the breadth of its scope, the book is compact and concise throughout), this is an amazingly rich guide and a very thorough and pragmatic hands-on tour of the wealth of insights and technologies that make up the wonderful world of Java.

I doubt there are many books out there with this level of ambition and completeness, while also being thoroughly modern and up to date with the latest developments in Java.

Get it here, quick: Java Basics: A Practical Introduction to Full Stack Java

Book Review: “API Design Patterns”

This review is about API Design Patterns by JJ Geewax from Manning. Check it out and if you’ve read it too, what did you think?

Book Review: “Designing APIs with Swagger and OpenAPI”

This review is about Designing APIs with Swagger and OpenAPI by Joshua S. Ponelat and Lukas L. Rosenstock from Manning.

Book Review: “Effortless Cloud-Native App Development Using Skaffold”

There is no better time than the present for a book such as this, which can surely be seen to be some kind of Skaffold Bible.

The author provides a complete and thorough overview of the central issues faced by users of Kubernetes, presents Skaffold as a solution, highlights its features and pitfalls, while placing it within the context of the broader ecosystem of comparable solutions.

Book Review: “Help Your Boss Help You”

Some books were written to be read once and put aside, others to be read thoroughly several times and then to be placed behind glass to be broken in case of emergency.

This book is of the latter kind—once you’ve read through it a few times, and dipped into the areas that speak to you most, you want to have it nearby both as a PDF and in hard copy format—as a backup just in case you can’t find that PDF at the crucial moment when you really need to have a response at hand in times of crisis.

Book Review: “Java by Comparison”

The book “Java by Comparison” by Simon Harrer, Jörg Lenhard, and Linus Dietz, promises the reader to become a “Java Craftsman” through the study of 70 examples.

The book is published by The Pragmatic Bookshelf.

Each “example” is structured as a before-and-after comparison.

Do you want your ad here?

Contact us to get your ad seen by thousands of users every day!

[email protected]

Comments (0)

Highlight your code snippets using [code lang="language name"] shortcode. Just insert your code between opening and closing tag: [code lang="java"] code [/code]. Or specify another language.

No comments yet. Be the first.

Subscribe to foojay updates:

https://foojay.io/feed/
Copied to the clipboard